diff --git a/src/ifcparse/schemas/Header_section_schema.cpp b/src/ifcparse/schemas/Header_section_schema.cpp index a5d5acb505..24e6fb9d1b 100644 --- a/src/ifcparse/schemas/Header_section_schema.cpp +++ b/src/ifcparse/schemas/Header_section_schema.cpp @@ -17,12 +17,12 @@ extern declaration* HEADER_SECTION_SCHEMA_types[5]; // Function implementations for schema_name const ifcopenshell::type_declaration& Header_section_schema::schema_name::Class() { return *((ifcopenshell::type_declaration*)HEADER_SECTION_SCHEMA_types[3]); } -void Header_section_schema::schema_name::initialize(std::string v) { set_attribute_value(0, (v)); } +Header_section_schema::schema_name Header_section_schema::schema_name::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Header_section_schema::schema_name::operator std::string() const { return get_attribute_value(0); } // Function implementations for time_stamp_text const ifcopenshell::type_declaration& Header_section_schema::time_stamp_text::Class() { return *((ifcopenshell::type_declaration*)HEADER_SECTION_SCHEMA_types[4]); } -void Header_section_schema::time_stamp_text::initialize(std::string v) { set_attribute_value(0, (v)); } +Header_section_schema::time_stamp_text Header_section_schema::time_stamp_text::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Header_section_schema::time_stamp_text::operator std::string() const { return get_attribute_value(0); } @@ -34,7 +34,7 @@ void Header_section_schema::file_description::setimplementation_level(const std: const ifcopenshell::entity& Header_section_schema::file_description::Class() { return *((ifcopenshell::entity*)HEADER_SECTION_SCHEMA_types[0]); } -void Header_section_schema::file_description::initialize(std::vector< std::string > /*[1:?]*/ v1_description, std::string v2_implementation_level) { set_attribute_value(0, (v1_description));set_attribute_value(1, (v2_implementation_level)); } +Header_section_schema::file_description Header_section_schema::file_description::initialize(std::vector< std::string > /*[1:?]*/ v1_description, std::string v2_implementation_level) { set_attribute_value(0, (v1_description));set_attribute_value(1, (v2_implementation_level));; return *this; } // Function implementations for file_name std::string Header_section_schema::file_name::name() const { std::string v = get_attribute_value(0); return v; } @@ -54,7 +54,7 @@ void Header_section_schema::file_name::setauthorization(const std::string& v) { const ifcopenshell::entity& Header_section_schema::file_name::Class() { return *((ifcopenshell::entity*)HEADER_SECTION_SCHEMA_types[1]); } -void Header_section_schema::file_name::initialize(std::string v1_name, std::string v2_time_stamp, std::vector< std::string > /*[1:?]*/ v3_author, std::vector< std::string > /*[1:?]*/ v4_organization, std::string v5_preprocessor_version, std::string v6_originating_system, std::string v7_authorization) { set_attribute_value(0, (v1_name));set_attribute_value(1, (v2_time_stamp));set_attribute_value(2, (v3_author));set_attribute_value(3, (v4_organization));set_attribute_value(4, (v5_preprocessor_version));set_attribute_value(5, (v6_originating_system));set_attribute_value(6, (v7_authorization)); } +Header_section_schema::file_name Header_section_schema::file_name::initialize(std::string v1_name, std::string v2_time_stamp, std::vector< std::string > /*[1:?]*/ v3_author, std::vector< std::string > /*[1:?]*/ v4_organization, std::string v5_preprocessor_version, std::string v6_originating_system, std::string v7_authorization) { set_attribute_value(0, (v1_name));set_attribute_value(1, (v2_time_stamp));set_attribute_value(2, (v3_author));set_attribute_value(3, (v4_organization));set_attribute_value(4, (v5_preprocessor_version));set_attribute_value(5, (v6_originating_system));set_attribute_value(6, (v7_authorization));; return *this; } // Function implementations for file_schema std::vector< std::string > /*[1:?]*/ Header_section_schema::file_schema::schema_identifiers() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(0); return v; } @@ -62,5 +62,5 @@ void Header_section_schema::file_schema::setschema_identifiers(const std::vector const ifcopenshell::entity& Header_section_schema::file_schema::Class() { return *((ifcopenshell::entity*)HEADER_SECTION_SCHEMA_types[2]); } -void Header_section_schema::file_schema::initialize(std::vector< std::string > /*[1:?]*/ v1_schema_identifiers) { set_attribute_value(0, (v1_schema_identifiers)); } +Header_section_schema::file_schema Header_section_schema::file_schema::initialize(std::vector< std::string > /*[1:?]*/ v1_schema_identifiers) { set_attribute_value(0, (v1_schema_identifiers));; return *this; } diff --git a/src/ifcparse/schemas/Header_section_schema.h b/src/ifcparse/schemas/Header_section_schema.h index dbfcc85667..10b58ff57e 100644 --- a/src/ifcparse/schemas/Header_section_schema.h +++ b/src/ifcparse/schemas/Header_section_schema.h @@ -32,21 +32,19 @@ class file_description; class file_name; class file_schema; class schema_name; c class IFC_PARSE_API schema_name : public express::DeclaredType { public: - schema_name() {} - explicit schema_name (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + schema_name initialize(std::string v); operator std::string() const; }; class IFC_PARSE_API time_stamp_text : public express::DeclaredType { public: - time_stamp_text() {} - explicit time_stamp_text (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + time_stamp_text initialize(std::string v); operator std::string() const; }; @@ -54,8 +52,7 @@ public: class IFC_PARSE_API file_description : public express::Entity { public: - file_description() {} - explicit file_description (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< std::string > /*[1:?]*/ description() const; void setdescription(const std::vector< std::string > /*[1:?]*/& v); @@ -63,13 +60,12 @@ public: void setimplementation_level(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::string > /*[1:?]*/ v1_description, std::string v2_implementation_level); + file_description initialize(std::vector< std::string > /*[1:?]*/ v1_description, std::string v2_implementation_level); }; class IFC_PARSE_API file_name : public express::Entity { public: - file_name() {} - explicit file_name (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::string name() const; void setname(const std::string& v); @@ -87,19 +83,18 @@ public: void setauthorization(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_name, std::string v2_time_stamp, std::vector< std::string > /*[1:?]*/ v3_author, std::vector< std::string > /*[1:?]*/ v4_organization, std::string v5_preprocessor_version, std::string v6_originating_system, std::string v7_authorization); + file_name initialize(std::string v1_name, std::string v2_time_stamp, std::vector< std::string > /*[1:?]*/ v3_author, std::vector< std::string > /*[1:?]*/ v4_organization, std::string v5_preprocessor_version, std::string v6_originating_system, std::string v7_authorization); }; class IFC_PARSE_API file_schema : public express::Entity { public: - file_schema() {} - explicit file_schema (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< std::string > /*[1:?]*/ schema_identifiers() const; void setschema_identifiers(const std::vector< std::string > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::string > /*[1:?]*/ v1_schema_identifiers); + file_schema initialize(std::vector< std::string > /*[1:?]*/ v1_schema_identifiers); }; }; diff --git a/src/ifcparse/schemas/Ifc2x3.cpp b/src/ifcparse/schemas/Ifc2x3.cpp index cc4250e70b..1c1d34e3ed 100644 --- a/src/ifcparse/schemas/Ifc2x3.cpp +++ b/src/ifcparse/schemas/Ifc2x3.cpp @@ -4890,587 +4890,587 @@ const ifcopenshell::select_type& Ifc2x3::IfcVectorOrDirection::Class() { return // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[1]); } -void Ifc2x3::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcAbsorbedDoseMeasure Ifc2x3::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[2]); } -void Ifc2x3::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcAccelerationMeasure Ifc2x3::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[22]); } -void Ifc2x3::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcAmountOfSubstanceMeasure Ifc2x3::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[26]); } -void Ifc2x3::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcAngularVelocityMeasure Ifc2x3::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[47]); } -void Ifc2x3::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcAreaMeasure Ifc2x3::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc2x3::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[65]); } -void Ifc2x3::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcBoolean Ifc2x3::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc2x3::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[78]); } -void Ifc2x3::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcBoxAlignment Ifc2x3::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc2x3::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[130]); } -void Ifc2x3::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcComplexNumber Ifc2x3::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[135]); } -void Ifc2x3::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcCompoundPlaneAngleMeasure Ifc2x3::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[161]); } -void Ifc2x3::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcContextDependentMeasure Ifc2x3::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[176]); } -void Ifc2x3::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcCountMeasure Ifc2x3::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[192]); } -void Ifc2x3::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcCurvatureMeasure Ifc2x3::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc2x3::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[207]); } -void Ifc2x3::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcDayInMonthNumber Ifc2x3::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDaylightSavingHour const ifcopenshell::type_declaration& Ifc2x3::IfcDaylightSavingHour::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[208]); } -void Ifc2x3::IfcDaylightSavingHour::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcDaylightSavingHour Ifc2x3::IfcDaylightSavingHour::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcDaylightSavingHour::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[216]); } -void Ifc2x3::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcDescriptiveMeasure Ifc2x3::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc2x3::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[220]); } -void Ifc2x3::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcDimensionCount Ifc2x3::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[255]); } -void Ifc2x3::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcDoseEquivalentMeasure Ifc2x3::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[268]); } -void Ifc2x3::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcDynamicViscosityMeasure Ifc2x3::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[278]); } -void Ifc2x3::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcElectricCapacitanceMeasure Ifc2x3::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[279]); } -void Ifc2x3::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcElectricChargeMeasure Ifc2x3::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[280]); } -void Ifc2x3::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcElectricConductanceMeasure Ifc2x3::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[282]); } -void Ifc2x3::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcElectricCurrentMeasure Ifc2x3::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[293]); } -void Ifc2x3::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcElectricResistanceMeasure Ifc2x3::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[296]); } -void Ifc2x3::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcElectricVoltageMeasure Ifc2x3::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[310]); } -void Ifc2x3::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcEnergyMeasure Ifc2x3::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc2x3::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[373]); } -void Ifc2x3::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcFontStyle Ifc2x3::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc2x3::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[374]); } -void Ifc2x3::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcFontVariant Ifc2x3::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc2x3::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[375]); } -void Ifc2x3::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcFontWeight Ifc2x3::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[378]); } -void Ifc2x3::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcForceMeasure Ifc2x3::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[379]); } -void Ifc2x3::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcFrequencyMeasure Ifc2x3::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc2x3::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[396]); } -void Ifc2x3::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcGloballyUniqueId Ifc2x3::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[406]); } -void Ifc2x3::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcHeatFluxDensityMeasure Ifc2x3::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[407]); } -void Ifc2x3::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcHeatingValueMeasure Ifc2x3::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHourInDay const ifcopenshell::type_declaration& Ifc2x3::IfcHourInDay::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[408]); } -void Ifc2x3::IfcHourInDay::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcHourInDay Ifc2x3::IfcHourInDay::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcHourInDay::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc2x3::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[412]); } -void Ifc2x3::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcIdentifier Ifc2x3::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[413]); } -void Ifc2x3::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcIlluminanceMeasure Ifc2x3::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[415]); } -void Ifc2x3::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcInductanceMeasure Ifc2x3::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc2x3::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[416]); } -void Ifc2x3::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcInteger Ifc2x3::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[417]); } -void Ifc2x3::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcIntegerCountRateMeasure Ifc2x3::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[421]); } -void Ifc2x3::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcIonConcentrationMeasure Ifc2x3::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[425]); } -void Ifc2x3::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcIsothermalMoistureCapacityMeasure Ifc2x3::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[428]); } -void Ifc2x3::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcKinematicViscosityMeasure Ifc2x3::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc2x3::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[429]); } -void Ifc2x3::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLabel Ifc2x3::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[435]); } -void Ifc2x3::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLengthMeasure Ifc2x3::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[454]); } -void Ifc2x3::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLinearForceMeasure Ifc2x3::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[455]); } -void Ifc2x3::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLinearMomentMeasure Ifc2x3::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[456]); } -void Ifc2x3::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLinearStiffnessMeasure Ifc2x3::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[457]); } -void Ifc2x3::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLinearVelocityMeasure Ifc2x3::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc2x3::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[461]); } -void Ifc2x3::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLogical Ifc2x3::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[465]); } -void Ifc2x3::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLuminousFluxMeasure Ifc2x3::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[466]); } -void Ifc2x3::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLuminousIntensityDistributionMeasure Ifc2x3::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[467]); } -void Ifc2x3::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcLuminousIntensityMeasure Ifc2x3::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[468]); } -void Ifc2x3::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMagneticFluxDensityMeasure Ifc2x3::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[469]); } -void Ifc2x3::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMagneticFluxMeasure Ifc2x3::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[472]); } -void Ifc2x3::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMassDensityMeasure Ifc2x3::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[473]); } -void Ifc2x3::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMassFlowRateMeasure Ifc2x3::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[474]); } -void Ifc2x3::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMassMeasure Ifc2x3::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[475]); } -void Ifc2x3::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMassPerLengthMeasure Ifc2x3::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMinuteInHour const ifcopenshell::type_declaration& Ifc2x3::IfcMinuteInHour::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[497]); } -void Ifc2x3::IfcMinuteInHour::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMinuteInHour Ifc2x3::IfcMinuteInHour::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMinuteInHour::operator int() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[498]); } -void Ifc2x3::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcModulusOfElasticityMeasure Ifc2x3::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[499]); } -void Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[500]); } -void Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[501]); } -void Ifc2x3::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcModulusOfSubgradeReactionMeasure Ifc2x3::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[502]); } -void Ifc2x3::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMoistureDiffusivityMeasure Ifc2x3::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[503]); } -void Ifc2x3::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMolecularWeightMeasure Ifc2x3::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[504]); } -void Ifc2x3::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMomentOfInertiaMeasure Ifc2x3::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[505]); } -void Ifc2x3::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMonetaryMeasure Ifc2x3::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc2x3::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[507]); } -void Ifc2x3::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcMonthInYearNumber Ifc2x3::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[512]); } -void Ifc2x3::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcNormalisedRatioMeasure Ifc2x3::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[514]); } -void Ifc2x3::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcNumericMeasure Ifc2x3::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[547]); } -void Ifc2x3::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPHMeasure Ifc2x3::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc2x3::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[539]); } -void Ifc2x3::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcParameterValue Ifc2x3::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[563]); } -void Ifc2x3::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPlanarForceMeasure Ifc2x3::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[565]); } -void Ifc2x3::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPlaneAngleMeasure Ifc2x3::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[577]); } -void Ifc2x3::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPositiveLengthMeasure Ifc2x3::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[578]); } -void Ifc2x3::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPositivePlaneAngleMeasure Ifc2x3::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[579]); } -void Ifc2x3::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPositiveRatioMeasure Ifc2x3::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[581]); } -void Ifc2x3::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPowerMeasure Ifc2x3::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc2x3::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[590]); } -void Ifc2x3::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPresentableText Ifc2x3::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[596]); } -void Ifc2x3::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcPressureMeasure Ifc2x3::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[640]); } -void Ifc2x3::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcRadioActivityMeasure Ifc2x3::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[650]); } -void Ifc2x3::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcRatioMeasure Ifc2x3::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc2x3::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[652]); } -void Ifc2x3::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcReal Ifc2x3::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[733]); } -void Ifc2x3::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcRotationalFrequencyMeasure Ifc2x3::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[734]); } -void Ifc2x3::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcRotationalMassMeasure Ifc2x3::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[735]); } -void Ifc2x3::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcRotationalStiffnessMeasure Ifc2x3::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSecondInMinute const ifcopenshell::type_declaration& Ifc2x3::IfcSecondInMinute::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[741]); } -void Ifc2x3::IfcSecondInMinute::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSecondInMinute Ifc2x3::IfcSecondInMinute::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSecondInMinute::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[744]); } -void Ifc2x3::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSectionModulusMeasure Ifc2x3::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[742]); } -void Ifc2x3::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSectionalAreaIntegralMeasure Ifc2x3::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[758]); } -void Ifc2x3::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcShearModulusMeasure Ifc2x3::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[772]); } -void Ifc2x3::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSolidAngleMeasure Ifc2x3::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[774]); } -void Ifc2x3::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSoundPowerMeasure Ifc2x3::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[775]); } -void Ifc2x3::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSoundPressureMeasure Ifc2x3::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[788]); } -void Ifc2x3::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSpecificHeatCapacityMeasure Ifc2x3::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc2x3::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[789]); } -void Ifc2x3::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSpecularExponent Ifc2x3::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc2x3::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[791]); } -void Ifc2x3::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcSpecularRoughness Ifc2x3::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[874]); } -void Ifc2x3::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTemperatureGradientMeasure Ifc2x3::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc2x3::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[879]); } -void Ifc2x3::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcText Ifc2x3::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc2x3::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[880]); } -void Ifc2x3::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTextAlignment Ifc2x3::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc2x3::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[881]); } -void Ifc2x3::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTextDecoration Ifc2x3::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc2x3::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[882]); } -void Ifc2x3::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTextFontName Ifc2x3::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc2x3::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[893]); } -void Ifc2x3::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTextTransformation Ifc2x3::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[898]); } -void Ifc2x3::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcThermalAdmittanceMeasure Ifc2x3::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[899]); } -void Ifc2x3::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcThermalConductivityMeasure Ifc2x3::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[900]); } -void Ifc2x3::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcThermalExpansionCoefficientMeasure Ifc2x3::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[904]); } -void Ifc2x3::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcThermalResistanceMeasure Ifc2x3::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[905]); } -void Ifc2x3::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcThermalTransmittanceMeasure Ifc2x3::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[906]); } -void Ifc2x3::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcThermodynamicTemperatureMeasure Ifc2x3::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[907]); } -void Ifc2x3::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTimeMeasure Ifc2x3::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc2x3::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[914]); } -void Ifc2x3::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTimeStamp Ifc2x3::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[917]); } -void Ifc2x3::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcTorqueMeasure Ifc2x3::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[943]); } -void Ifc2x3::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcVaporPermeabilityMeasure Ifc2x3::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[954]); } -void Ifc2x3::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcVolumeMeasure Ifc2x3::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[955]); } -void Ifc2x3::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcVolumetricFlowRateMeasure Ifc2x3::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[960]); } -void Ifc2x3::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcWarpingConstantMeasure Ifc2x3::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc2x3::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[961]); } -void Ifc2x3::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcWarpingMomentMeasure Ifc2x3::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcYearNumber const ifcopenshell::type_declaration& Ifc2x3::IfcYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC2X3_types[977]); } -void Ifc2x3::IfcYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc2x3::IfcYearNumber Ifc2x3::IfcYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc2x3::IfcYearNumber::operator int() const { return get_attribute_value(0); } @@ -5478,7 +5478,7 @@ Ifc2x3::IfcYearNumber::operator int() const { return get_attribute_value(0); } const ifcopenshell::entity& Ifc2x3::Ifc2DCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[0]); } -void Ifc2x3::Ifc2DCompositeCurve::initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc2x3::Ifc2DCompositeCurve Ifc2x3::Ifc2DCompositeCurve::initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcActionRequest std::string Ifc2x3::IfcActionRequest::RequestID() const { std::string v = get_attribute_value(5); return v; } @@ -5486,7 +5486,7 @@ void Ifc2x3::IfcActionRequest::setRequestID(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc2x3::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC2X3_types[3]); } -void Ifc2x3::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_RequestID) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_RequestID)); } +Ifc2x3::IfcActionRequest Ifc2x3::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_RequestID) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_RequestID));; return *this; } // Function implementations for IfcActor ::Ifc2x3::IfcActorSelect Ifc2x3::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcActorSelect>(); } @@ -5495,7 +5495,7 @@ void Ifc2x3::IfcActor::setTheActor(const ::Ifc2x3::IfcActorSelect& v) { set_attr std::vector<::Ifc2x3::IfcRelAssignsToActor> Ifc2x3::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[670], 6)); } const ifcopenshell::entity& Ifc2x3::IfcActor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[6]); } -void Ifc2x3::IfcActor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc2x3::IfcActor Ifc2x3::IfcActor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc2x3::IfcRoleEnum::Value Ifc2x3::IfcActorRole::Role() const { return ::Ifc2x3::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -5507,7 +5507,7 @@ void Ifc2x3::IfcActorRole::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc2x3::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC2X3_types[7]); } -void Ifc2x3::IfcActorRole::initialize(::Ifc2x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc2x3::IfcActorRole Ifc2x3::IfcActorRole::initialize(::Ifc2x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuatorType ::Ifc2x3::IfcActuatorTypeEnum::Value Ifc2x3::IfcActuatorType::PredefinedType() const { return ::Ifc2x3::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -5515,7 +5515,7 @@ void Ifc2x3::IfcActuatorType::setPredefinedType(const ::Ifc2x3::IfcActuatorTypeE const ifcopenshell::entity& Ifc2x3::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[9]); } -void Ifc2x3::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcActuatorType Ifc2x3::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Ifc2x3::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -5529,7 +5529,7 @@ std::vector<::Ifc2x3::IfcPerson> Ifc2x3::IfcAddress::OfPerson() const { return c std::vector<::Ifc2x3::IfcOrganization> Ifc2x3::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[531], 4)); } const ifcopenshell::entity& Ifc2x3::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC2X3_types[11]); } -void Ifc2x3::IfcAddress::initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc2x3::IfcAddress Ifc2x3::IfcAddress::initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value Ifc2x3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -5537,7 +5537,7 @@ void Ifc2x3::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc2x3::IfcAirTerm const ifcopenshell::entity& Ifc2x3::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[14]); } -void Ifc2x3::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcAirTerminalBoxType Ifc2x3::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc2x3::IfcAirTerminalTypeEnum::Value Ifc2x3::IfcAirTerminalType::PredefinedType() const { return ::Ifc2x3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -5545,7 +5545,7 @@ void Ifc2x3::IfcAirTerminalType::setPredefinedType(const ::Ifc2x3::IfcAirTermina const ifcopenshell::entity& Ifc2x3::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[16]); } -void Ifc2x3::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcAirTerminalType Ifc2x3::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc2x3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -5553,7 +5553,7 @@ void Ifc2x3::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc2x3::IfcA const ifcopenshell::entity& Ifc2x3::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[18]); } -void Ifc2x3::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcAirToAirHeatRecoveryType Ifc2x3::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarmType ::Ifc2x3::IfcAlarmTypeEnum::Value Ifc2x3::IfcAlarmType::PredefinedType() const { return ::Ifc2x3::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -5561,26 +5561,26 @@ void Ifc2x3::IfcAlarmType::setPredefinedType(const ::Ifc2x3::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[20]); } -void Ifc2x3::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcAlarmType Ifc2x3::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAngularDimension const ifcopenshell::entity& Ifc2x3::IfcAngularDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[25]); } -void Ifc2x3::IfcAngularDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcAngularDimension Ifc2x3::IfcAngularDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcAnnotation std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[698], 4)); } const ifcopenshell::entity& Ifc2x3::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[27]); } -void Ifc2x3::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc2x3::IfcAnnotation Ifc2x3::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAnnotationCurveOccurrence const ifcopenshell::entity& Ifc2x3::IfcAnnotationCurveOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[28]); } -void Ifc2x3::IfcAnnotationCurveOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcAnnotationCurveOccurrence Ifc2x3::IfcAnnotationCurveOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc2x3::IfcCurve Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } @@ -5590,7 +5590,7 @@ void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC2X3_types[29]); } -void Ifc2x3::IfcAnnotationFillArea::initialize(::Ifc2x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc2x3::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc2x3::IfcAnnotationFillArea Ifc2x3::IfcAnnotationFillArea::initialize(::Ifc2x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc2x3::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcAnnotationFillAreaOccurrence ::Ifc2x3::IfcPoint Ifc2x3::IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcPoint{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcPoint>(); } @@ -5600,13 +5600,13 @@ void Ifc2x3::IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(const std::option const ifcopenshell::entity& Ifc2x3::IfcAnnotationFillAreaOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[30]); } -void Ifc2x3::IfcAnnotationFillAreaOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcPoint v4_FillStyleTarget, std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v5_GlobalOrLocal) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_FillStyleTarget)); if (v5_GlobalOrLocal) {set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)*v5_GlobalOrLocal))); } } +Ifc2x3::IfcAnnotationFillAreaOccurrence Ifc2x3::IfcAnnotationFillAreaOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcPoint v4_FillStyleTarget, std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v5_GlobalOrLocal) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_FillStyleTarget)); if (v5_GlobalOrLocal) {set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)*v5_GlobalOrLocal))); }; return *this; } // Function implementations for IfcAnnotationOccurrence const ifcopenshell::entity& Ifc2x3::IfcAnnotationOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[31]); } -void Ifc2x3::IfcAnnotationOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcAnnotationOccurrence Ifc2x3::IfcAnnotationOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcAnnotationSurface ::Ifc2x3::IfcGeometricRepresentationItem Ifc2x3::IfcAnnotationSurface::Item() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcGeometricRepresentationItem>(); } @@ -5616,25 +5616,25 @@ void Ifc2x3::IfcAnnotationSurface::setTextureCoordinates(const ::Ifc2x3::IfcText const ifcopenshell::entity& Ifc2x3::IfcAnnotationSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[32]); } -void Ifc2x3::IfcAnnotationSurface::initialize(::Ifc2x3::IfcGeometricRepresentationItem v1_Item, ::Ifc2x3::IfcTextureCoordinate v2_TextureCoordinates) { set_attribute_value(0, (v1_Item));set_attribute_value(1, (v2_TextureCoordinates)); } +Ifc2x3::IfcAnnotationSurface Ifc2x3::IfcAnnotationSurface::initialize(::Ifc2x3::IfcGeometricRepresentationItem v1_Item, ::Ifc2x3::IfcTextureCoordinate v2_TextureCoordinates) { set_attribute_value(0, (v1_Item));set_attribute_value(1, (v2_TextureCoordinates));; return *this; } // Function implementations for IfcAnnotationSurfaceOccurrence const ifcopenshell::entity& Ifc2x3::IfcAnnotationSurfaceOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[33]); } -void Ifc2x3::IfcAnnotationSurfaceOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcAnnotationSurfaceOccurrence Ifc2x3::IfcAnnotationSurfaceOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcAnnotationSymbolOccurrence const ifcopenshell::entity& Ifc2x3::IfcAnnotationSymbolOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[34]); } -void Ifc2x3::IfcAnnotationSymbolOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcAnnotationSymbolOccurrence Ifc2x3::IfcAnnotationSymbolOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcAnnotationTextOccurrence const ifcopenshell::entity& Ifc2x3::IfcAnnotationTextOccurrence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[35]); } -void Ifc2x3::IfcAnnotationTextOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcAnnotationTextOccurrence Ifc2x3::IfcAnnotationTextOccurrence::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcApplication ::Ifc2x3::IfcOrganization Ifc2x3::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcOrganization>(); } @@ -5648,7 +5648,7 @@ void Ifc2x3::IfcApplication::setApplicationIdentifier(const std::string& v) { se const ifcopenshell::entity& Ifc2x3::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC2X3_types[36]); } -void Ifc2x3::IfcApplication::initialize(::Ifc2x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc2x3::IfcApplication Ifc2x3::IfcApplication::initialize(::Ifc2x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc2x3::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -5669,7 +5669,7 @@ std::vector<::Ifc2x3::IfcAppliedValueRelationship> Ifc2x3::IfcAppliedValue::Valu std::vector<::Ifc2x3::IfcAppliedValueRelationship> Ifc2x3::IfcAppliedValue::IsComponentIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[38], 1)); } const ifcopenshell::entity& Ifc2x3::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[37]); } -void Ifc2x3::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis));set_attribute_value(4, (v5_ApplicableDate));set_attribute_value(5, (v6_FixedUntilDate)); } +Ifc2x3::IfcAppliedValue Ifc2x3::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis));set_attribute_value(4, (v5_ApplicableDate));set_attribute_value(5, (v6_FixedUntilDate));; return *this; } // Function implementations for IfcAppliedValueRelationship ::Ifc2x3::IfcAppliedValue Ifc2x3::IfcAppliedValueRelationship::ComponentOfTotal() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAppliedValue>(); } @@ -5685,7 +5685,7 @@ void Ifc2x3::IfcAppliedValueRelationship::setDescription(const std::optional< st const ifcopenshell::entity& Ifc2x3::IfcAppliedValueRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[38]); } -void Ifc2x3::IfcAppliedValueRelationship::initialize(::Ifc2x3::IfcAppliedValue v1_ComponentOfTotal, std::vector< ::Ifc2x3::IfcAppliedValue > v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description) { set_attribute_value(0, (v1_ComponentOfTotal));set_attribute_value(1, cast_vector(v2_Components));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcArithmeticOperatorEnum::Class(),(size_t)v3_ArithmeticOperator))); if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } } +Ifc2x3::IfcAppliedValueRelationship Ifc2x3::IfcAppliedValueRelationship::initialize(::Ifc2x3::IfcAppliedValue v1_ComponentOfTotal, std::vector< ::Ifc2x3::IfcAppliedValue > v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description) { set_attribute_value(0, (v1_ComponentOfTotal));set_attribute_value(1, cast_vector(v2_Components));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcArithmeticOperatorEnum::Class(),(size_t)v3_ArithmeticOperator))); if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc2x3::IfcApproval::Description() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -5708,7 +5708,7 @@ std::vector<::Ifc2x3::IfcApprovalRelationship> Ifc2x3::IfcApproval::IsRelatedWit std::vector<::Ifc2x3::IfcApprovalRelationship> Ifc2x3::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[43], 1)); } const ifcopenshell::entity& Ifc2x3::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC2X3_types[40]); } -void Ifc2x3::IfcApproval::initialize(std::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect v2_ApprovalDateTime, std::optional< std::string > v3_ApprovalStatus, std::optional< std::string > v4_ApprovalLevel, std::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier) { if (v1_Description) {set_attribute_value(0, (*v1_Description)); }set_attribute_value(1, (v2_ApprovalDateTime)); if (v3_ApprovalStatus) {set_attribute_value(2, (*v3_ApprovalStatus)); } if (v4_ApprovalLevel) {set_attribute_value(3, (*v4_ApprovalLevel)); } if (v5_ApprovalQualifier) {set_attribute_value(4, (*v5_ApprovalQualifier)); }set_attribute_value(5, (v6_Name));set_attribute_value(6, (v7_Identifier)); } +Ifc2x3::IfcApproval Ifc2x3::IfcApproval::initialize(std::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect v2_ApprovalDateTime, std::optional< std::string > v3_ApprovalStatus, std::optional< std::string > v4_ApprovalLevel, std::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier) { if (v1_Description) {set_attribute_value(0, (*v1_Description)); }set_attribute_value(1, (v2_ApprovalDateTime)); if (v3_ApprovalStatus) {set_attribute_value(2, (*v3_ApprovalStatus)); } if (v4_ApprovalLevel) {set_attribute_value(3, (*v4_ApprovalLevel)); } if (v5_ApprovalQualifier) {set_attribute_value(4, (*v5_ApprovalQualifier)); }set_attribute_value(5, (v6_Name));set_attribute_value(6, (v7_Identifier));; return *this; } // Function implementations for IfcApprovalActorRelationship ::Ifc2x3::IfcActorSelect Ifc2x3::IfcApprovalActorRelationship::Actor() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcActorSelect>(); } @@ -5720,7 +5720,7 @@ void Ifc2x3::IfcApprovalActorRelationship::setRole(const ::Ifc2x3::IfcActorRole& const ifcopenshell::entity& Ifc2x3::IfcApprovalActorRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[41]); } -void Ifc2x3::IfcApprovalActorRelationship::initialize(::Ifc2x3::IfcActorSelect v1_Actor, ::Ifc2x3::IfcApproval v2_Approval, ::Ifc2x3::IfcActorRole v3_Role) { set_attribute_value(0, (v1_Actor));set_attribute_value(1, (v2_Approval));set_attribute_value(2, (v3_Role)); } +Ifc2x3::IfcApprovalActorRelationship Ifc2x3::IfcApprovalActorRelationship::initialize(::Ifc2x3::IfcActorSelect v1_Actor, ::Ifc2x3::IfcApproval v2_Approval, ::Ifc2x3::IfcActorRole v3_Role) { set_attribute_value(0, (v1_Actor));set_attribute_value(1, (v2_Approval));set_attribute_value(2, (v3_Role));; return *this; } // Function implementations for IfcApprovalPropertyRelationship std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcApprovalPropertyRelationship::ApprovedProperties() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcProperty>(es); } @@ -5730,7 +5730,7 @@ void Ifc2x3::IfcApprovalPropertyRelationship::setApproval(const ::Ifc2x3::IfcApp const ifcopenshell::entity& Ifc2x3::IfcApprovalPropertyRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[42]); } -void Ifc2x3::IfcApprovalPropertyRelationship::initialize(std::vector< ::Ifc2x3::IfcProperty > v1_ApprovedProperties, ::Ifc2x3::IfcApproval v2_Approval) { set_attribute_value(0, cast_vector(v1_ApprovedProperties));set_attribute_value(1, (v2_Approval)); } +Ifc2x3::IfcApprovalPropertyRelationship Ifc2x3::IfcApprovalPropertyRelationship::initialize(std::vector< ::Ifc2x3::IfcProperty > v1_ApprovedProperties, ::Ifc2x3::IfcApproval v2_Approval) { set_attribute_value(0, cast_vector(v1_ApprovedProperties));set_attribute_value(1, (v2_Approval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc2x3::IfcApproval Ifc2x3::IfcApprovalRelationship::RelatedApproval() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcApproval>(); } @@ -5744,7 +5744,7 @@ void Ifc2x3::IfcApprovalRelationship::setName(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[43]); } -void Ifc2x3::IfcApprovalRelationship::initialize(::Ifc2x3::IfcApproval v1_RelatedApproval, ::Ifc2x3::IfcApproval v2_RelatingApproval, std::optional< std::string > v3_Description, std::string v4_Name) { set_attribute_value(0, (v1_RelatedApproval));set_attribute_value(1, (v2_RelatingApproval)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name)); } +Ifc2x3::IfcApprovalRelationship Ifc2x3::IfcApprovalRelationship::initialize(::Ifc2x3::IfcApproval v1_RelatedApproval, ::Ifc2x3::IfcApproval v2_RelatingApproval, std::optional< std::string > v3_Description, std::string v4_Name) { set_attribute_value(0, (v1_RelatedApproval));set_attribute_value(1, (v2_RelatingApproval)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc2x3::IfcCurve Ifc2x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } @@ -5752,7 +5752,7 @@ void Ifc2x3::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc2x3::IfcCurv const ifcopenshell::entity& Ifc2x3::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[44]); } -void Ifc2x3::IfcArbitraryClosedProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc2x3::IfcArbitraryClosedProfileDef Ifc2x3::IfcArbitraryClosedProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc2x3::IfcBoundedCurve Ifc2x3::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcBoundedCurve>(); } @@ -5760,7 +5760,7 @@ void Ifc2x3::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc2x3::IfcBoundedCurv const ifcopenshell::entity& Ifc2x3::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[45]); } -void Ifc2x3::IfcArbitraryOpenProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc2x3::IfcArbitraryOpenProfileDef Ifc2x3::IfcArbitraryOpenProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc2x3::IfcCurve > Ifc2x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc2x3::IfcCurve>(es); } @@ -5768,7 +5768,7 @@ void Ifc2x3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< const ifcopenshell::entity& Ifc2x3::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC2X3_types[46]); } -void Ifc2x3::IfcArbitraryProfileDefWithVoids::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc2x3::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc2x3::IfcArbitraryProfileDefWithVoids Ifc2x3::IfcArbitraryProfileDefWithVoids::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc2x3::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::string Ifc2x3::IfcAsset::AssetID() const { std::string v = get_attribute_value(5); return v; } @@ -5792,7 +5792,7 @@ void Ifc2x3::IfcAsset::setDepreciatedValue(const ::Ifc2x3::IfcCostValue& v) { se const ifcopenshell::entity& Ifc2x3::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC2X3_types[50]); } -void Ifc2x3::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue v7_OriginalValue, ::Ifc2x3::IfcCostValue v8_CurrentValue, ::Ifc2x3::IfcCostValue v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect v10_Owner, ::Ifc2x3::IfcActorSelect v11_User, ::Ifc2x3::IfcPerson v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate v13_IncorporationDate, ::Ifc2x3::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_AssetID));set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson));set_attribute_value(12, (v13_IncorporationDate));set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc2x3::IfcAsset Ifc2x3::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue v7_OriginalValue, ::Ifc2x3::IfcCostValue v8_CurrentValue, ::Ifc2x3::IfcCostValue v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect v10_Owner, ::Ifc2x3::IfcActorSelect v11_User, ::Ifc2x3::IfcPerson v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate v13_IncorporationDate, ::Ifc2x3::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_AssetID));set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson));set_attribute_value(12, (v13_IncorporationDate));set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } @@ -5806,7 +5806,7 @@ void Ifc2x3::IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(const std::opt const ifcopenshell::entity& Ifc2x3::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[51]); } -void Ifc2x3::IfcAsymmetricIShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); } } +Ifc2x3::IfcAsymmetricIShapeProfileDef Ifc2x3::IfcAsymmetricIShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); }; return *this; } // Function implementations for IfcAxis1Placement ::Ifc2x3::IfcDirection Ifc2x3::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcDirection>(); } @@ -5814,7 +5814,7 @@ void Ifc2x3::IfcAxis1Placement::setAxis(const ::Ifc2x3::IfcDirection& v) { set_a const ifcopenshell::entity& Ifc2x3::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[52]); } -void Ifc2x3::IfcAxis1Placement::initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc2x3::IfcAxis1Placement Ifc2x3::IfcAxis1Placement::initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc2x3::IfcDirection Ifc2x3::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcDirection>(); } @@ -5822,7 +5822,7 @@ void Ifc2x3::IfcAxis2Placement2D::setRefDirection(const ::Ifc2x3::IfcDirection& const ifcopenshell::entity& Ifc2x3::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[54]); } -void Ifc2x3::IfcAxis2Placement2D::initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc2x3::IfcAxis2Placement2D Ifc2x3::IfcAxis2Placement2D::initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc2x3::IfcDirection Ifc2x3::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcDirection>(); } @@ -5832,7 +5832,7 @@ void Ifc2x3::IfcAxis2Placement3D::setRefDirection(const ::Ifc2x3::IfcDirection& const ifcopenshell::entity& Ifc2x3::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[55]); } -void Ifc2x3::IfcAxis2Placement3D::initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis, ::Ifc2x3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcAxis2Placement3D::initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis, ::Ifc2x3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc2x3::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -5848,13 +5848,13 @@ void Ifc2x3::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc2x3::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[80]); } -void Ifc2x3::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc2x3::IfcBSplineCurve Ifc2x3::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBeam const ifcopenshell::entity& Ifc2x3::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC2X3_types[56]); } -void Ifc2x3::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcBeam Ifc2x3::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBeamType ::Ifc2x3::IfcBeamTypeEnum::Value Ifc2x3::IfcBeamType::PredefinedType() const { return ::Ifc2x3::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -5862,13 +5862,13 @@ void Ifc2x3::IfcBeamType::setPredefinedType(const ::Ifc2x3::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[57]); } -void Ifc2x3::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcBeamType Ifc2x3::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBezierCurve const ifcopenshell::entity& Ifc2x3::IfcBezierCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[60]); } -void Ifc2x3::IfcBezierCurve::initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc2x3::IfcBezierCurve Ifc2x3::IfcBezierCurve::initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc2x3::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(4); return v; } @@ -5878,7 +5878,7 @@ void Ifc2x3::IfcBlobTexture::setRasterCode(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc2x3::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC2X3_types[61]); } -void Ifc2x3::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));set_attribute_value(4, (v5_RasterFormat));set_attribute_value(5, (v6_RasterCode)); } +Ifc2x3::IfcBlobTexture Ifc2x3::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));set_attribute_value(4, (v5_RasterFormat));set_attribute_value(5, (v6_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc2x3::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -5890,7 +5890,7 @@ void Ifc2x3::IfcBlock::setZLength(const double& v) { set_attribute_value(3, v);i const ifcopenshell::entity& Ifc2x3::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC2X3_types[62]); } -void Ifc2x3::IfcBlock::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc2x3::IfcBlock Ifc2x3::IfcBlock::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoilerType ::Ifc2x3::IfcBoilerTypeEnum::Value Ifc2x3::IfcBoilerType::PredefinedType() const { return ::Ifc2x3::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -5898,13 +5898,13 @@ void Ifc2x3::IfcBoilerType::setPredefinedType(const ::Ifc2x3::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[63]); } -void Ifc2x3::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcBoilerType Ifc2x3::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc2x3::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC2X3_types[66]); } -void Ifc2x3::IfcBooleanClippingResult::initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc2x3::IfcBooleanClippingResult Ifc2x3::IfcBooleanClippingResult::initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanResult::Operator() const { return ::Ifc2x3::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -5916,7 +5916,7 @@ void Ifc2x3::IfcBooleanResult::setSecondOperand(const ::Ifc2x3::IfcBooleanOperan const ifcopenshell::entity& Ifc2x3::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC2X3_types[69]); } -void Ifc2x3::IfcBooleanResult::initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc2x3::IfcBooleanResult Ifc2x3::IfcBooleanResult::initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc2x3::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -5924,7 +5924,7 @@ void Ifc2x3::IfcBoundaryCondition::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc2x3::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[70]); } -void Ifc2x3::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc2x3::IfcBoundaryCondition Ifc2x3::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryEdgeCondition std::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -5942,7 +5942,7 @@ void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const std const ifcopenshell::entity& Ifc2x3::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[71]); } -void Ifc2x3::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByLengthX, std::optional< double > v3_LinearStiffnessByLengthY, std::optional< double > v4_LinearStiffnessByLengthZ, std::optional< double > v5_RotationalStiffnessByLengthX, std::optional< double > v6_RotationalStiffnessByLengthY, std::optional< double > v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByLengthX) {set_attribute_value(1, (*v2_LinearStiffnessByLengthX)); } if (v3_LinearStiffnessByLengthY) {set_attribute_value(2, (*v3_LinearStiffnessByLengthY)); } if (v4_LinearStiffnessByLengthZ) {set_attribute_value(3, (*v4_LinearStiffnessByLengthZ)); } if (v5_RotationalStiffnessByLengthX) {set_attribute_value(4, (*v5_RotationalStiffnessByLengthX)); } if (v6_RotationalStiffnessByLengthY) {set_attribute_value(5, (*v6_RotationalStiffnessByLengthY)); } if (v7_RotationalStiffnessByLengthZ) {set_attribute_value(6, (*v7_RotationalStiffnessByLengthZ)); } } +Ifc2x3::IfcBoundaryEdgeCondition Ifc2x3::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByLengthX, std::optional< double > v3_LinearStiffnessByLengthY, std::optional< double > v4_LinearStiffnessByLengthZ, std::optional< double > v5_RotationalStiffnessByLengthX, std::optional< double > v6_RotationalStiffnessByLengthY, std::optional< double > v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByLengthX) {set_attribute_value(1, (*v2_LinearStiffnessByLengthX)); } if (v3_LinearStiffnessByLengthY) {set_attribute_value(2, (*v3_LinearStiffnessByLengthY)); } if (v4_LinearStiffnessByLengthZ) {set_attribute_value(3, (*v4_LinearStiffnessByLengthZ)); } if (v5_RotationalStiffnessByLengthX) {set_attribute_value(4, (*v5_RotationalStiffnessByLengthX)); } if (v6_RotationalStiffnessByLengthY) {set_attribute_value(5, (*v6_RotationalStiffnessByLengthY)); } if (v7_RotationalStiffnessByLengthZ) {set_attribute_value(6, (*v7_RotationalStiffnessByLengthZ)); }; return *this; } // Function implementations for IfcBoundaryFaceCondition std::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -5954,7 +5954,7 @@ void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(const std::opti const ifcopenshell::entity& Ifc2x3::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[72]); } -void Ifc2x3::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByAreaX, std::optional< double > v3_LinearStiffnessByAreaY, std::optional< double > v4_LinearStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByAreaX) {set_attribute_value(1, (*v2_LinearStiffnessByAreaX)); } if (v3_LinearStiffnessByAreaY) {set_attribute_value(2, (*v3_LinearStiffnessByAreaY)); } if (v4_LinearStiffnessByAreaZ) {set_attribute_value(3, (*v4_LinearStiffnessByAreaZ)); } } +Ifc2x3::IfcBoundaryFaceCondition Ifc2x3::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByAreaX, std::optional< double > v3_LinearStiffnessByAreaY, std::optional< double > v4_LinearStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByAreaX) {set_attribute_value(1, (*v2_LinearStiffnessByAreaX)); } if (v3_LinearStiffnessByAreaY) {set_attribute_value(2, (*v3_LinearStiffnessByAreaY)); } if (v4_LinearStiffnessByAreaZ) {set_attribute_value(3, (*v4_LinearStiffnessByAreaZ)); }; return *this; } // Function implementations for IfcBoundaryNodeCondition std::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -5972,7 +5972,7 @@ void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const std::option const ifcopenshell::entity& Ifc2x3::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[73]); } -void Ifc2x3::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); } } +Ifc2x3::IfcBoundaryNodeCondition Ifc2x3::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); }; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping std::optional< double > Ifc2x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -5980,19 +5980,19 @@ void Ifc2x3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const std::opt const ifcopenshell::entity& Ifc2x3::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC2X3_types[74]); } -void Ifc2x3::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ, std::optional< double > v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); } if (v8_WarpingStiffness) {set_attribute_value(7, (*v8_WarpingStiffness)); } } +Ifc2x3::IfcBoundaryNodeConditionWarping Ifc2x3::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ, std::optional< double > v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); } if (v8_WarpingStiffness) {set_attribute_value(7, (*v8_WarpingStiffness)); }; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc2x3::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[75]); } -void Ifc2x3::IfcBoundedCurve::initialize() { } +Ifc2x3::IfcBoundedCurve Ifc2x3::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc2x3::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[76]); } -void Ifc2x3::IfcBoundedSurface::initialize() { } +Ifc2x3::IfcBoundedSurface Ifc2x3::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCartesianPoint>(); } @@ -6006,7 +6006,7 @@ void Ifc2x3::IfcBoundingBox::setZDim(const double& v) { set_attribute_value(3, v const ifcopenshell::entity& Ifc2x3::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC2X3_types[77]); } -void Ifc2x3::IfcBoundingBox::initialize(::Ifc2x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc2x3::IfcBoundingBox Ifc2x3::IfcBoundingBox::initialize(::Ifc2x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc2x3::IfcBoundingBox Ifc2x3::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcBoundingBox>(); } @@ -6014,7 +6014,7 @@ void Ifc2x3::IfcBoxedHalfSpace::setEnclosure(const ::Ifc2x3::IfcBoundingBox& v) const ifcopenshell::entity& Ifc2x3::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC2X3_types[79]); } -void Ifc2x3::IfcBoxedHalfSpace::initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc2x3::IfcBoxedHalfSpace Ifc2x3::IfcBoxedHalfSpace::initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc2x3::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -6026,25 +6026,25 @@ void Ifc2x3::IfcBuilding::setBuildingAddress(const ::Ifc2x3::IfcPostalAddress& v const ifcopenshell::entity& Ifc2x3::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC2X3_types[82]); } -void Ifc2x3::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc2x3::IfcBuilding Ifc2x3::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElement const ifcopenshell::entity& Ifc2x3::IfcBuildingElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[83]); } -void Ifc2x3::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcBuildingElement Ifc2x3::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuildingElementComponent const ifcopenshell::entity& Ifc2x3::IfcBuildingElementComponent::Class() { return *((ifcopenshell::entity*)IFC2X3_types[84]); } -void Ifc2x3::IfcBuildingElementComponent::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcBuildingElementComponent Ifc2x3::IfcBuildingElementComponent::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuildingElementPart const ifcopenshell::entity& Ifc2x3::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC2X3_types[85]); } -void Ifc2x3::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcBuildingElementPart Ifc2x3::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > Ifc2x3::IfcBuildingElementProxy::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -6052,7 +6052,7 @@ void Ifc2x3::IfcBuildingElementProxy::setCompositionType(const std::optional< :: const ifcopenshell::entity& Ifc2x3::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC2X3_types[86]); } -void Ifc2x3::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc2x3::IfcBuildingElementProxy Ifc2x3::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value Ifc2x3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc2x3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -6060,13 +6060,13 @@ void Ifc2x3::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc2x3::IfcB const ifcopenshell::entity& Ifc2x3::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[87]); } -void Ifc2x3::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcBuildingElementProxyType Ifc2x3::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementType const ifcopenshell::entity& Ifc2x3::IfcBuildingElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[89]); } -void Ifc2x3::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcBuildingElementType Ifc2x3::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc2x3::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -6074,7 +6074,7 @@ void Ifc2x3::IfcBuildingStorey::setElevation(const std::optional< double >& v) { const ifcopenshell::entity& Ifc2x3::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC2X3_types[90]); } -void Ifc2x3::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc2x3::IfcBuildingStorey Ifc2x3::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc2x3::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -6092,7 +6092,7 @@ void Ifc2x3::IfcCShapeProfileDef::setCentreOfGravityInX(const std::optional< dou const ifcopenshell::entity& Ifc2x3::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[186]); } -void Ifc2x3::IfcCShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius, std::optional< double > v9_CentreOfGravityInX) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } if (v9_CentreOfGravityInX) {set_attribute_value(8, (*v9_CentreOfGravityInX)); } } +Ifc2x3::IfcCShapeProfileDef Ifc2x3::IfcCShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius, std::optional< double > v9_CentreOfGravityInX) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } if (v9_CentreOfGravityInX) {set_attribute_value(8, (*v9_CentreOfGravityInX)); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value Ifc2x3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -6100,7 +6100,7 @@ void Ifc2x3::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc2x3::IfcCa const ifcopenshell::entity& Ifc2x3::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[91]); } -void Ifc2x3::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCableCarrierFittingType Ifc2x3::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value Ifc2x3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -6108,7 +6108,7 @@ void Ifc2x3::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc2x3::IfcCa const ifcopenshell::entity& Ifc2x3::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[93]); } -void Ifc2x3::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCableCarrierSegmentType Ifc2x3::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegmentType ::Ifc2x3::IfcCableSegmentTypeEnum::Value Ifc2x3::IfcCableSegmentType::PredefinedType() const { return ::Ifc2x3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -6116,7 +6116,7 @@ void Ifc2x3::IfcCableSegmentType::setPredefinedType(const ::Ifc2x3::IfcCableSegm const ifcopenshell::entity& Ifc2x3::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[95]); } -void Ifc2x3::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCableSegmentType Ifc2x3::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCalendarDate int Ifc2x3::IfcCalendarDate::DayComponent() const { int v = get_attribute_value(0); return v; } @@ -6128,7 +6128,7 @@ void Ifc2x3::IfcCalendarDate::setYearComponent(const int& v) { set_attribute_val const ifcopenshell::entity& Ifc2x3::IfcCalendarDate::Class() { return *((ifcopenshell::entity*)IFC2X3_types[97]); } -void Ifc2x3::IfcCalendarDate::initialize(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent) { set_attribute_value(0, (v1_DayComponent));set_attribute_value(1, (v2_MonthComponent));set_attribute_value(2, (v3_YearComponent)); } +Ifc2x3::IfcCalendarDate Ifc2x3::IfcCalendarDate::initialize(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent) { set_attribute_value(0, (v1_DayComponent));set_attribute_value(1, (v2_MonthComponent));set_attribute_value(2, (v3_YearComponent));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc2x3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -6136,7 +6136,7 @@ void Ifc2x3::IfcCartesianPoint::setCoordinates(const std::vector< double > /*[1: const ifcopenshell::entity& Ifc2x3::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[98]); } -void Ifc2x3::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc2x3::IfcCartesianPoint Ifc2x3::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc2x3::IfcDirection Ifc2x3::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDirection>(); } @@ -6150,13 +6150,13 @@ void Ifc2x3::IfcCartesianTransformationOperator::setScale(const std::optional< d const ifcopenshell::entity& Ifc2x3::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC2X3_types[99]); } -void Ifc2x3::IfcCartesianTransformationOperator::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc2x3::IfcCartesianTransformationOperator Ifc2x3::IfcCartesianTransformationOperator::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc2x3::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[100]); } -void Ifc2x3::IfcCartesianTransformationOperator2D::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc2x3::IfcCartesianTransformationOperator2D Ifc2x3::IfcCartesianTransformationOperator2D::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -6164,7 +6164,7 @@ void Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::setScale2(const std const ifcopenshell::entity& Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC2X3_types[101]); } -void Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc2x3::IfcCartesianTransformationOperator2DnonUniform Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc2x3::IfcDirection Ifc2x3::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcDirection>(); } @@ -6172,7 +6172,7 @@ void Ifc2x3::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc2x3::IfcD const ifcopenshell::entity& Ifc2x3::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[102]); } -void Ifc2x3::IfcCartesianTransformationOperator3D::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc2x3::IfcCartesianTransformationOperator3D Ifc2x3::IfcCartesianTransformationOperator3D::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -6182,7 +6182,7 @@ void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale3(const std const ifcopenshell::entity& Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC2X3_types[103]); } -void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc2x3::IfcCartesianTransformationOperator3DnonUniform Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc2x3::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -6190,7 +6190,7 @@ void Ifc2x3::IfcCenterLineProfileDef::setThickness(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[104]); } -void Ifc2x3::IfcCenterLineProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc2x3::IfcCenterLineProfileDef Ifc2x3::IfcCenterLineProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChamferEdgeFeature std::optional< double > Ifc2x3::IfcChamferEdgeFeature::Width() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -6200,7 +6200,7 @@ void Ifc2x3::IfcChamferEdgeFeature::setHeight(const std::optional< double >& v) const ifcopenshell::entity& Ifc2x3::IfcChamferEdgeFeature::Class() { return *((ifcopenshell::entity*)IFC2X3_types[105]); } -void Ifc2x3::IfcChamferEdgeFeature::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Width, std::optional< double > v11_Height) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Width) {set_attribute_value(9, (*v10_Width)); } if (v11_Height) {set_attribute_value(10, (*v11_Height)); } } +Ifc2x3::IfcChamferEdgeFeature Ifc2x3::IfcChamferEdgeFeature::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Width, std::optional< double > v11_Height) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Width) {set_attribute_value(9, (*v10_Width)); } if (v11_Height) {set_attribute_value(10, (*v11_Height)); }; return *this; } // Function implementations for IfcChillerType ::Ifc2x3::IfcChillerTypeEnum::Value Ifc2x3::IfcChillerType::PredefinedType() const { return ::Ifc2x3::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -6208,7 +6208,7 @@ void Ifc2x3::IfcChillerType::setPredefinedType(const ::Ifc2x3::IfcChillerTypeEnu const ifcopenshell::entity& Ifc2x3::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[108]); } -void Ifc2x3::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcChillerType Ifc2x3::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc2x3::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -6216,7 +6216,7 @@ void Ifc2x3::IfcCircle::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc2x3::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[110]); } -void Ifc2x3::IfcCircle::initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc2x3::IfcCircle Ifc2x3::IfcCircle::initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc2x3::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -6224,7 +6224,7 @@ void Ifc2x3::IfcCircleHollowProfileDef::setWallThickness(const double& v) { set_ const ifcopenshell::entity& Ifc2x3::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[111]); } -void Ifc2x3::IfcCircleHollowProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc2x3::IfcCircleHollowProfileDef Ifc2x3::IfcCircleHollowProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc2x3::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -6232,7 +6232,7 @@ void Ifc2x3::IfcCircleProfileDef::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc2x3::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[112]); } -void Ifc2x3::IfcCircleProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc2x3::IfcCircleProfileDef Ifc2x3::IfcCircleProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcClassification std::string Ifc2x3::IfcClassification::Source() const { std::string v = get_attribute_value(0); return v; } @@ -6247,7 +6247,7 @@ void Ifc2x3::IfcClassification::setName(const std::string& v) { set_attribute_va std::vector<::Ifc2x3::IfcClassificationItem> Ifc2x3::IfcClassification::Contains() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[114], 1)); } const ifcopenshell::entity& Ifc2x3::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC2X3_types[113]); } -void Ifc2x3::IfcClassification::initialize(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate v3_EditionDate, std::string v4_Name) { set_attribute_value(0, (v1_Source));set_attribute_value(1, (v2_Edition));set_attribute_value(2, (v3_EditionDate));set_attribute_value(3, (v4_Name)); } +Ifc2x3::IfcClassification Ifc2x3::IfcClassification::initialize(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate v3_EditionDate, std::string v4_Name) { set_attribute_value(0, (v1_Source));set_attribute_value(1, (v2_Edition));set_attribute_value(2, (v3_EditionDate));set_attribute_value(3, (v4_Name));; return *this; } // Function implementations for IfcClassificationItem ::Ifc2x3::IfcClassificationNotationFacet Ifc2x3::IfcClassificationItem::Notation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcClassificationNotationFacet>(); } @@ -6261,7 +6261,7 @@ std::vector<::Ifc2x3::IfcClassificationItemRelationship> Ifc2x3::IfcClassificati std::vector<::Ifc2x3::IfcClassificationItemRelationship> Ifc2x3::IfcClassificationItem::IsClassifyingItemIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[115], 0)); } const ifcopenshell::entity& Ifc2x3::IfcClassificationItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[114]); } -void Ifc2x3::IfcClassificationItem::initialize(::Ifc2x3::IfcClassificationNotationFacet v1_Notation, ::Ifc2x3::IfcClassification v2_ItemOf, std::string v3_Title) { set_attribute_value(0, (v1_Notation));set_attribute_value(1, (v2_ItemOf));set_attribute_value(2, (v3_Title)); } +Ifc2x3::IfcClassificationItem Ifc2x3::IfcClassificationItem::initialize(::Ifc2x3::IfcClassificationNotationFacet v1_Notation, ::Ifc2x3::IfcClassification v2_ItemOf, std::string v3_Title) { set_attribute_value(0, (v1_Notation));set_attribute_value(1, (v2_ItemOf));set_attribute_value(2, (v3_Title));; return *this; } // Function implementations for IfcClassificationItemRelationship ::Ifc2x3::IfcClassificationItem Ifc2x3::IfcClassificationItemRelationship::RelatingItem() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcClassificationItem>(); } @@ -6271,7 +6271,7 @@ void Ifc2x3::IfcClassificationItemRelationship::setRelatedItems(const std::vecto const ifcopenshell::entity& Ifc2x3::IfcClassificationItemRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[115]); } -void Ifc2x3::IfcClassificationItemRelationship::initialize(::Ifc2x3::IfcClassificationItem v1_RelatingItem, std::vector< ::Ifc2x3::IfcClassificationItem > v2_RelatedItems) { set_attribute_value(0, (v1_RelatingItem));set_attribute_value(1, cast_vector(v2_RelatedItems)); } +Ifc2x3::IfcClassificationItemRelationship Ifc2x3::IfcClassificationItemRelationship::initialize(::Ifc2x3::IfcClassificationItem v1_RelatingItem, std::vector< ::Ifc2x3::IfcClassificationItem > v2_RelatedItems) { set_attribute_value(0, (v1_RelatingItem));set_attribute_value(1, cast_vector(v2_RelatedItems));; return *this; } // Function implementations for IfcClassificationNotation std::vector< ::Ifc2x3::IfcClassificationNotationFacet > Ifc2x3::IfcClassificationNotation::NotationFacets() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcClassificationNotationFacet>(es); } @@ -6279,7 +6279,7 @@ void Ifc2x3::IfcClassificationNotation::setNotationFacets(const std::vector< ::I const ifcopenshell::entity& Ifc2x3::IfcClassificationNotation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[116]); } -void Ifc2x3::IfcClassificationNotation::initialize(std::vector< ::Ifc2x3::IfcClassificationNotationFacet > v1_NotationFacets) { set_attribute_value(0, cast_vector(v1_NotationFacets)); } +Ifc2x3::IfcClassificationNotation Ifc2x3::IfcClassificationNotation::initialize(std::vector< ::Ifc2x3::IfcClassificationNotationFacet > v1_NotationFacets) { set_attribute_value(0, cast_vector(v1_NotationFacets));; return *this; } // Function implementations for IfcClassificationNotationFacet std::string Ifc2x3::IfcClassificationNotationFacet::NotationValue() const { std::string v = get_attribute_value(0); return v; } @@ -6287,7 +6287,7 @@ void Ifc2x3::IfcClassificationNotationFacet::setNotationValue(const std::string& const ifcopenshell::entity& Ifc2x3::IfcClassificationNotationFacet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[117]); } -void Ifc2x3::IfcClassificationNotationFacet::initialize(std::string v1_NotationValue) { set_attribute_value(0, (v1_NotationValue)); } +Ifc2x3::IfcClassificationNotationFacet Ifc2x3::IfcClassificationNotationFacet::initialize(std::string v1_NotationValue) { set_attribute_value(0, (v1_NotationValue));; return *this; } // Function implementations for IfcClassificationReference ::Ifc2x3::IfcClassification Ifc2x3::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc2x3::IfcClassification{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcClassification>(); } @@ -6295,13 +6295,13 @@ void Ifc2x3::IfcClassificationReference::setReferencedSource(const ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC2X3_types[119]); } -void Ifc2x3::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name, ::Ifc2x3::IfcClassification v4_ReferencedSource) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); } +Ifc2x3::IfcClassificationReference Ifc2x3::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name, ::Ifc2x3::IfcClassification v4_ReferencedSource) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource));; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc2x3::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC2X3_types[120]); } -void Ifc2x3::IfcClosedShell::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc2x3::IfcClosedShell Ifc2x3::IfcClosedShell::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcCoilType ::Ifc2x3::IfcCoilTypeEnum::Value Ifc2x3::IfcCoilType::PredefinedType() const { return ::Ifc2x3::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -6309,7 +6309,7 @@ void Ifc2x3::IfcCoilType::setPredefinedType(const ::Ifc2x3::IfcCoilTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[121]); } -void Ifc2x3::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCoilType Ifc2x3::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc2x3::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -6321,7 +6321,7 @@ void Ifc2x3::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, v); const ifcopenshell::entity& Ifc2x3::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC2X3_types[125]); } -void Ifc2x3::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc2x3::IfcColourRgb Ifc2x3::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc2x3::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -6329,13 +6329,13 @@ void Ifc2x3::IfcColourSpecification::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc2x3::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC2X3_types[126]); } -void Ifc2x3::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc2x3::IfcColourSpecification Ifc2x3::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn const ifcopenshell::entity& Ifc2x3::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC2X3_types[127]); } -void Ifc2x3::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcColumn Ifc2x3::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcColumnType ::Ifc2x3::IfcColumnTypeEnum::Value Ifc2x3::IfcColumnType::PredefinedType() const { return ::Ifc2x3::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -6343,7 +6343,7 @@ void Ifc2x3::IfcColumnType::setPredefinedType(const ::Ifc2x3::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[128]); } -void Ifc2x3::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcColumnType Ifc2x3::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc2x3::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -6353,7 +6353,7 @@ void Ifc2x3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc2x3::I const ifcopenshell::entity& Ifc2x3::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC2X3_types[131]); } -void Ifc2x3::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc2x3::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc2x3::IfcComplexProperty Ifc2x3::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc2x3::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc2x3::IfcCompositeCurveSegment > Ifc2x3::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcCompositeCurveSegment>(es); } @@ -6363,7 +6363,7 @@ void Ifc2x3::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc2x3::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[132]); } -void Ifc2x3::IfcCompositeCurve::initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc2x3::IfcCompositeCurve Ifc2x3::IfcCompositeCurve::initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment ::Ifc2x3::IfcTransitionCode::Value Ifc2x3::IfcCompositeCurveSegment::Transition() const { return ::Ifc2x3::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -6376,7 +6376,7 @@ void Ifc2x3::IfcCompositeCurveSegment::setParentCurve(const ::Ifc2x3::IfcCurve& std::vector<::Ifc2x3::IfcCompositeCurve> Ifc2x3::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[132], 0)); } const ifcopenshell::entity& Ifc2x3::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[133]); } -void Ifc2x3::IfcCompositeCurveSegment::initialize(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc2x3::IfcCompositeCurveSegment Ifc2x3::IfcCompositeCurveSegment::initialize(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc2x3::IfcProfileDef > Ifc2x3::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcProfileDef>(es); } @@ -6386,7 +6386,7 @@ void Ifc2x3::IfcCompositeProfileDef::setLabel(const std::optional< std::string > const ifcopenshell::entity& Ifc2x3::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[134]); } -void Ifc2x3::IfcCompositeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc2x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc2x3::IfcCompositeProfileDef Ifc2x3::IfcCompositeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc2x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressorType ::Ifc2x3::IfcCompressorTypeEnum::Value Ifc2x3::IfcCompressorType::PredefinedType() const { return ::Ifc2x3::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -6394,7 +6394,7 @@ void Ifc2x3::IfcCompressorType::setPredefinedType(const ::Ifc2x3::IfcCompressorT const ifcopenshell::entity& Ifc2x3::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[136]); } -void Ifc2x3::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCompressorType Ifc2x3::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenserType ::Ifc2x3::IfcCondenserTypeEnum::Value Ifc2x3::IfcCondenserType::PredefinedType() const { return ::Ifc2x3::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -6402,13 +6402,13 @@ void Ifc2x3::IfcCondenserType::setPredefinedType(const ::Ifc2x3::IfcCondenserTyp const ifcopenshell::entity& Ifc2x3::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[138]); } -void Ifc2x3::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCondenserType Ifc2x3::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondition const ifcopenshell::entity& Ifc2x3::IfcCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[140]); } -void Ifc2x3::IfcCondition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcCondition Ifc2x3::IfcCondition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcConditionCriterion ::Ifc2x3::IfcConditionCriterionSelect Ifc2x3::IfcConditionCriterion::Criterion() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcConditionCriterionSelect>(); } @@ -6418,7 +6418,7 @@ void Ifc2x3::IfcConditionCriterion::setCriterionDateTime(const ::Ifc2x3::IfcDate const ifcopenshell::entity& Ifc2x3::IfcConditionCriterion::Class() { return *((ifcopenshell::entity*)IFC2X3_types[141]); } -void Ifc2x3::IfcConditionCriterion::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect v6_Criterion, ::Ifc2x3::IfcDateTimeSelect v7_CriterionDateTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Criterion));set_attribute_value(6, (v7_CriterionDateTime)); } +Ifc2x3::IfcConditionCriterion Ifc2x3::IfcConditionCriterion::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect v6_Criterion, ::Ifc2x3::IfcDateTimeSelect v7_CriterionDateTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Criterion));set_attribute_value(6, (v7_CriterionDateTime));; return *this; } // Function implementations for IfcConic ::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement>(); } @@ -6426,7 +6426,7 @@ void Ifc2x3::IfcConic::setPosition(const ::Ifc2x3::IfcAxis2Placement& v) { set_a const ifcopenshell::entity& Ifc2x3::IfcConic::Class() { return *((ifcopenshell::entity*)IFC2X3_types[143]); } -void Ifc2x3::IfcConic::initialize(::Ifc2x3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc2x3::IfcConic Ifc2x3::IfcConic::initialize(::Ifc2x3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc2x3::IfcFace > Ifc2x3::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcFace>(es); } @@ -6434,7 +6434,7 @@ void Ifc2x3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc2x3::IfcFa const ifcopenshell::entity& Ifc2x3::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[144]); } -void Ifc2x3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc2x3::IfcConnectedFaceSet Ifc2x3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc2x3::IfcCurveOrEdgeCurve Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurveOrEdgeCurve>(); } @@ -6444,13 +6444,13 @@ void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC2X3_types[145]); } -void Ifc2x3::IfcConnectionCurveGeometry::initialize(::Ifc2x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc2x3::IfcConnectionCurveGeometry Ifc2x3::IfcConnectionCurveGeometry::initialize(::Ifc2x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc2x3::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC2X3_types[146]); } -void Ifc2x3::IfcConnectionGeometry::initialize() { } +Ifc2x3::IfcConnectionGeometry Ifc2x3::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -6462,7 +6462,7 @@ void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInZ(const std::optio const ifcopenshell::entity& Ifc2x3::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[147]); } -void Ifc2x3::IfcConnectionPointEccentricity::initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc2x3::IfcConnectionPointEccentricity Ifc2x3::IfcConnectionPointEccentricity::initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc2x3::IfcPointOrVertexPoint Ifc2x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcPointOrVertexPoint>(); } @@ -6472,7 +6472,7 @@ void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC2X3_types[148]); } -void Ifc2x3::IfcConnectionPointGeometry::initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc2x3::IfcConnectionPointGeometry Ifc2x3::IfcConnectionPointGeometry::initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionPortGeometry ::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement>(); } @@ -6484,7 +6484,7 @@ void Ifc2x3::IfcConnectionPortGeometry::setProfileOfPort(const ::Ifc2x3::IfcProf const ifcopenshell::entity& Ifc2x3::IfcConnectionPortGeometry::Class() { return *((ifcopenshell::entity*)IFC2X3_types[149]); } -void Ifc2x3::IfcConnectionPortGeometry::initialize(::Ifc2x3::IfcAxis2Placement v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef v3_ProfileOfPort) { set_attribute_value(0, (v1_LocationAtRelatingElement));set_attribute_value(1, (v2_LocationAtRelatedElement));set_attribute_value(2, (v3_ProfileOfPort)); } +Ifc2x3::IfcConnectionPortGeometry Ifc2x3::IfcConnectionPortGeometry::initialize(::Ifc2x3::IfcAxis2Placement v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef v3_ProfileOfPort) { set_attribute_value(0, (v1_LocationAtRelatingElement));set_attribute_value(1, (v2_LocationAtRelatedElement));set_attribute_value(2, (v3_ProfileOfPort));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc2x3::IfcSurfaceOrFaceSurface Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurfaceOrFaceSurface>(); } @@ -6494,7 +6494,7 @@ void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::If const ifcopenshell::entity& Ifc2x3::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC2X3_types[150]); } -void Ifc2x3::IfcConnectionSurfaceGeometry::initialize(::Ifc2x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc2x3::IfcConnectionSurfaceGeometry Ifc2x3::IfcConnectionSurfaceGeometry::initialize(::Ifc2x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc2x3::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -6520,7 +6520,7 @@ std::vector<::Ifc2x3::IfcConstraintAggregationRelationship> Ifc2x3::IfcConstrain std::vector<::Ifc2x3::IfcConstraintAggregationRelationship> Ifc2x3::IfcConstraint::IsAggregatedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[153], 3)); } const ifcopenshell::entity& Ifc2x3::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[152]); } -void Ifc2x3::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor));set_attribute_value(5, (v6_CreationTime)); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc2x3::IfcConstraint Ifc2x3::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor));set_attribute_value(5, (v6_CreationTime)); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstraintAggregationRelationship std::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -6536,7 +6536,7 @@ void Ifc2x3::IfcConstraintAggregationRelationship::setLogicalAggregator(const :: const ifcopenshell::entity& Ifc2x3::IfcConstraintAggregationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[153]); } -void Ifc2x3::IfcConstraintAggregationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedConstraints));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcLogicalOperatorEnum::Class(),(size_t)v5_LogicalAggregator))); } +Ifc2x3::IfcConstraintAggregationRelationship Ifc2x3::IfcConstraintAggregationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedConstraints));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcLogicalOperatorEnum::Class(),(size_t)v5_LogicalAggregator)));; return *this; } // Function implementations for IfcConstraintClassificationRelationship ::Ifc2x3::IfcConstraint Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcConstraint>(); } @@ -6546,7 +6546,7 @@ void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications( const ifcopenshell::entity& Ifc2x3::IfcConstraintClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[154]); } -void Ifc2x3::IfcConstraintClassificationRelationship::initialize(::Ifc2x3::IfcConstraint v1_ClassifiedConstraint, std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v2_RelatedClassifications) { set_attribute_value(0, (v1_ClassifiedConstraint));set_attribute_value(1, cast_vector(v2_RelatedClassifications)); } +Ifc2x3::IfcConstraintClassificationRelationship Ifc2x3::IfcConstraintClassificationRelationship::initialize(::Ifc2x3::IfcConstraint v1_ClassifiedConstraint, std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v2_RelatedClassifications) { set_attribute_value(0, (v1_ClassifiedConstraint));set_attribute_value(1, cast_vector(v2_RelatedClassifications));; return *this; } // Function implementations for IfcConstraintRelationship std::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -6560,13 +6560,13 @@ void Ifc2x3::IfcConstraintRelationship::setRelatedConstraints(const std::vector< const ifcopenshell::entity& Ifc2x3::IfcConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[156]); } -void Ifc2x3::IfcConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedConstraints)); } +Ifc2x3::IfcConstraintRelationship Ifc2x3::IfcConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedConstraints));; return *this; } // Function implementations for IfcConstructionEquipmentResource const ifcopenshell::entity& Ifc2x3::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[157]); } -void Ifc2x3::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); } +Ifc2x3::IfcConstructionEquipmentResource Ifc2x3::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc2x3::IfcActorSelect>(es); } @@ -6576,13 +6576,13 @@ void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[158]); } -void Ifc2x3::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Suppliers, std::optional< double > v11_UsageRatio) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); if (v10_Suppliers) {set_attribute_value(9, cast_vector(*v10_Suppliers)); } if (v11_UsageRatio) {set_attribute_value(10, (*v11_UsageRatio)); } } +Ifc2x3::IfcConstructionMaterialResource Ifc2x3::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Suppliers, std::optional< double > v11_UsageRatio) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); if (v10_Suppliers) {set_attribute_value(9, cast_vector(*v10_Suppliers)); } if (v11_UsageRatio) {set_attribute_value(10, (*v11_UsageRatio)); }; return *this; } // Function implementations for IfcConstructionProductResource const ifcopenshell::entity& Ifc2x3::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[159]); } -void Ifc2x3::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); } +Ifc2x3::IfcConstructionProductResource Ifc2x3::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResource std::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceIdentifier() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -6596,7 +6596,7 @@ void Ifc2x3::IfcConstructionResource::setBaseQuantity(const ::Ifc2x3::IfcMeasure const ifcopenshell::entity& Ifc2x3::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[160]); } -void Ifc2x3::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); } +Ifc2x3::IfcConstructionResource Ifc2x3::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc2x3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -6604,14 +6604,14 @@ void Ifc2x3::IfcContextDependentUnit::setName(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[162]); } -void Ifc2x3::IfcContextDependentUnit::initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc2x3::IfcContextDependentUnit Ifc2x3::IfcContextDependentUnit::initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::vector<::Ifc2x3::IfcRelAssignsToControl> Ifc2x3::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[671], 6)); } const ifcopenshell::entity& Ifc2x3::IfcControl::Class() { return *((ifcopenshell::entity*)IFC2X3_types[163]); } -void Ifc2x3::IfcControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcControl Ifc2x3::IfcControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcControllerType ::Ifc2x3::IfcControllerTypeEnum::Value Ifc2x3::IfcControllerType::PredefinedType() const { return ::Ifc2x3::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -6619,7 +6619,7 @@ void Ifc2x3::IfcControllerType::setPredefinedType(const ::Ifc2x3::IfcControllerT const ifcopenshell::entity& Ifc2x3::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[164]); } -void Ifc2x3::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcControllerType Ifc2x3::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc2x3::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -6629,7 +6629,7 @@ void Ifc2x3::IfcConversionBasedUnit::setConversionFactor(const ::Ifc2x3::IfcMeas const ifcopenshell::entity& Ifc2x3::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[166]); } -void Ifc2x3::IfcConversionBasedUnit::initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc2x3::IfcConversionBasedUnit Ifc2x3::IfcConversionBasedUnit::initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcCooledBeamType ::Ifc2x3::IfcCooledBeamTypeEnum::Value Ifc2x3::IfcCooledBeamType::PredefinedType() const { return ::Ifc2x3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -6637,7 +6637,7 @@ void Ifc2x3::IfcCooledBeamType::setPredefinedType(const ::Ifc2x3::IfcCooledBeamT const ifcopenshell::entity& Ifc2x3::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[167]); } -void Ifc2x3::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCooledBeamType Ifc2x3::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc2x3::IfcCoolingTowerTypeEnum::Value Ifc2x3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc2x3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -6645,7 +6645,7 @@ void Ifc2x3::IfcCoolingTowerType::setPredefinedType(const ::Ifc2x3::IfcCoolingTo const ifcopenshell::entity& Ifc2x3::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[169]); } -void Ifc2x3::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCoolingTowerType Ifc2x3::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinatedUniversalTimeOffset int Ifc2x3::IfcCoordinatedUniversalTimeOffset::HourOffset() const { int v = get_attribute_value(0); return v; } @@ -6657,13 +6657,13 @@ void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setSense(const ::Ifc2x3::IfcAhea const ifcopenshell::entity& Ifc2x3::IfcCoordinatedUniversalTimeOffset::Class() { return *((ifcopenshell::entity*)IFC2X3_types[171]); } -void Ifc2x3::IfcCoordinatedUniversalTimeOffset::initialize(int v1_HourOffset, std::optional< int > v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense) { set_attribute_value(0, (v1_HourOffset)); if (v2_MinuteOffset) {set_attribute_value(1, (*v2_MinuteOffset)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcAheadOrBehind::Class(),(size_t)v3_Sense))); } +Ifc2x3::IfcCoordinatedUniversalTimeOffset Ifc2x3::IfcCoordinatedUniversalTimeOffset::initialize(int v1_HourOffset, std::optional< int > v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense) { set_attribute_value(0, (v1_HourOffset)); if (v2_MinuteOffset) {set_attribute_value(1, (*v2_MinuteOffset)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcAheadOrBehind::Class(),(size_t)v3_Sense)));; return *this; } // Function implementations for IfcCostItem const ifcopenshell::entity& Ifc2x3::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[172]); } -void Ifc2x3::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcCostItem Ifc2x3::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcCostSchedule ::Ifc2x3::IfcActorSelect Ifc2x3::IfcCostSchedule::SubmittedBy() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcActorSelect>(); } @@ -6685,7 +6685,7 @@ void Ifc2x3::IfcCostSchedule::setPredefinedType(const ::Ifc2x3::IfcCostScheduleT const ifcopenshell::entity& Ifc2x3::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC2X3_types[173]); } -void Ifc2x3::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_SubmittedBy, ::Ifc2x3::IfcActorSelect v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect v8_SubmittedOn, std::optional< std::string > v9_Status, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_SubmittedBy));set_attribute_value(6, (v7_PreparedBy));set_attribute_value(7, (v8_SubmittedOn)); if (v9_Status) {set_attribute_value(8, (*v9_Status)); } if (v10_TargetUsers) {set_attribute_value(9, cast_vector(*v10_TargetUsers)); }set_attribute_value(10, (v11_UpdateDate));set_attribute_value(11, (v12_ID));set_attribute_value(12, (enumeration_reference(&::Ifc2x3::IfcCostScheduleTypeEnum::Class(),(size_t)v13_PredefinedType))); } +Ifc2x3::IfcCostSchedule Ifc2x3::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_SubmittedBy, ::Ifc2x3::IfcActorSelect v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect v8_SubmittedOn, std::optional< std::string > v9_Status, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_SubmittedBy));set_attribute_value(6, (v7_PreparedBy));set_attribute_value(7, (v8_SubmittedOn)); if (v9_Status) {set_attribute_value(8, (*v9_Status)); } if (v10_TargetUsers) {set_attribute_value(9, cast_vector(*v10_TargetUsers)); }set_attribute_value(10, (v11_UpdateDate));set_attribute_value(11, (v12_ID));set_attribute_value(12, (enumeration_reference(&::Ifc2x3::IfcCostScheduleTypeEnum::Class(),(size_t)v13_PredefinedType)));; return *this; } // Function implementations for IfcCostValue std::string Ifc2x3::IfcCostValue::CostType() const { std::string v = get_attribute_value(6); return v; } @@ -6695,7 +6695,7 @@ void Ifc2x3::IfcCostValue::setCondition(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc2x3::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[175]); } -void Ifc2x3::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_CostType, std::optional< std::string > v8_Condition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis));set_attribute_value(4, (v5_ApplicableDate));set_attribute_value(5, (v6_FixedUntilDate));set_attribute_value(6, (v7_CostType)); if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } } +Ifc2x3::IfcCostValue Ifc2x3::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_CostType, std::optional< std::string > v8_Condition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis));set_attribute_value(4, (v5_ApplicableDate));set_attribute_value(5, (v6_FixedUntilDate));set_attribute_value(6, (v7_CostType)); if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); }; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > Ifc2x3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -6705,7 +6705,7 @@ std::vector<::Ifc2x3::IfcRelCoversSpaces> Ifc2x3::IfcCovering::CoversSpaces() co std::vector<::Ifc2x3::IfcRelCoversBldgElements> Ifc2x3::IfcCovering::Covers() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[699], 5)); } const ifcopenshell::entity& Ifc2x3::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC2X3_types[177]); } -void Ifc2x3::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc2x3::IfcCovering Ifc2x3::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc2x3::IfcCoveringTypeEnum::Value Ifc2x3::IfcCoveringType::PredefinedType() const { return ::Ifc2x3::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -6713,7 +6713,7 @@ void Ifc2x3::IfcCoveringType::setPredefinedType(const ::Ifc2x3::IfcCoveringTypeE const ifcopenshell::entity& Ifc2x3::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[178]); } -void Ifc2x3::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCoveringType Ifc2x3::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCraneRailAShapeProfileDef double Ifc2x3::IfcCraneRailAShapeProfileDef::OverallHeight() const { double v = get_attribute_value(3); return v; } @@ -6743,7 +6743,7 @@ void Ifc2x3::IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(const std::opti const ifcopenshell::entity& Ifc2x3::IfcCraneRailAShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[180]); } -void Ifc2x3::IfcCraneRailAShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_BaseWidth2, std::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, std::optional< double > v15_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_BaseWidth2)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadWidth));set_attribute_value(7, (v8_HeadDepth2));set_attribute_value(8, (v9_HeadDepth3));set_attribute_value(9, (v10_WebThickness));set_attribute_value(10, (v11_BaseWidth4));set_attribute_value(11, (v12_BaseDepth1));set_attribute_value(12, (v13_BaseDepth2));set_attribute_value(13, (v14_BaseDepth3)); if (v15_CentreOfGravityInY) {set_attribute_value(14, (*v15_CentreOfGravityInY)); } } +Ifc2x3::IfcCraneRailAShapeProfileDef Ifc2x3::IfcCraneRailAShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_BaseWidth2, std::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, std::optional< double > v15_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_BaseWidth2)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadWidth));set_attribute_value(7, (v8_HeadDepth2));set_attribute_value(8, (v9_HeadDepth3));set_attribute_value(9, (v10_WebThickness));set_attribute_value(10, (v11_BaseWidth4));set_attribute_value(11, (v12_BaseDepth1));set_attribute_value(12, (v13_BaseDepth2));set_attribute_value(13, (v14_BaseDepth3)); if (v15_CentreOfGravityInY) {set_attribute_value(14, (*v15_CentreOfGravityInY)); }; return *this; } // Function implementations for IfcCraneRailFShapeProfileDef double Ifc2x3::IfcCraneRailFShapeProfileDef::OverallHeight() const { double v = get_attribute_value(3); return v; } @@ -6767,13 +6767,13 @@ void Ifc2x3::IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(const std::opti const ifcopenshell::entity& Ifc2x3::IfcCraneRailFShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[181]); } -void Ifc2x3::IfcCraneRailFShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_HeadWidth, std::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, std::optional< double > v12_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_HeadWidth)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadDepth2));set_attribute_value(7, (v8_HeadDepth3));set_attribute_value(8, (v9_WebThickness));set_attribute_value(9, (v10_BaseDepth1));set_attribute_value(10, (v11_BaseDepth2)); if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); } } +Ifc2x3::IfcCraneRailFShapeProfileDef Ifc2x3::IfcCraneRailFShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_HeadWidth, std::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, std::optional< double > v12_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_HeadWidth)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadDepth2));set_attribute_value(7, (v8_HeadDepth3));set_attribute_value(8, (v9_WebThickness));set_attribute_value(9, (v10_BaseDepth1));set_attribute_value(10, (v11_BaseDepth2)); if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); }; return *this; } // Function implementations for IfcCrewResource const ifcopenshell::entity& Ifc2x3::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[182]); } -void Ifc2x3::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); } +Ifc2x3::IfcCrewResource Ifc2x3::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement3D>(); } @@ -6781,7 +6781,7 @@ void Ifc2x3::IfcCsgPrimitive3D::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc2x3::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[183]); } -void Ifc2x3::IfcCsgPrimitive3D::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc2x3::IfcCsgPrimitive3D Ifc2x3::IfcCsgPrimitive3D::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc2x3::IfcCsgSelect Ifc2x3::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCsgSelect>(); } @@ -6789,7 +6789,7 @@ void Ifc2x3::IfcCsgSolid::setTreeRootExpression(const ::Ifc2x3::IfcCsgSelect& v) const ifcopenshell::entity& Ifc2x3::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[185]); } -void Ifc2x3::IfcCsgSolid::initialize(::Ifc2x3::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc2x3::IfcCsgSolid Ifc2x3::IfcCsgSolid::initialize(::Ifc2x3::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc2x3::IfcMonetaryUnit Ifc2x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcMonetaryUnit>(); } @@ -6805,13 +6805,13 @@ void Ifc2x3::IfcCurrencyRelationship::setRateSource(const ::Ifc2x3::IfcLibraryIn const ifcopenshell::entity& Ifc2x3::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[188]); } -void Ifc2x3::IfcCurrencyRelationship::initialize(::Ifc2x3::IfcMonetaryUnit v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation v5_RateSource) { set_attribute_value(0, (v1_RelatingMonetaryUnit));set_attribute_value(1, (v2_RelatedMonetaryUnit));set_attribute_value(2, (v3_ExchangeRate));set_attribute_value(3, (v4_RateDateTime));set_attribute_value(4, (v5_RateSource)); } +Ifc2x3::IfcCurrencyRelationship Ifc2x3::IfcCurrencyRelationship::initialize(::Ifc2x3::IfcMonetaryUnit v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation v5_RateSource) { set_attribute_value(0, (v1_RelatingMonetaryUnit));set_attribute_value(1, (v2_RelatedMonetaryUnit));set_attribute_value(2, (v3_ExchangeRate));set_attribute_value(3, (v4_RateDateTime));set_attribute_value(4, (v5_RateSource));; return *this; } // Function implementations for IfcCurtainWall const ifcopenshell::entity& Ifc2x3::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC2X3_types[189]); } -void Ifc2x3::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcCurtainWall Ifc2x3::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc2x3::IfcCurtainWallTypeEnum::Value Ifc2x3::IfcCurtainWallType::PredefinedType() const { return ::Ifc2x3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -6819,13 +6819,13 @@ void Ifc2x3::IfcCurtainWallType::setPredefinedType(const ::Ifc2x3::IfcCurtainWal const ifcopenshell::entity& Ifc2x3::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[190]); } -void Ifc2x3::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcCurtainWallType Ifc2x3::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc2x3::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[193]); } -void Ifc2x3::IfcCurve::initialize() { } +Ifc2x3::IfcCurve Ifc2x3::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc2x3::IfcPlane Ifc2x3::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcPlane>(); } @@ -6837,7 +6837,7 @@ void Ifc2x3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc2x const ifcopenshell::entity& Ifc2x3::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC2X3_types[194]); } -void Ifc2x3::IfcCurveBoundedPlane::initialize(::Ifc2x3::IfcPlane v1_BasisSurface, ::Ifc2x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc2x3::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc2x3::IfcCurveBoundedPlane Ifc2x3::IfcCurveBoundedPlane::initialize(::Ifc2x3::IfcPlane v1_BasisSurface, ::Ifc2x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc2x3::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveStyle ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect Ifc2x3::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -6849,7 +6849,7 @@ void Ifc2x3::IfcCurveStyle::setCurveColour(const ::Ifc2x3::IfcColour& v) { set_a const ifcopenshell::entity& Ifc2x3::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[197]); } -void Ifc2x3::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc2x3::IfcSizeSelect v3_CurveWidth, ::Ifc2x3::IfcColour v4_CurveColour) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); } +Ifc2x3::IfcCurveStyle Ifc2x3::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc2x3::IfcSizeSelect v3_CurveWidth, ::Ifc2x3::IfcColour v4_CurveColour) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour));; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc2x3::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -6859,7 +6859,7 @@ void Ifc2x3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc2x3::IfcC const ifcopenshell::entity& Ifc2x3::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[198]); } -void Ifc2x3::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc2x3::IfcCurveStyleFont Ifc2x3::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc2x3::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -6871,7 +6871,7 @@ void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { const ifcopenshell::entity& Ifc2x3::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC2X3_types[199]); } -void Ifc2x3::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc2x3::IfcCurveStyleFontAndScaling Ifc2x3::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc2x3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -6881,7 +6881,7 @@ void Ifc2x3::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const double& v const ifcopenshell::entity& Ifc2x3::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC2X3_types[200]); } -void Ifc2x3::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc2x3::IfcCurveStyleFontPattern Ifc2x3::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcDamperType ::Ifc2x3::IfcDamperTypeEnum::Value Ifc2x3::IfcDamperType::PredefinedType() const { return ::Ifc2x3::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -6889,7 +6889,7 @@ void Ifc2x3::IfcDamperType::setPredefinedType(const ::Ifc2x3::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[202]); } -void Ifc2x3::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcDamperType Ifc2x3::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDateAndTime ::Ifc2x3::IfcCalendarDate Ifc2x3::IfcDateAndTime::DateComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCalendarDate>(); } @@ -6899,7 +6899,7 @@ void Ifc2x3::IfcDateAndTime::setTimeComponent(const ::Ifc2x3::IfcLocalTime& v) { const ifcopenshell::entity& Ifc2x3::IfcDateAndTime::Class() { return *((ifcopenshell::entity*)IFC2X3_types[205]); } -void Ifc2x3::IfcDateAndTime::initialize(::Ifc2x3::IfcCalendarDate v1_DateComponent, ::Ifc2x3::IfcLocalTime v2_TimeComponent) { set_attribute_value(0, (v1_DateComponent));set_attribute_value(1, (v2_TimeComponent)); } +Ifc2x3::IfcDateAndTime Ifc2x3::IfcDateAndTime::initialize(::Ifc2x3::IfcCalendarDate v1_DateComponent, ::Ifc2x3::IfcLocalTime v2_TimeComponent) { set_attribute_value(0, (v1_DateComponent));set_attribute_value(1, (v2_TimeComponent));; return *this; } // Function implementations for IfcDefinedSymbol ::Ifc2x3::IfcDefinedSymbolSelect Ifc2x3::IfcDefinedSymbol::Definition() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDefinedSymbolSelect>(); } @@ -6909,7 +6909,7 @@ void Ifc2x3::IfcDefinedSymbol::setTarget(const ::Ifc2x3::IfcCartesianTransformat const ifcopenshell::entity& Ifc2x3::IfcDefinedSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[209]); } -void Ifc2x3::IfcDefinedSymbol::initialize(::Ifc2x3::IfcDefinedSymbolSelect v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D v2_Target) { set_attribute_value(0, (v1_Definition));set_attribute_value(1, (v2_Target)); } +Ifc2x3::IfcDefinedSymbol Ifc2x3::IfcDefinedSymbol::initialize(::Ifc2x3::IfcDefinedSymbolSelect v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D v2_Target) { set_attribute_value(0, (v1_Definition));set_attribute_value(1, (v2_Target));; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc2x3::IfcProfileDef Ifc2x3::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcProfileDef>(); } @@ -6921,7 +6921,7 @@ void Ifc2x3::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& const ifcopenshell::entity& Ifc2x3::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[212]); } -void Ifc2x3::IfcDerivedProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcProfileDef v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc2x3::IfcDerivedProfileDef Ifc2x3::IfcDerivedProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcProfileDef v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc2x3::IfcDerivedUnitElement > Ifc2x3::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcDerivedUnitElement>(es); } @@ -6933,7 +6933,7 @@ void Ifc2x3::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string const ifcopenshell::entity& Ifc2x3::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[213]); } -void Ifc2x3::IfcDerivedUnit::initialize(std::vector< ::Ifc2x3::IfcDerivedUnitElement > v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc2x3::IfcDerivedUnit Ifc2x3::IfcDerivedUnit::initialize(std::vector< ::Ifc2x3::IfcDerivedUnitElement > v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc2x3::IfcNamedUnit Ifc2x3::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcNamedUnit>(); } @@ -6943,32 +6943,32 @@ void Ifc2x3::IfcDerivedUnitElement::setExponent(const int& v) { set_attribute_va const ifcopenshell::entity& Ifc2x3::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[214]); } -void Ifc2x3::IfcDerivedUnitElement::initialize(::Ifc2x3::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc2x3::IfcDerivedUnitElement Ifc2x3::IfcDerivedUnitElement::initialize(::Ifc2x3::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDiameterDimension const ifcopenshell::entity& Ifc2x3::IfcDiameterDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[217]); } -void Ifc2x3::IfcDiameterDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcDiameterDimension Ifc2x3::IfcDiameterDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcDimensionCalloutRelationship const ifcopenshell::entity& Ifc2x3::IfcDimensionCalloutRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[219]); } -void Ifc2x3::IfcDimensionCalloutRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDraughtingCallout));set_attribute_value(3, (v4_RelatedDraughtingCallout)); } +Ifc2x3::IfcDimensionCalloutRelationship Ifc2x3::IfcDimensionCalloutRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDraughtingCallout));set_attribute_value(3, (v4_RelatedDraughtingCallout));; return *this; } // Function implementations for IfcDimensionCurve std::vector<::Ifc2x3::IfcTerminatorSymbol> Ifc2x3::IfcDimensionCurve::AnnotatedBySymbols() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[878], 3)); } const ifcopenshell::entity& Ifc2x3::IfcDimensionCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[221]); } -void Ifc2x3::IfcDimensionCurve::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcDimensionCurve Ifc2x3::IfcDimensionCurve::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcDimensionCurveDirectedCallout const ifcopenshell::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::Class() { return *((ifcopenshell::entity*)IFC2X3_types[222]); } -void Ifc2x3::IfcDimensionCurveDirectedCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcDimensionCurveDirectedCallout Ifc2x3::IfcDimensionCurveDirectedCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcDimensionCurveTerminator ::Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionCurveTerminator::Role() const { return ::Ifc2x3::IfcDimensionExtentUsage::FromString(get_attribute_value(4)); } @@ -6976,13 +6976,13 @@ void Ifc2x3::IfcDimensionCurveTerminator::setRole(const ::Ifc2x3::IfcDimensionEx const ifcopenshell::entity& Ifc2x3::IfcDimensionCurveTerminator::Class() { return *((ifcopenshell::entity*)IFC2X3_types[223]); } -void Ifc2x3::IfcDimensionCurveTerminator::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_AnnotatedCurve));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcDimensionExtentUsage::Class(),(size_t)v5_Role))); } +Ifc2x3::IfcDimensionCurveTerminator Ifc2x3::IfcDimensionCurveTerminator::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_AnnotatedCurve));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcDimensionExtentUsage::Class(),(size_t)v5_Role)));; return *this; } // Function implementations for IfcDimensionPair const ifcopenshell::entity& Ifc2x3::IfcDimensionPair::Class() { return *((ifcopenshell::entity*)IFC2X3_types[225]); } -void Ifc2x3::IfcDimensionPair::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDraughtingCallout));set_attribute_value(3, (v4_RelatedDraughtingCallout)); } +Ifc2x3::IfcDimensionPair Ifc2x3::IfcDimensionPair::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDraughtingCallout));set_attribute_value(3, (v4_RelatedDraughtingCallout));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc2x3::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -7002,7 +7002,7 @@ void Ifc2x3::IfcDimensionalExponents::setLuminousIntensityExponent(const int& v) const ifcopenshell::entity& Ifc2x3::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC2X3_types[218]); } -void Ifc2x3::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc2x3::IfcDimensionalExponents Ifc2x3::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc2x3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -7010,25 +7010,25 @@ void Ifc2x3::IfcDirection::setDirectionRatios(const std::vector< double > /*[2:3 const ifcopenshell::entity& Ifc2x3::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[226]); } -void Ifc2x3::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc2x3::IfcDirection Ifc2x3::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDiscreteAccessory const ifcopenshell::entity& Ifc2x3::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC2X3_types[228]); } -void Ifc2x3::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcDiscreteAccessory Ifc2x3::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDiscreteAccessoryType const ifcopenshell::entity& Ifc2x3::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[229]); } -void Ifc2x3::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcDiscreteAccessoryType Ifc2x3::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionChamberElement const ifcopenshell::entity& Ifc2x3::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[230]); } -void Ifc2x3::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcDistributionChamberElement Ifc2x3::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value Ifc2x3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -7036,7 +7036,7 @@ void Ifc2x3::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[231]); } -void Ifc2x3::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcDistributionChamberElementType Ifc2x3::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionControlElement std::optional< std::string > Ifc2x3::IfcDistributionControlElement::ControlElementId() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -7045,38 +7045,38 @@ void Ifc2x3::IfcDistributionControlElement::setControlElementId(const std::optio std::vector<::Ifc2x3::IfcRelFlowControlElements> Ifc2x3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[706], 4)); } const ifcopenshell::entity& Ifc2x3::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[233]); } -void Ifc2x3::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ControlElementId) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ControlElementId) {set_attribute_value(8, (*v9_ControlElementId)); } } +Ifc2x3::IfcDistributionControlElement Ifc2x3::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ControlElementId) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ControlElementId) {set_attribute_value(8, (*v9_ControlElementId)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc2x3::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[234]); } -void Ifc2x3::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcDistributionControlElementType Ifc2x3::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement const ifcopenshell::entity& Ifc2x3::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[235]); } -void Ifc2x3::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcDistributionElement Ifc2x3::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc2x3::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[236]); } -void Ifc2x3::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcDistributionElementType Ifc2x3::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc2x3::IfcRelFlowControlElements> Ifc2x3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[706], 5)); } const ifcopenshell::entity& Ifc2x3::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[237]); } -void Ifc2x3::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcDistributionFlowElement Ifc2x3::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc2x3::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[238]); } -void Ifc2x3::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcDistributionFlowElementType Ifc2x3::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > Ifc2x3::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -7084,7 +7084,7 @@ void Ifc2x3::IfcDistributionPort::setFlowDirection(const std::optional< ::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC2X3_types[239]); } -void Ifc2x3::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v8_FlowDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } } +Ifc2x3::IfcDistributionPort Ifc2x3::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v8_FlowDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); }; return *this; } // Function implementations for IfcDocumentElectronicFormat std::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::FileExtension() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7096,7 +7096,7 @@ void Ifc2x3::IfcDocumentElectronicFormat::setMimeSubtype(const std::optional< st const ifcopenshell::entity& Ifc2x3::IfcDocumentElectronicFormat::Class() { return *((ifcopenshell::entity*)IFC2X3_types[241]); } -void Ifc2x3::IfcDocumentElectronicFormat::initialize(std::optional< std::string > v1_FileExtension, std::optional< std::string > v2_MimeContentType, std::optional< std::string > v3_MimeSubtype) { if (v1_FileExtension) {set_attribute_value(0, (*v1_FileExtension)); } if (v2_MimeContentType) {set_attribute_value(1, (*v2_MimeContentType)); } if (v3_MimeSubtype) {set_attribute_value(2, (*v3_MimeSubtype)); } } +Ifc2x3::IfcDocumentElectronicFormat Ifc2x3::IfcDocumentElectronicFormat::initialize(std::optional< std::string > v1_FileExtension, std::optional< std::string > v2_MimeContentType, std::optional< std::string > v3_MimeSubtype) { if (v1_FileExtension) {set_attribute_value(0, (*v1_FileExtension)); } if (v2_MimeContentType) {set_attribute_value(1, (*v2_MimeContentType)); } if (v3_MimeSubtype) {set_attribute_value(2, (*v3_MimeSubtype)); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc2x3::IfcDocumentInformation::DocumentId() const { std::string v = get_attribute_value(0); return v; } @@ -7138,7 +7138,7 @@ std::vector<::Ifc2x3::IfcDocumentInformationRelationship> Ifc2x3::IfcDocumentInf std::vector<::Ifc2x3::IfcDocumentInformationRelationship> Ifc2x3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[243], 0)); } const ifcopenshell::entity& Ifc2x3::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[242]); } -void Ifc2x3::IfcDocumentInformation::initialize(std::string v1_DocumentId, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > > v4_DocumentReferences, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Editors, ::Ifc2x3::IfcDateAndTime v11_CreationTime, ::Ifc2x3::IfcDateAndTime v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate v14_ValidFrom, ::Ifc2x3::IfcCalendarDate v15_ValidUntil, std::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_DocumentId));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_DocumentReferences) {set_attribute_value(3, cast_vector(*v4_DocumentReferences)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); }set_attribute_value(10, (v11_CreationTime));set_attribute_value(11, (v12_LastRevisionTime));set_attribute_value(12, (v13_ElectronicFormat));set_attribute_value(13, (v14_ValidFrom));set_attribute_value(14, (v15_ValidUntil)); if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc2x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc2x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc2x3::IfcDocumentInformation Ifc2x3::IfcDocumentInformation::initialize(std::string v1_DocumentId, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > > v4_DocumentReferences, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Editors, ::Ifc2x3::IfcDateAndTime v11_CreationTime, ::Ifc2x3::IfcDateAndTime v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate v14_ValidFrom, ::Ifc2x3::IfcCalendarDate v15_ValidUntil, std::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_DocumentId));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_DocumentReferences) {set_attribute_value(3, cast_vector(*v4_DocumentReferences)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); }set_attribute_value(10, (v11_CreationTime));set_attribute_value(11, (v12_LastRevisionTime));set_attribute_value(12, (v13_ElectronicFormat));set_attribute_value(13, (v14_ValidFrom));set_attribute_value(14, (v15_ValidUntil)); if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc2x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc2x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc2x3::IfcDocumentInformation Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDocumentInformation>(); } @@ -7150,14 +7150,14 @@ void Ifc2x3::IfcDocumentInformationRelationship::setRelationshipType(const std:: const ifcopenshell::entity& Ifc2x3::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[243]); } -void Ifc2x3::IfcDocumentInformationRelationship::initialize(::Ifc2x3::IfcDocumentInformation v1_RelatingDocument, std::vector< ::Ifc2x3::IfcDocumentInformation > v2_RelatedDocuments, std::optional< std::string > v3_RelationshipType) { set_attribute_value(0, (v1_RelatingDocument));set_attribute_value(1, cast_vector(v2_RelatedDocuments)); if (v3_RelationshipType) {set_attribute_value(2, (*v3_RelationshipType)); } } +Ifc2x3::IfcDocumentInformationRelationship Ifc2x3::IfcDocumentInformationRelationship::initialize(::Ifc2x3::IfcDocumentInformation v1_RelatingDocument, std::vector< ::Ifc2x3::IfcDocumentInformation > v2_RelatedDocuments, std::optional< std::string > v3_RelationshipType) { set_attribute_value(0, (v1_RelatingDocument));set_attribute_value(1, cast_vector(v2_RelatedDocuments)); if (v3_RelationshipType) {set_attribute_value(2, (*v3_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::vector<::Ifc2x3::IfcDocumentInformation> Ifc2x3::IfcDocumentReference::ReferenceToDocument() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[242], 3)); } const ifcopenshell::entity& Ifc2x3::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC2X3_types[244]); } -void Ifc2x3::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcDocumentReference Ifc2x3::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc2x3::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -7167,7 +7167,7 @@ void Ifc2x3::IfcDoor::setOverallWidth(const std::optional< double >& v) { if (v) const ifcopenshell::entity& Ifc2x3::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[247]); } -void Ifc2x3::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } } +Ifc2x3::IfcDoor Ifc2x3::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -7195,7 +7195,7 @@ void Ifc2x3::IfcDoorLiningProperties::setShapeAspectStyle(const ::Ifc2x3::IfcSha const ifcopenshell::entity& Ifc2x3::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[248]); } -void Ifc2x3::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc2x3::IfcShapeAspect v15_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); } +Ifc2x3::IfcDoorLiningProperties Ifc2x3::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc2x3::IfcShapeAspect v15_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -7211,7 +7211,7 @@ void Ifc2x3::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc2x3::IfcShap const ifcopenshell::entity& Ifc2x3::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[251]); } -void Ifc2x3::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc2x3::IfcDoorPanelProperties Ifc2x3::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStyle ::Ifc2x3::IfcDoorStyleOperationEnum::Value Ifc2x3::IfcDoorStyle::OperationType() const { return ::Ifc2x3::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -7225,7 +7225,7 @@ void Ifc2x3::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value(11, const ifcopenshell::entity& Ifc2x3::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[252]); } -void Ifc2x3::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc2x3::IfcDoorStyle Ifc2x3::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDraughtingCallout std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > Ifc2x3::IfcDraughtingCallout::Contents() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcDraughtingCalloutElement>(es); } @@ -7235,7 +7235,7 @@ std::vector<::Ifc2x3::IfcDraughtingCalloutRelationship> Ifc2x3::IfcDraughtingCal std::vector<::Ifc2x3::IfcDraughtingCalloutRelationship> Ifc2x3::IfcDraughtingCallout::IsRelatedToCallout() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[258], 2)); } const ifcopenshell::entity& Ifc2x3::IfcDraughtingCallout::Class() { return *((ifcopenshell::entity*)IFC2X3_types[256]); } -void Ifc2x3::IfcDraughtingCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcDraughtingCallout Ifc2x3::IfcDraughtingCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcDraughtingCalloutRelationship std::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7249,25 +7249,25 @@ void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatedDraughtingCallout(const const ifcopenshell::entity& Ifc2x3::IfcDraughtingCalloutRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[258]); } -void Ifc2x3::IfcDraughtingCalloutRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDraughtingCallout));set_attribute_value(3, (v4_RelatedDraughtingCallout)); } +Ifc2x3::IfcDraughtingCalloutRelationship Ifc2x3::IfcDraughtingCalloutRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDraughtingCallout));set_attribute_value(3, (v4_RelatedDraughtingCallout));; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc2x3::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC2X3_types[259]); } -void Ifc2x3::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcDraughtingPreDefinedColour Ifc2x3::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc2x3::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[260]); } -void Ifc2x3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcDraughtingPreDefinedCurveFont Ifc2x3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedTextFont const ifcopenshell::entity& Ifc2x3::IfcDraughtingPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[261]); } -void Ifc2x3::IfcDraughtingPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcDraughtingPreDefinedTextFont Ifc2x3::IfcDraughtingPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFittingType ::Ifc2x3::IfcDuctFittingTypeEnum::Value Ifc2x3::IfcDuctFittingType::PredefinedType() const { return ::Ifc2x3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -7275,7 +7275,7 @@ void Ifc2x3::IfcDuctFittingType::setPredefinedType(const ::Ifc2x3::IfcDuctFittin const ifcopenshell::entity& Ifc2x3::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[262]); } -void Ifc2x3::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcDuctFittingType Ifc2x3::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc2x3::IfcDuctSegmentTypeEnum::Value Ifc2x3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc2x3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -7283,7 +7283,7 @@ void Ifc2x3::IfcDuctSegmentType::setPredefinedType(const ::Ifc2x3::IfcDuctSegmen const ifcopenshell::entity& Ifc2x3::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[264]); } -void Ifc2x3::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcDuctSegmentType Ifc2x3::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc2x3::IfcDuctSilencerTypeEnum::Value Ifc2x3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc2x3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -7291,7 +7291,7 @@ void Ifc2x3::IfcDuctSilencerType::setPredefinedType(const ::Ifc2x3::IfcDuctSilen const ifcopenshell::entity& Ifc2x3::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[266]); } -void Ifc2x3::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcDuctSilencerType Ifc2x3::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEdge ::Ifc2x3::IfcVertex Ifc2x3::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcVertex>(); } @@ -7301,7 +7301,7 @@ void Ifc2x3::IfcEdge::setEdgeEnd(const ::Ifc2x3::IfcVertex& v) { set_attribute_v const ifcopenshell::entity& Ifc2x3::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC2X3_types[269]); } -void Ifc2x3::IfcEdge::initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc2x3::IfcEdge Ifc2x3::IfcEdge::initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc2x3::IfcCurve Ifc2x3::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } @@ -7311,7 +7311,7 @@ void Ifc2x3::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc2x3::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[270]); } -void Ifc2x3::IfcEdgeCurve::initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc2x3::IfcEdgeCurve Ifc2x3::IfcEdgeCurve::initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeFeature std::optional< double > Ifc2x3::IfcEdgeFeature::FeatureLength() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -7319,7 +7319,7 @@ void Ifc2x3::IfcEdgeFeature::setFeatureLength(const std::optional< double >& v) const ifcopenshell::entity& Ifc2x3::IfcEdgeFeature::Class() { return *((ifcopenshell::entity*)IFC2X3_types[271]); } -void Ifc2x3::IfcEdgeFeature::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } } +Ifc2x3::IfcEdgeFeature Ifc2x3::IfcEdgeFeature::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); }; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc2x3::IfcOrientedEdge > Ifc2x3::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcOrientedEdge>(es); } @@ -7327,7 +7327,7 @@ void Ifc2x3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEd const ifcopenshell::entity& Ifc2x3::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC2X3_types[272]); } -void Ifc2x3::IfcEdgeLoop::initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc2x3::IfcEdgeLoop Ifc2x3::IfcEdgeLoop::initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc2x3::IfcElectricApplianceTypeEnum::Value Ifc2x3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc2x3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -7335,7 +7335,7 @@ void Ifc2x3::IfcElectricApplianceType::setPredefinedType(const ::Ifc2x3::IfcElec const ifcopenshell::entity& Ifc2x3::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[276]); } -void Ifc2x3::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElectricApplianceType Ifc2x3::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionPoint ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value Ifc2x3::IfcElectricDistributionPoint::DistributionPointFunction() const { return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::FromString(get_attribute_value(8)); } @@ -7345,7 +7345,7 @@ void Ifc2x3::IfcElectricDistributionPoint::setUserDefinedFunction(const std::opt const ifcopenshell::entity& Ifc2x3::IfcElectricDistributionPoint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[283]); } -void Ifc2x3::IfcElectricDistributionPoint::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, std::optional< std::string > v10_UserDefinedFunction) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Class(),(size_t)v9_DistributionPointFunction))); if (v10_UserDefinedFunction) {set_attribute_value(9, (*v10_UserDefinedFunction)); } } +Ifc2x3::IfcElectricDistributionPoint Ifc2x3::IfcElectricDistributionPoint::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, std::optional< std::string > v10_UserDefinedFunction) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Class(),(size_t)v9_DistributionPointFunction))); if (v10_UserDefinedFunction) {set_attribute_value(9, (*v10_UserDefinedFunction)); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc2x3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -7353,7 +7353,7 @@ void Ifc2x3::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc2x3: const ifcopenshell::entity& Ifc2x3::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[285]); } -void Ifc2x3::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElectricFlowStorageDeviceType Ifc2x3::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value Ifc2x3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc2x3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -7361,7 +7361,7 @@ void Ifc2x3::IfcElectricGeneratorType::setPredefinedType(const ::Ifc2x3::IfcElec const ifcopenshell::entity& Ifc2x3::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[287]); } -void Ifc2x3::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElectricGeneratorType Ifc2x3::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricHeaterType ::Ifc2x3::IfcElectricHeaterTypeEnum::Value Ifc2x3::IfcElectricHeaterType::PredefinedType() const { return ::Ifc2x3::IfcElectricHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -7369,7 +7369,7 @@ void Ifc2x3::IfcElectricHeaterType::setPredefinedType(const ::Ifc2x3::IfcElectri const ifcopenshell::entity& Ifc2x3::IfcElectricHeaterType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[289]); } -void Ifc2x3::IfcElectricHeaterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElectricHeaterType Ifc2x3::IfcElectricHeaterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotorType ::Ifc2x3::IfcElectricMotorTypeEnum::Value Ifc2x3::IfcElectricMotorType::PredefinedType() const { return ::Ifc2x3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -7377,7 +7377,7 @@ void Ifc2x3::IfcElectricMotorType::setPredefinedType(const ::Ifc2x3::IfcElectric const ifcopenshell::entity& Ifc2x3::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[291]); } -void Ifc2x3::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElectricMotorType Ifc2x3::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value Ifc2x3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc2x3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -7385,7 +7385,7 @@ void Ifc2x3::IfcElectricTimeControlType::setPredefinedType(const ::Ifc2x3::IfcEl const ifcopenshell::entity& Ifc2x3::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[294]); } -void Ifc2x3::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElectricTimeControlType Ifc2x3::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricalBaseProperties std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > Ifc2x3::IfcElectricalBaseProperties::ElectricCurrentType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcElectricCurrentEnum::FromString(get_attribute_value(6)); } @@ -7407,19 +7407,19 @@ void Ifc2x3::IfcElectricalBaseProperties::setInputPhase(const int& v) { set_attr const ifcopenshell::entity& Ifc2x3::IfcElectricalBaseProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[273]); } -void Ifc2x3::IfcElectricalBaseProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence, std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, std::optional< double > v10_FullLoadCurrent, std::optional< double > v11_MinimumCircuitCurrent, std::optional< double > v12_MaximumPowerInput, std::optional< double > v13_RatedPowerInput, int v14_InputPhase) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); } if (v7_ElectricCurrentType) {set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcElectricCurrentEnum::Class(),(size_t)*v7_ElectricCurrentType))); }set_attribute_value(7, (v8_InputVoltage));set_attribute_value(8, (v9_InputFrequency)); if (v10_FullLoadCurrent) {set_attribute_value(9, (*v10_FullLoadCurrent)); } if (v11_MinimumCircuitCurrent) {set_attribute_value(10, (*v11_MinimumCircuitCurrent)); } if (v12_MaximumPowerInput) {set_attribute_value(11, (*v12_MaximumPowerInput)); } if (v13_RatedPowerInput) {set_attribute_value(12, (*v13_RatedPowerInput)); }set_attribute_value(13, (v14_InputPhase)); } +Ifc2x3::IfcElectricalBaseProperties Ifc2x3::IfcElectricalBaseProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence, std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, std::optional< double > v10_FullLoadCurrent, std::optional< double > v11_MinimumCircuitCurrent, std::optional< double > v12_MaximumPowerInput, std::optional< double > v13_RatedPowerInput, int v14_InputPhase) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); } if (v7_ElectricCurrentType) {set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcElectricCurrentEnum::Class(),(size_t)*v7_ElectricCurrentType))); }set_attribute_value(7, (v8_InputVoltage));set_attribute_value(8, (v9_InputFrequency)); if (v10_FullLoadCurrent) {set_attribute_value(9, (*v10_FullLoadCurrent)); } if (v11_MinimumCircuitCurrent) {set_attribute_value(10, (*v11_MinimumCircuitCurrent)); } if (v12_MaximumPowerInput) {set_attribute_value(11, (*v12_MaximumPowerInput)); } if (v13_RatedPowerInput) {set_attribute_value(12, (*v13_RatedPowerInput)); }set_attribute_value(13, (v14_InputPhase));; return *this; } // Function implementations for IfcElectricalCircuit const ifcopenshell::entity& Ifc2x3::IfcElectricalCircuit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[274]); } -void Ifc2x3::IfcElectricalCircuit::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcElectricalCircuit Ifc2x3::IfcElectricalCircuit::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcElectricalElement const ifcopenshell::entity& Ifc2x3::IfcElectricalElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[275]); } -void Ifc2x3::IfcElectricalElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcElectricalElement Ifc2x3::IfcElectricalElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc2x3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -7439,7 +7439,7 @@ std::vector<::Ifc2x3::IfcRelConnectsElements> Ifc2x3::IfcElement::ConnectedFrom( std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcElement::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[698], 4)); } const ifcopenshell::entity& Ifc2x3::IfcElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[297]); } -void Ifc2x3::IfcElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcElement Ifc2x3::IfcElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > Ifc2x3::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -7449,19 +7449,19 @@ void Ifc2x3::IfcElementAssembly::setPredefinedType(const ::Ifc2x3::IfcElementAss const ifcopenshell::entity& Ifc2x3::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC2X3_types[299]); } -void Ifc2x3::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcElementAssembly Ifc2x3::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc2x3::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC2X3_types[301]); } -void Ifc2x3::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcElementComponent Ifc2x3::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc2x3::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[302]); } -void Ifc2x3::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcElementComponentType Ifc2x3::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc2x3::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -7471,7 +7471,7 @@ void Ifc2x3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc2x3::IfcP const ifcopenshell::entity& Ifc2x3::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[304]); } -void Ifc2x3::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc2x3::IfcElementQuantity Ifc2x3::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc2x3::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -7479,7 +7479,7 @@ void Ifc2x3::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc2x3::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[305]); } -void Ifc2x3::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcElementType Ifc2x3::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement3D>(); } @@ -7487,7 +7487,7 @@ void Ifc2x3::IfcElementarySurface::setPosition(const ::Ifc2x3::IfcAxis2Placement const ifcopenshell::entity& Ifc2x3::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[298]); } -void Ifc2x3::IfcElementarySurface::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc2x3::IfcElementarySurface Ifc2x3::IfcElementarySurface::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc2x3::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -7497,7 +7497,7 @@ void Ifc2x3::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value(2, const ifcopenshell::entity& Ifc2x3::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC2X3_types[306]); } -void Ifc2x3::IfcEllipse::initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc2x3::IfcEllipse Ifc2x3::IfcEllipse::initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc2x3::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -7507,19 +7507,19 @@ void Ifc2x3::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attribute const ifcopenshell::entity& Ifc2x3::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[307]); } -void Ifc2x3::IfcEllipseProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc2x3::IfcEllipseProfileDef Ifc2x3::IfcEllipseProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc2x3::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC2X3_types[308]); } -void Ifc2x3::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcEnergyConversionDevice Ifc2x3::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc2x3::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[309]); } -void Ifc2x3::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcEnergyConversionDeviceType Ifc2x3::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEnergyProperties std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > Ifc2x3::IfcEnergyProperties::EnergySequence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcEnergySequenceEnum::FromString(get_attribute_value(4)); } @@ -7529,7 +7529,7 @@ void Ifc2x3::IfcEnergyProperties::setUserDefinedEnergySequence(const std::option const ifcopenshell::entity& Ifc2x3::IfcEnergyProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[311]); } -void Ifc2x3::IfcEnergyProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); } } +Ifc2x3::IfcEnergyProperties Ifc2x3::IfcEnergyProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); }; return *this; } // Function implementations for IfcEnvironmentalImpactValue std::string Ifc2x3::IfcEnvironmentalImpactValue::ImpactType() const { std::string v = get_attribute_value(6); return v; } @@ -7541,19 +7541,19 @@ void Ifc2x3::IfcEnvironmentalImpactValue::setUserDefinedCategory(const std::opti const ifcopenshell::entity& Ifc2x3::IfcEnvironmentalImpactValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[314]); } -void Ifc2x3::IfcEnvironmentalImpactValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, std::optional< std::string > v9_UserDefinedCategory) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis));set_attribute_value(4, (v5_ApplicableDate));set_attribute_value(5, (v6_FixedUntilDate));set_attribute_value(6, (v7_ImpactType));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Class(),(size_t)v8_Category))); if (v9_UserDefinedCategory) {set_attribute_value(8, (*v9_UserDefinedCategory)); } } +Ifc2x3::IfcEnvironmentalImpactValue Ifc2x3::IfcEnvironmentalImpactValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, std::optional< std::string > v9_UserDefinedCategory) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis));set_attribute_value(4, (v5_ApplicableDate));set_attribute_value(5, (v6_FixedUntilDate));set_attribute_value(6, (v7_ImpactType));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Class(),(size_t)v8_Category))); if (v9_UserDefinedCategory) {set_attribute_value(8, (*v9_UserDefinedCategory)); }; return *this; } // Function implementations for IfcEquipmentElement const ifcopenshell::entity& Ifc2x3::IfcEquipmentElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[315]); } -void Ifc2x3::IfcEquipmentElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcEquipmentElement Ifc2x3::IfcEquipmentElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEquipmentStandard const ifcopenshell::entity& Ifc2x3::IfcEquipmentStandard::Class() { return *((ifcopenshell::entity*)IFC2X3_types[316]); } -void Ifc2x3::IfcEquipmentStandard::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcEquipmentStandard Ifc2x3::IfcEquipmentStandard::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value Ifc2x3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -7561,7 +7561,7 @@ void Ifc2x3::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc2x3::IfcEvap const ifcopenshell::entity& Ifc2x3::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[317]); } -void Ifc2x3::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcEvaporativeCoolerType Ifc2x3::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporatorType ::Ifc2x3::IfcEvaporatorTypeEnum::Value Ifc2x3::IfcEvaporatorType::PredefinedType() const { return ::Ifc2x3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7569,7 +7569,7 @@ void Ifc2x3::IfcEvaporatorType::setPredefinedType(const ::Ifc2x3::IfcEvaporatorT const ifcopenshell::entity& Ifc2x3::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[319]); } -void Ifc2x3::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcEvaporatorType Ifc2x3::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcExtendedMaterialProperties std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcExtendedMaterialProperties::ExtendedProperties() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcProperty>(es); } @@ -7581,7 +7581,7 @@ void Ifc2x3::IfcExtendedMaterialProperties::setName(const std::string& v) { set_ const ifcopenshell::entity& Ifc2x3::IfcExtendedMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[321]); } -void Ifc2x3::IfcExtendedMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::vector< ::Ifc2x3::IfcProperty > v2_ExtendedProperties, std::optional< std::string > v3_Description, std::string v4_Name) { set_attribute_value(0, (v1_Material));set_attribute_value(1, cast_vector(v2_ExtendedProperties)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name)); } +Ifc2x3::IfcExtendedMaterialProperties Ifc2x3::IfcExtendedMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::vector< ::Ifc2x3::IfcProperty > v2_ExtendedProperties, std::optional< std::string > v3_Description, std::string v4_Name) { set_attribute_value(0, (v1_Material));set_attribute_value(1, cast_vector(v2_ExtendedProperties)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name));; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc2x3::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7593,31 +7593,31 @@ void Ifc2x3::IfcExternalReference::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc2x3::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC2X3_types[326]); } -void Ifc2x3::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcExternalReference Ifc2x3::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc2x3::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[322]); } -void Ifc2x3::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcExternallyDefinedHatchStyle Ifc2x3::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc2x3::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[323]); } -void Ifc2x3::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcExternallyDefinedSurfaceStyle Ifc2x3::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSymbol const ifcopenshell::entity& Ifc2x3::IfcExternallyDefinedSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[324]); } -void Ifc2x3::IfcExternallyDefinedSymbol::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcExternallyDefinedSymbol Ifc2x3::IfcExternallyDefinedSymbol::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc2x3::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[325]); } -void Ifc2x3::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcExternallyDefinedTextFont Ifc2x3::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc2x3::IfcDirection Ifc2x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcDirection>(); } @@ -7627,7 +7627,7 @@ void Ifc2x3::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc2x3::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[327]); } -void Ifc2x3::IfcExtrudedAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc2x3::IfcExtrudedAreaSolid Ifc2x3::IfcExtrudedAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc2x3::IfcFaceBound > Ifc2x3::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcFaceBound>(es); } @@ -7635,7 +7635,7 @@ void Ifc2x3::IfcFace::setBounds(const std::vector< ::Ifc2x3::IfcFaceBound >& v) const ifcopenshell::entity& Ifc2x3::IfcFace::Class() { return *((ifcopenshell::entity*)IFC2X3_types[328]); } -void Ifc2x3::IfcFace::initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc2x3::IfcFace Ifc2x3::IfcFace::initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc2x3::IfcConnectedFaceSet > Ifc2x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcConnectedFaceSet>(es); } @@ -7643,7 +7643,7 @@ void Ifc2x3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc2x3: const ifcopenshell::entity& Ifc2x3::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[329]); } -void Ifc2x3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc2x3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc2x3::IfcFaceBasedSurfaceModel Ifc2x3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc2x3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc2x3::IfcLoop Ifc2x3::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcLoop>(); } @@ -7653,13 +7653,13 @@ void Ifc2x3::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1 const ifcopenshell::entity& Ifc2x3::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC2X3_types[330]); } -void Ifc2x3::IfcFaceBound::initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc2x3::IfcFaceBound Ifc2x3::IfcFaceBound::initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc2x3::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC2X3_types[331]); } -void Ifc2x3::IfcFaceOuterBound::initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc2x3::IfcFaceOuterBound Ifc2x3::IfcFaceOuterBound::initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc2x3::IfcSurface Ifc2x3::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcSurface>(); } @@ -7669,13 +7669,13 @@ void Ifc2x3::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2 const ifcopenshell::entity& Ifc2x3::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[332]); } -void Ifc2x3::IfcFaceSurface::initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds, ::Ifc2x3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc2x3::IfcFaceSurface Ifc2x3::IfcFaceSurface::initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds, ::Ifc2x3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc2x3::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC2X3_types[333]); } -void Ifc2x3::IfcFacetedBrep::initialize(::Ifc2x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc2x3::IfcFacetedBrep Ifc2x3::IfcFacetedBrep::initialize(::Ifc2x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc2x3::IfcClosedShell > Ifc2x3::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcClosedShell>(es); } @@ -7683,7 +7683,7 @@ void Ifc2x3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc2x3::IfcC const ifcopenshell::entity& Ifc2x3::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC2X3_types[334]); } -void Ifc2x3::IfcFacetedBrepWithVoids::initialize(::Ifc2x3::IfcClosedShell v1_Outer, std::vector< ::Ifc2x3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc2x3::IfcFacetedBrepWithVoids Ifc2x3::IfcFacetedBrepWithVoids::initialize(::Ifc2x3::IfcClosedShell v1_Outer, std::vector< ::Ifc2x3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -7701,7 +7701,7 @@ void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureZ(const std::op const ifcopenshell::entity& Ifc2x3::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[335]); } -void Ifc2x3::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc2x3::IfcFailureConnectionCondition Ifc2x3::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFanType ::Ifc2x3::IfcFanTypeEnum::Value Ifc2x3::IfcFanType::PredefinedType() const { return ::Ifc2x3::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -7709,39 +7709,39 @@ void Ifc2x3::IfcFanType::setPredefinedType(const ::Ifc2x3::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc2x3::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[336]); } -void Ifc2x3::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcFanType Ifc2x3::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener const ifcopenshell::entity& Ifc2x3::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC2X3_types[338]); } -void Ifc2x3::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFastener Ifc2x3::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFastenerType const ifcopenshell::entity& Ifc2x3::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[339]); } -void Ifc2x3::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFastenerType Ifc2x3::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc2x3::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[340]); } -void Ifc2x3::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFeatureElement Ifc2x3::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc2x3::IfcRelProjectsElement> Ifc2x3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[711], 5)); } const ifcopenshell::entity& Ifc2x3::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[341]); } -void Ifc2x3::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFeatureElementAddition Ifc2x3::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc2x3::IfcRelVoidsElement> Ifc2x3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[717], 5)); } const ifcopenshell::entity& Ifc2x3::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[342]); } -void Ifc2x3::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFeatureElementSubtraction Ifc2x3::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc2x3::IfcFillStyleSelect > Ifc2x3::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc2x3::IfcFillStyleSelect>(es); } @@ -7749,7 +7749,7 @@ void Ifc2x3::IfcFillAreaStyle::setFillStyles(const std::vector< ::Ifc2x3::IfcFil const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[343]); } -void Ifc2x3::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcFillStyleSelect > v2_FillStyles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); } +Ifc2x3::IfcFillAreaStyle Ifc2x3::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcFillStyleSelect > v2_FillStyles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles));; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc2x3::IfcCurveStyle Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurveStyle>(); } @@ -7765,7 +7765,7 @@ void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_ const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC2X3_types[344]); } -void Ifc2x3::IfcFillAreaStyleHatching::initialize(::Ifc2x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc2x3::IfcFillAreaStyleHatching Ifc2x3::IfcFillAreaStyleHatching::initialize(::Ifc2x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTileSymbolWithStyle ::Ifc2x3::IfcAnnotationSymbolOccurrence Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAnnotationSymbolOccurrence>(); } @@ -7773,7 +7773,7 @@ void Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::setSymbol(const ::Ifc2x3::IfcA const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[347]); } -void Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::initialize(::Ifc2x3::IfcAnnotationSymbolOccurrence v1_Symbol) { set_attribute_value(0, (v1_Symbol)); } +Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::initialize(::Ifc2x3::IfcAnnotationSymbolOccurrence v1_Symbol) { set_attribute_value(0, (v1_Symbol));; return *this; } // Function implementations for IfcFillAreaStyleTiles ::Ifc2x3::IfcOneDirectionRepeatFactor Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcOneDirectionRepeatFactor>(); } @@ -7785,7 +7785,7 @@ void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC2X3_types[345]); } -void Ifc2x3::IfcFillAreaStyleTiles::initialize(::Ifc2x3::IfcOneDirectionRepeatFactor v1_TilingPattern, std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, (v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc2x3::IfcFillAreaStyleTiles Ifc2x3::IfcFillAreaStyleTiles::initialize(::Ifc2x3::IfcOneDirectionRepeatFactor v1_TilingPattern, std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, (v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilterType ::Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterType::PredefinedType() const { return ::Ifc2x3::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -7793,7 +7793,7 @@ void Ifc2x3::IfcFilterType::setPredefinedType(const ::Ifc2x3::IfcFilterTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[349]); } -void Ifc2x3::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcFilterType Ifc2x3::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc2x3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7801,31 +7801,31 @@ void Ifc2x3::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc2x3::I const ifcopenshell::entity& Ifc2x3::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[351]); } -void Ifc2x3::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcFireSuppressionTerminalType Ifc2x3::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc2x3::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC2X3_types[353]); } -void Ifc2x3::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowController Ifc2x3::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc2x3::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[354]); } -void Ifc2x3::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowControllerType Ifc2x3::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc2x3::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC2X3_types[356]); } -void Ifc2x3::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowFitting Ifc2x3::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc2x3::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[357]); } -void Ifc2x3::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowFittingType Ifc2x3::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value Ifc2x3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc2x3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -7833,7 +7833,7 @@ void Ifc2x3::IfcFlowInstrumentType::setPredefinedType(const ::Ifc2x3::IfcFlowIns const ifcopenshell::entity& Ifc2x3::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[358]); } -void Ifc2x3::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcFlowInstrumentType Ifc2x3::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeterType ::Ifc2x3::IfcFlowMeterTypeEnum::Value Ifc2x3::IfcFlowMeterType::PredefinedType() const { return ::Ifc2x3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -7841,67 +7841,67 @@ void Ifc2x3::IfcFlowMeterType::setPredefinedType(const ::Ifc2x3::IfcFlowMeterTyp const ifcopenshell::entity& Ifc2x3::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[360]); } -void Ifc2x3::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcFlowMeterType Ifc2x3::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc2x3::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC2X3_types[362]); } -void Ifc2x3::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowMovingDevice Ifc2x3::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc2x3::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[363]); } -void Ifc2x3::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowMovingDeviceType Ifc2x3::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc2x3::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[364]); } -void Ifc2x3::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowSegment Ifc2x3::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc2x3::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[365]); } -void Ifc2x3::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowSegmentType Ifc2x3::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc2x3::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC2X3_types[366]); } -void Ifc2x3::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowStorageDevice Ifc2x3::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc2x3::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[367]); } -void Ifc2x3::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowStorageDeviceType Ifc2x3::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc2x3::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC2X3_types[368]); } -void Ifc2x3::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowTerminal Ifc2x3::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc2x3::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[369]); } -void Ifc2x3::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowTerminalType Ifc2x3::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc2x3::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC2X3_types[370]); } -void Ifc2x3::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFlowTreatmentDevice Ifc2x3::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc2x3::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[371]); } -void Ifc2x3::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFlowTreatmentDeviceType Ifc2x3::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFluidFlowProperties ::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcFluidFlowProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(get_attribute_value(4)); } @@ -7937,7 +7937,7 @@ void Ifc2x3::IfcFluidFlowProperties::setPressureSingleValue(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcFluidFlowProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[372]); } -void Ifc2x3::IfcFluidFlowProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial v9_Fluid, ::Ifc2x3::IfcTimeSeries v10_PressureTimeSeries, std::optional< std::string > v11_UserDefinedPropertySource, std::optional< double > v12_TemperatureSingleValue, std::optional< double > v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue v16_FlowrateSingleValue, std::optional< double > v17_FlowConditionSingleValue, std::optional< double > v18_VelocitySingleValue, std::optional< double > v19_PressureSingleValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v5_PropertySource)));set_attribute_value(5, (v6_FlowConditionTimeSeries));set_attribute_value(6, (v7_VelocityTimeSeries));set_attribute_value(7, (v8_FlowrateTimeSeries));set_attribute_value(8, (v9_Fluid));set_attribute_value(9, (v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) {set_attribute_value(10, (*v11_UserDefinedPropertySource)); } if (v12_TemperatureSingleValue) {set_attribute_value(11, (*v12_TemperatureSingleValue)); } if (v13_WetBulbTemperatureSingleValue) {set_attribute_value(12, (*v13_WetBulbTemperatureSingleValue)); }set_attribute_value(13, (v14_WetBulbTemperatureTimeSeries));set_attribute_value(14, (v15_TemperatureTimeSeries));set_attribute_value(15, (v16_FlowrateSingleValue)); if (v17_FlowConditionSingleValue) {set_attribute_value(16, (*v17_FlowConditionSingleValue)); } if (v18_VelocitySingleValue) {set_attribute_value(17, (*v18_VelocitySingleValue)); } if (v19_PressureSingleValue) {set_attribute_value(18, (*v19_PressureSingleValue)); } } +Ifc2x3::IfcFluidFlowProperties Ifc2x3::IfcFluidFlowProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial v9_Fluid, ::Ifc2x3::IfcTimeSeries v10_PressureTimeSeries, std::optional< std::string > v11_UserDefinedPropertySource, std::optional< double > v12_TemperatureSingleValue, std::optional< double > v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue v16_FlowrateSingleValue, std::optional< double > v17_FlowConditionSingleValue, std::optional< double > v18_VelocitySingleValue, std::optional< double > v19_PressureSingleValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v5_PropertySource)));set_attribute_value(5, (v6_FlowConditionTimeSeries));set_attribute_value(6, (v7_VelocityTimeSeries));set_attribute_value(7, (v8_FlowrateTimeSeries));set_attribute_value(8, (v9_Fluid));set_attribute_value(9, (v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) {set_attribute_value(10, (*v11_UserDefinedPropertySource)); } if (v12_TemperatureSingleValue) {set_attribute_value(11, (*v12_TemperatureSingleValue)); } if (v13_WetBulbTemperatureSingleValue) {set_attribute_value(12, (*v13_WetBulbTemperatureSingleValue)); }set_attribute_value(13, (v14_WetBulbTemperatureTimeSeries));set_attribute_value(14, (v15_TemperatureTimeSeries));set_attribute_value(15, (v16_FlowrateSingleValue)); if (v17_FlowConditionSingleValue) {set_attribute_value(16, (*v17_FlowConditionSingleValue)); } if (v18_VelocitySingleValue) {set_attribute_value(17, (*v18_VelocitySingleValue)); } if (v19_PressureSingleValue) {set_attribute_value(18, (*v19_PressureSingleValue)); }; return *this; } // Function implementations for IfcFooting ::Ifc2x3::IfcFootingTypeEnum::Value Ifc2x3::IfcFooting::PredefinedType() const { return ::Ifc2x3::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -7945,7 +7945,7 @@ void Ifc2x3::IfcFooting::setPredefinedType(const ::Ifc2x3::IfcFootingTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC2X3_types[376]); } -void Ifc2x3::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcFootingTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc2x3::IfcFooting Ifc2x3::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcFootingTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcFuelProperties std::optional< double > Ifc2x3::IfcFuelProperties::CombustionTemperature() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -7959,25 +7959,25 @@ void Ifc2x3::IfcFuelProperties::setHigherHeatingValue(const std::optional< doubl const ifcopenshell::entity& Ifc2x3::IfcFuelProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[380]); } -void Ifc2x3::IfcFuelProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_CombustionTemperature, std::optional< double > v3_CarbonContent, std::optional< double > v4_LowerHeatingValue, std::optional< double > v5_HigherHeatingValue) { set_attribute_value(0, (v1_Material)); if (v2_CombustionTemperature) {set_attribute_value(1, (*v2_CombustionTemperature)); } if (v3_CarbonContent) {set_attribute_value(2, (*v3_CarbonContent)); } if (v4_LowerHeatingValue) {set_attribute_value(3, (*v4_LowerHeatingValue)); } if (v5_HigherHeatingValue) {set_attribute_value(4, (*v5_HigherHeatingValue)); } } +Ifc2x3::IfcFuelProperties Ifc2x3::IfcFuelProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_CombustionTemperature, std::optional< double > v3_CarbonContent, std::optional< double > v4_LowerHeatingValue, std::optional< double > v5_HigherHeatingValue) { set_attribute_value(0, (v1_Material)); if (v2_CombustionTemperature) {set_attribute_value(1, (*v2_CombustionTemperature)); } if (v3_CarbonContent) {set_attribute_value(2, (*v3_CarbonContent)); } if (v4_LowerHeatingValue) {set_attribute_value(3, (*v4_LowerHeatingValue)); } if (v5_HigherHeatingValue) {set_attribute_value(4, (*v5_HigherHeatingValue)); }; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc2x3::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[381]); } -void Ifc2x3::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcFurnishingElement Ifc2x3::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc2x3::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[382]); } -void Ifc2x3::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcFurnishingElementType Ifc2x3::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurnitureStandard const ifcopenshell::entity& Ifc2x3::IfcFurnitureStandard::Class() { return *((ifcopenshell::entity*)IFC2X3_types[383]); } -void Ifc2x3::IfcFurnitureStandard::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcFurnitureStandard Ifc2x3::IfcFurnitureStandard::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc2x3::IfcAssemblyPlaceEnum::Value Ifc2x3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -7985,7 +7985,7 @@ void Ifc2x3::IfcFurnitureType::setAssemblyPlace(const ::Ifc2x3::IfcAssemblyPlace const ifcopenshell::entity& Ifc2x3::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[384]); } -void Ifc2x3::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); } +Ifc2x3::IfcFurnitureType Ifc2x3::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace)));; return *this; } // Function implementations for IfcGasTerminalType ::Ifc2x3::IfcGasTerminalTypeEnum::Value Ifc2x3::IfcGasTerminalType::PredefinedType() const { return ::Ifc2x3::IfcGasTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7993,7 +7993,7 @@ void Ifc2x3::IfcGasTerminalType::setPredefinedType(const ::Ifc2x3::IfcGasTermina const ifcopenshell::entity& Ifc2x3::IfcGasTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[385]); } -void Ifc2x3::IfcGasTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcGasTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcGasTerminalType Ifc2x3::IfcGasTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcGasTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeneralMaterialProperties std::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MolecularWeight() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -8005,7 +8005,7 @@ void Ifc2x3::IfcGeneralMaterialProperties::setMassDensity(const std::optional< d const ifcopenshell::entity& Ifc2x3::IfcGeneralMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[387]); } -void Ifc2x3::IfcGeneralMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_MolecularWeight, std::optional< double > v3_Porosity, std::optional< double > v4_MassDensity) { set_attribute_value(0, (v1_Material)); if (v2_MolecularWeight) {set_attribute_value(1, (*v2_MolecularWeight)); } if (v3_Porosity) {set_attribute_value(2, (*v3_Porosity)); } if (v4_MassDensity) {set_attribute_value(3, (*v4_MassDensity)); } } +Ifc2x3::IfcGeneralMaterialProperties Ifc2x3::IfcGeneralMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_MolecularWeight, std::optional< double > v3_Porosity, std::optional< double > v4_MassDensity) { set_attribute_value(0, (v1_Material)); if (v2_MolecularWeight) {set_attribute_value(1, (*v2_MolecularWeight)); } if (v3_Porosity) {set_attribute_value(2, (*v3_Porosity)); } if (v4_MassDensity) {set_attribute_value(3, (*v4_MassDensity)); }; return *this; } // Function implementations for IfcGeneralProfileProperties std::optional< double > Ifc2x3::IfcGeneralProfileProperties::PhysicalWeight() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -8021,13 +8021,13 @@ void Ifc2x3::IfcGeneralProfileProperties::setCrossSectionArea(const std::optiona const ifcopenshell::entity& Ifc2x3::IfcGeneralProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[388]); } -void Ifc2x3::IfcGeneralProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } } +Ifc2x3::IfcGeneralProfileProperties Ifc2x3::IfcGeneralProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); }; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc2x3::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[389]); } -void Ifc2x3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc2x3::IfcGeometricCurveSet Ifc2x3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -8042,13 +8042,13 @@ void Ifc2x3::IfcGeometricRepresentationContext::setTrueNorth(const ::Ifc2x3::Ifc std::vector<::Ifc2x3::IfcGeometricRepresentationSubContext> Ifc2x3::IfcGeometricRepresentationContext::HasSubContexts() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[393], 6)); } const ifcopenshell::entity& Ifc2x3::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC2X3_types[391]); } -void Ifc2x3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc2x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc2x3::IfcGeometricRepresentationContext Ifc2x3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc2x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc2x3::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[392]); } -void Ifc2x3::IfcGeometricRepresentationItem::initialize() { } +Ifc2x3::IfcGeometricRepresentationItem Ifc2x3::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc2x3::IfcGeometricRepresentationContext Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcGeometricRepresentationContext>(); } @@ -8062,7 +8062,7 @@ void Ifc2x3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(cons const ifcopenshell::entity& Ifc2x3::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC2X3_types[393]); } -void Ifc2x3::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc2x3::IfcGeometricRepresentationSubContext Ifc2x3::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc2x3::IfcGeometricSetSelect > Ifc2x3::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcGeometricSetSelect>(es); } @@ -8070,7 +8070,7 @@ void Ifc2x3::IfcGeometricSet::setElements(const std::vector< ::Ifc2x3::IfcGeomet const ifcopenshell::entity& Ifc2x3::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[394]); } -void Ifc2x3::IfcGeometricSet::initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc2x3::IfcGeometricSet Ifc2x3::IfcGeometricSet::initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc2x3::IfcGridAxis > Ifc2x3::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } @@ -8083,7 +8083,7 @@ void Ifc2x3::IfcGrid::setWAxes(const std::optional< std::vector< ::Ifc2x3::IfcGr std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcGrid::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[698], 4)); } const ifcopenshell::entity& Ifc2x3::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[398]); } -void Ifc2x3::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc2x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc2x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc2x3::IfcGridAxis > > v10_WAxes) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } } +Ifc2x3::IfcGrid Ifc2x3::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc2x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc2x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc2x3::IfcGridAxis > > v10_WAxes) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc2x3::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8099,7 +8099,7 @@ std::vector<::Ifc2x3::IfcGrid> Ifc2x3::IfcGridAxis::PartOfU() const { return cas std::vector<::Ifc2x3::IfcVirtualGridIntersection> Ifc2x3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[953], 0)); } const ifcopenshell::entity& Ifc2x3::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC2X3_types[399]); } -void Ifc2x3::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc2x3::IfcGridAxis Ifc2x3::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc2x3::IfcVirtualGridIntersection Ifc2x3::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcVirtualGridIntersection>(); } @@ -8109,14 +8109,14 @@ void Ifc2x3::IfcGridPlacement::setPlacementRefDirection(const ::Ifc2x3::IfcVirtu const ifcopenshell::entity& Ifc2x3::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[400]); } -void Ifc2x3::IfcGridPlacement::initialize(::Ifc2x3::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection v2_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementLocation));set_attribute_value(1, (v2_PlacementRefDirection)); } +Ifc2x3::IfcGridPlacement Ifc2x3::IfcGridPlacement::initialize(::Ifc2x3::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection v2_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementLocation));set_attribute_value(1, (v2_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc2x3::IfcRelAssignsToGroup> Ifc2x3::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[672], 6)); } const ifcopenshell::entity& Ifc2x3::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC2X3_types[401]); } -void Ifc2x3::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcGroup Ifc2x3::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc2x3::IfcSurface Ifc2x3::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurface>(); } @@ -8126,7 +8126,7 @@ void Ifc2x3::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc2x3::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[402]); } -void Ifc2x3::IfcHalfSpaceSolid::initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc2x3::IfcHalfSpaceSolid Ifc2x3::IfcHalfSpaceSolid::initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc2x3::IfcHeatExchangerTypeEnum::Value Ifc2x3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc2x3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -8134,7 +8134,7 @@ void Ifc2x3::IfcHeatExchangerType::setPredefinedType(const ::Ifc2x3::IfcHeatExch const ifcopenshell::entity& Ifc2x3::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[404]); } -void Ifc2x3::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcHeatExchangerType Ifc2x3::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifierType ::Ifc2x3::IfcHumidifierTypeEnum::Value Ifc2x3::IfcHumidifierType::PredefinedType() const { return ::Ifc2x3::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -8142,7 +8142,7 @@ void Ifc2x3::IfcHumidifierType::setPredefinedType(const ::Ifc2x3::IfcHumidifierT const ifcopenshell::entity& Ifc2x3::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[409]); } -void Ifc2x3::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcHumidifierType Ifc2x3::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHygroscopicMaterialProperties std::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -8158,7 +8158,7 @@ void Ifc2x3::IfcHygroscopicMaterialProperties::setMoistureDiffusivity(const std: const ifcopenshell::entity& Ifc2x3::IfcHygroscopicMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[411]); } -void Ifc2x3::IfcHygroscopicMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_UpperVaporResistanceFactor, std::optional< double > v3_LowerVaporResistanceFactor, std::optional< double > v4_IsothermalMoistureCapacity, std::optional< double > v5_VaporPermeability, std::optional< double > v6_MoistureDiffusivity) { set_attribute_value(0, (v1_Material)); if (v2_UpperVaporResistanceFactor) {set_attribute_value(1, (*v2_UpperVaporResistanceFactor)); } if (v3_LowerVaporResistanceFactor) {set_attribute_value(2, (*v3_LowerVaporResistanceFactor)); } if (v4_IsothermalMoistureCapacity) {set_attribute_value(3, (*v4_IsothermalMoistureCapacity)); } if (v5_VaporPermeability) {set_attribute_value(4, (*v5_VaporPermeability)); } if (v6_MoistureDiffusivity) {set_attribute_value(5, (*v6_MoistureDiffusivity)); } } +Ifc2x3::IfcHygroscopicMaterialProperties Ifc2x3::IfcHygroscopicMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_UpperVaporResistanceFactor, std::optional< double > v3_LowerVaporResistanceFactor, std::optional< double > v4_IsothermalMoistureCapacity, std::optional< double > v5_VaporPermeability, std::optional< double > v6_MoistureDiffusivity) { set_attribute_value(0, (v1_Material)); if (v2_UpperVaporResistanceFactor) {set_attribute_value(1, (*v2_UpperVaporResistanceFactor)); } if (v3_LowerVaporResistanceFactor) {set_attribute_value(2, (*v3_LowerVaporResistanceFactor)); } if (v4_IsothermalMoistureCapacity) {set_attribute_value(3, (*v4_IsothermalMoistureCapacity)); } if (v5_VaporPermeability) {set_attribute_value(4, (*v5_VaporPermeability)); } if (v6_MoistureDiffusivity) {set_attribute_value(5, (*v6_MoistureDiffusivity)); }; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc2x3::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -8174,7 +8174,7 @@ void Ifc2x3::IfcIShapeProfileDef::setFilletRadius(const std::optional< double >& const ifcopenshell::entity& Ifc2x3::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[424]); } -void Ifc2x3::IfcIShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } } +Ifc2x3::IfcIShapeProfileDef Ifc2x3::IfcIShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc2x3::IfcImageTexture::UrlReference() const { std::string v = get_attribute_value(4); return v; } @@ -8182,7 +8182,7 @@ void Ifc2x3::IfcImageTexture::setUrlReference(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC2X3_types[414]); } -void Ifc2x3::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_UrlReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));set_attribute_value(4, (v5_UrlReference)); } +Ifc2x3::IfcImageTexture Ifc2x3::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_UrlReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));set_attribute_value(4, (v5_UrlReference));; return *this; } // Function implementations for IfcInventory ::Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventory::InventoryType() const { return ::Ifc2x3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -8200,7 +8200,7 @@ void Ifc2x3::IfcInventory::setOriginalValue(const ::Ifc2x3::IfcCostValue& v) { s const ifcopenshell::entity& Ifc2x3::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC2X3_types[419]); } -void Ifc2x3::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect v7_Jurisdiction, std::vector< ::Ifc2x3::IfcPerson > v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate v9_LastUpdateDate, ::Ifc2x3::IfcCostValue v10_CurrentValue, ::Ifc2x3::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcInventoryTypeEnum::Class(),(size_t)v6_InventoryType)));set_attribute_value(6, (v7_Jurisdiction));set_attribute_value(7, cast_vector(v8_ResponsiblePersons));set_attribute_value(8, (v9_LastUpdateDate));set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc2x3::IfcInventory Ifc2x3::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect v7_Jurisdiction, std::vector< ::Ifc2x3::IfcPerson > v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate v9_LastUpdateDate, ::Ifc2x3::IfcCostValue v10_CurrentValue, ::Ifc2x3::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcInventoryTypeEnum::Class(),(size_t)v6_InventoryType)));set_attribute_value(6, (v7_Jurisdiction));set_attribute_value(7, cast_vector(v8_ResponsiblePersons));set_attribute_value(8, (v9_LastUpdateDate));set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > Ifc2x3::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc2x3::IfcIrregularTimeSeriesValue>(es); } @@ -8208,7 +8208,7 @@ void Ifc2x3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc2x3::IfcI const ifcopenshell::entity& Ifc2x3::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC2X3_types[422]); } -void Ifc2x3::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc2x3::IfcIrregularTimeSeries Ifc2x3::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue ::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDateTimeSelect>(); } @@ -8218,7 +8218,7 @@ void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc const ifcopenshell::entity& Ifc2x3::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[423]); } -void Ifc2x3::IfcIrregularTimeSeriesValue::initialize(::Ifc2x3::IfcDateTimeSelect v1_TimeStamp, std::vector< ::Ifc2x3::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc2x3::IfcIrregularTimeSeriesValue Ifc2x3::IfcIrregularTimeSeriesValue::initialize(::Ifc2x3::IfcDateTimeSelect v1_TimeStamp, std::vector< ::Ifc2x3::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc2x3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -8226,7 +8226,7 @@ void Ifc2x3::IfcJunctionBoxType::setPredefinedType(const ::Ifc2x3::IfcJunctionBo const ifcopenshell::entity& Ifc2x3::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[426]); } -void Ifc2x3::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcJunctionBoxType Ifc2x3::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc2x3::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8248,7 +8248,7 @@ void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInY(const std::optional< dou const ifcopenshell::entity& Ifc2x3::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[464]); } -void Ifc2x3::IfcLShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope, std::optional< double > v10_CentreOfGravityInX, std::optional< double > v11_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } if (v10_CentreOfGravityInX) {set_attribute_value(9, (*v10_CentreOfGravityInX)); } if (v11_CentreOfGravityInY) {set_attribute_value(10, (*v11_CentreOfGravityInY)); } } +Ifc2x3::IfcLShapeProfileDef Ifc2x3::IfcLShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope, std::optional< double > v10_CentreOfGravityInX, std::optional< double > v11_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } if (v10_CentreOfGravityInX) {set_attribute_value(9, (*v10_CentreOfGravityInX)); } if (v11_CentreOfGravityInY) {set_attribute_value(10, (*v11_CentreOfGravityInY)); }; return *this; } // Function implementations for IfcLaborResource std::optional< std::string > Ifc2x3::IfcLaborResource::SkillSet() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::string v = get_attribute_value(9); return v; } @@ -8256,7 +8256,7 @@ void Ifc2x3::IfcLaborResource::setSkillSet(const std::optional< std::string >& v const ifcopenshell::entity& Ifc2x3::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[430]); } -void Ifc2x3::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::string > v10_SkillSet) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); if (v10_SkillSet) {set_attribute_value(9, (*v10_SkillSet)); } } +Ifc2x3::IfcLaborResource Ifc2x3::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::string > v10_SkillSet) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity)); if (v10_SkillSet) {set_attribute_value(9, (*v10_SkillSet)); }; return *this; } // Function implementations for IfcLampType ::Ifc2x3::IfcLampTypeEnum::Value Ifc2x3::IfcLampType::PredefinedType() const { return ::Ifc2x3::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -8264,7 +8264,7 @@ void Ifc2x3::IfcLampType::setPredefinedType(const ::Ifc2x3::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[431]); } -void Ifc2x3::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcLampType Ifc2x3::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc2x3::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8280,14 +8280,14 @@ void Ifc2x3::IfcLibraryInformation::setLibraryReference(const std::optional< std const ifcopenshell::entity& Ifc2x3::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[436]); } -void Ifc2x3::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc2x3::IfcOrganization v3_Publisher, ::Ifc2x3::IfcCalendarDate v4_VersionDate, std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > > v5_LibraryReference) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher));set_attribute_value(3, (v4_VersionDate)); if (v5_LibraryReference) {set_attribute_value(4, cast_vector(*v5_LibraryReference)); } } +Ifc2x3::IfcLibraryInformation Ifc2x3::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc2x3::IfcOrganization v3_Publisher, ::Ifc2x3::IfcCalendarDate v4_VersionDate, std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > > v5_LibraryReference) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher));set_attribute_value(3, (v4_VersionDate)); if (v5_LibraryReference) {set_attribute_value(4, cast_vector(*v5_LibraryReference)); }; return *this; } // Function implementations for IfcLibraryReference std::vector<::Ifc2x3::IfcLibraryInformation> Ifc2x3::IfcLibraryReference::ReferenceIntoLibrary() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[436], 4)); } const ifcopenshell::entity& Ifc2x3::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC2X3_types[437]); } -void Ifc2x3::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcLibraryReference Ifc2x3::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcLightDistributionData double Ifc2x3::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -8299,7 +8299,7 @@ void Ifc2x3::IfcLightDistributionData::setLuminousIntensity(const std::vector< d const ifcopenshell::entity& Ifc2x3::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC2X3_types[440]); } -void Ifc2x3::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc2x3::IfcLightDistributionData Ifc2x3::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixtureType ::Ifc2x3::IfcLightFixtureTypeEnum::Value Ifc2x3::IfcLightFixtureType::PredefinedType() const { return ::Ifc2x3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -8307,7 +8307,7 @@ void Ifc2x3::IfcLightFixtureType::setPredefinedType(const ::Ifc2x3::IfcLightFixt const ifcopenshell::entity& Ifc2x3::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[443]); } -void Ifc2x3::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcLightFixtureType Ifc2x3::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc2x3::IfcLightDistributionCurveEnum::Value Ifc2x3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc2x3::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -8317,7 +8317,7 @@ void Ifc2x3::IfcLightIntensityDistribution::setDistributionData(const std::vecto const ifcopenshell::entity& Ifc2x3::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC2X3_types[445]); } -void Ifc2x3::IfcLightIntensityDistribution::initialize(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc2x3::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc2x3::IfcLightIntensityDistribution Ifc2x3::IfcLightIntensityDistribution::initialize(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc2x3::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc2x3::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8331,13 +8331,13 @@ void Ifc2x3::IfcLightSource::setIntensity(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc2x3::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[446]); } -void Ifc2x3::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc2x3::IfcLightSource Ifc2x3::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc2x3::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC2X3_types[447]); } -void Ifc2x3::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc2x3::IfcLightSourceAmbient Ifc2x3::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc2x3::IfcDirection Ifc2x3::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcDirection>(); } @@ -8345,7 +8345,7 @@ void Ifc2x3::IfcLightSourceDirectional::setOrientation(const ::Ifc2x3::IfcDirect const ifcopenshell::entity& Ifc2x3::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC2X3_types[448]); } -void Ifc2x3::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc2x3::IfcLightSourceDirectional Ifc2x3::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcAxis2Placement3D>(); } @@ -8363,7 +8363,7 @@ void Ifc2x3::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::I const ifcopenshell::entity& Ifc2x3::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC2X3_types[449]); } -void Ifc2x3::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D v5_Position, ::Ifc2x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc2x3::IfcLightSourceGoniometric Ifc2x3::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D v5_Position, ::Ifc2x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcCartesianPoint>(); } @@ -8379,7 +8379,7 @@ void Ifc2x3::IfcLightSourcePositional::setQuadricAttenuation(const double& v) { const ifcopenshell::entity& Ifc2x3::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC2X3_types[450]); } -void Ifc2x3::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc2x3::IfcLightSourcePositional Ifc2x3::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc2x3::IfcDirection Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcDirection>(); } @@ -8393,7 +8393,7 @@ void Ifc2x3::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC2X3_types[451]); } -void Ifc2x3::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc2x3::IfcLightSourceSpot Ifc2x3::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCartesianPoint>(); } @@ -8403,13 +8403,13 @@ void Ifc2x3::IfcLine::setDir(const ::Ifc2x3::IfcVector& v) { set_attribute_value const ifcopenshell::entity& Ifc2x3::IfcLine::Class() { return *((ifcopenshell::entity*)IFC2X3_types[452]); } -void Ifc2x3::IfcLine::initialize(::Ifc2x3::IfcCartesianPoint v1_Pnt, ::Ifc2x3::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc2x3::IfcLine Ifc2x3::IfcLine::initialize(::Ifc2x3::IfcCartesianPoint v1_Pnt, ::Ifc2x3::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearDimension const ifcopenshell::entity& Ifc2x3::IfcLinearDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[453]); } -void Ifc2x3::IfcLinearDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcLinearDimension Ifc2x3::IfcLinearDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc2x3::IfcObjectPlacement Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc2x3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcObjectPlacement>(); } @@ -8419,7 +8419,7 @@ void Ifc2x3::IfcLocalPlacement::setRelativePlacement(const ::Ifc2x3::IfcAxis2Pla const ifcopenshell::entity& Ifc2x3::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[459]); } -void Ifc2x3::IfcLocalPlacement::initialize(::Ifc2x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc2x3::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc2x3::IfcLocalPlacement Ifc2x3::IfcLocalPlacement::initialize(::Ifc2x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc2x3::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLocalTime int Ifc2x3::IfcLocalTime::HourComponent() const { int v = get_attribute_value(0); return v; } @@ -8435,13 +8435,13 @@ void Ifc2x3::IfcLocalTime::setDaylightSavingOffset(const std::optional< int >& v const ifcopenshell::entity& Ifc2x3::IfcLocalTime::Class() { return *((ifcopenshell::entity*)IFC2X3_types[460]); } -void Ifc2x3::IfcLocalTime::initialize(int v1_HourComponent, std::optional< int > v2_MinuteComponent, std::optional< double > v3_SecondComponent, ::Ifc2x3::IfcCoordinatedUniversalTimeOffset v4_Zone, std::optional< int > v5_DaylightSavingOffset) { set_attribute_value(0, (v1_HourComponent)); if (v2_MinuteComponent) {set_attribute_value(1, (*v2_MinuteComponent)); } if (v3_SecondComponent) {set_attribute_value(2, (*v3_SecondComponent)); }set_attribute_value(3, (v4_Zone)); if (v5_DaylightSavingOffset) {set_attribute_value(4, (*v5_DaylightSavingOffset)); } } +Ifc2x3::IfcLocalTime Ifc2x3::IfcLocalTime::initialize(int v1_HourComponent, std::optional< int > v2_MinuteComponent, std::optional< double > v3_SecondComponent, ::Ifc2x3::IfcCoordinatedUniversalTimeOffset v4_Zone, std::optional< int > v5_DaylightSavingOffset) { set_attribute_value(0, (v1_HourComponent)); if (v2_MinuteComponent) {set_attribute_value(1, (*v2_MinuteComponent)); } if (v3_SecondComponent) {set_attribute_value(2, (*v3_SecondComponent)); }set_attribute_value(3, (v4_Zone)); if (v5_DaylightSavingOffset) {set_attribute_value(4, (*v5_DaylightSavingOffset)); }; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc2x3::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC2X3_types[463]); } -void Ifc2x3::IfcLoop::initialize() { } +Ifc2x3::IfcLoop Ifc2x3::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc2x3::IfcClosedShell Ifc2x3::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcClosedShell>(); } @@ -8449,7 +8449,7 @@ void Ifc2x3::IfcManifoldSolidBrep::setOuter(const ::Ifc2x3::IfcClosedShell& v) { const ifcopenshell::entity& Ifc2x3::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC2X3_types[470]); } -void Ifc2x3::IfcManifoldSolidBrep::initialize(::Ifc2x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc2x3::IfcManifoldSolidBrep Ifc2x3::IfcManifoldSolidBrep::initialize(::Ifc2x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMappedItem ::Ifc2x3::IfcRepresentationMap Ifc2x3::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcRepresentationMap>(); } @@ -8459,7 +8459,7 @@ void Ifc2x3::IfcMappedItem::setMappingTarget(const ::Ifc2x3::IfcCartesianTransfo const ifcopenshell::entity& Ifc2x3::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[471]); } -void Ifc2x3::IfcMappedItem::initialize(::Ifc2x3::IfcRepresentationMap v1_MappingSource, ::Ifc2x3::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc2x3::IfcMappedItem Ifc2x3::IfcMappedItem::initialize(::Ifc2x3::IfcRepresentationMap v1_MappingSource, ::Ifc2x3::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMaterial std::string Ifc2x3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8469,7 +8469,7 @@ std::vector<::Ifc2x3::IfcMaterialDefinitionRepresentation> Ifc2x3::IfcMaterial:: std::vector<::Ifc2x3::IfcMaterialClassificationRelationship> Ifc2x3::IfcMaterial::ClassifiedAs() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[477], 1)); } const ifcopenshell::entity& Ifc2x3::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC2X3_types[476]); } -void Ifc2x3::IfcMaterial::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcMaterial Ifc2x3::IfcMaterial::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc2x3::IfcClassificationNotationSelect > Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcClassificationNotationSelect>(es); } @@ -8479,7 +8479,7 @@ void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(const const ifcopenshell::entity& Ifc2x3::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[477]); } -void Ifc2x3::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v1_MaterialClassifications, ::Ifc2x3::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc2x3::IfcMaterialClassificationRelationship Ifc2x3::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v1_MaterialClassifications, ::Ifc2x3::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcMaterial>(); } @@ -8487,7 +8487,7 @@ void Ifc2x3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const : const ifcopenshell::entity& Ifc2x3::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[478]); } -void Ifc2x3::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations, ::Ifc2x3::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc2x3::IfcMaterialDefinitionRepresentation Ifc2x3::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations, ::Ifc2x3::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc2x3::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcMaterial>(); } @@ -8500,7 +8500,7 @@ void Ifc2x3::IfcMaterialLayer::setIsVentilated(const std::optional< boost::logic std::vector<::Ifc2x3::IfcMaterialLayerSet> Ifc2x3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[480], 0)); } const ifcopenshell::entity& Ifc2x3::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC2X3_types[479]); } -void Ifc2x3::IfcMaterialLayer::initialize(::Ifc2x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } } +Ifc2x3::IfcMaterialLayer Ifc2x3::IfcMaterialLayer::initialize(::Ifc2x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc2x3::IfcMaterialLayer > Ifc2x3::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcMaterialLayer>(es); } @@ -8510,7 +8510,7 @@ void Ifc2x3::IfcMaterialLayerSet::setLayerSetName(const std::optional< std::stri const ifcopenshell::entity& Ifc2x3::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[480]); } -void Ifc2x3::IfcMaterialLayerSet::initialize(std::vector< ::Ifc2x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } } +Ifc2x3::IfcMaterialLayerSet Ifc2x3::IfcMaterialLayerSet::initialize(std::vector< ::Ifc2x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc2x3::IfcMaterialLayerSet Ifc2x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcMaterialLayerSet>(); } @@ -8524,7 +8524,7 @@ void Ifc2x3::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(const double& const ifcopenshell::entity& Ifc2x3::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC2X3_types[481]); } -void Ifc2x3::IfcMaterialLayerSetUsage::initialize(::Ifc2x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc2x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc2x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); } +Ifc2x3::IfcMaterialLayerSetUsage Ifc2x3::IfcMaterialLayerSetUsage::initialize(::Ifc2x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc2x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc2x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc2x3::IfcMaterial > Ifc2x3::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcMaterial>(es); } @@ -8532,7 +8532,7 @@ void Ifc2x3::IfcMaterialList::setMaterials(const std::vector< ::Ifc2x3::IfcMater const ifcopenshell::entity& Ifc2x3::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC2X3_types[482]); } -void Ifc2x3::IfcMaterialList::initialize(std::vector< ::Ifc2x3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc2x3::IfcMaterialList Ifc2x3::IfcMaterialList::initialize(std::vector< ::Ifc2x3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc2x3::IfcMaterial Ifc2x3::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcMaterial>(); } @@ -8540,7 +8540,7 @@ void Ifc2x3::IfcMaterialProperties::setMaterial(const ::Ifc2x3::IfcMaterial& v) const ifcopenshell::entity& Ifc2x3::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[483]); } -void Ifc2x3::IfcMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material) { set_attribute_value(0, (v1_Material)); } +Ifc2x3::IfcMaterialProperties Ifc2x3::IfcMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material) { set_attribute_value(0, (v1_Material));; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc2x3::IfcValue Ifc2x3::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcValue>(); } @@ -8550,7 +8550,7 @@ void Ifc2x3::IfcMeasureWithUnit::setUnitComponent(const ::Ifc2x3::IfcUnit& v) { const ifcopenshell::entity& Ifc2x3::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[486]); } -void Ifc2x3::IfcMeasureWithUnit::initialize(::Ifc2x3::IfcValue v1_ValueComponent, ::Ifc2x3::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc2x3::IfcMeasureWithUnit Ifc2x3::IfcMeasureWithUnit::initialize(::Ifc2x3::IfcValue v1_ValueComponent, ::Ifc2x3::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalConcreteMaterialProperties std::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } double v = get_attribute_value(6); return v; } @@ -8568,7 +8568,7 @@ void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(con const ifcopenshell::entity& Ifc2x3::IfcMechanicalConcreteMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[487]); } -void Ifc2x3::IfcMechanicalConcreteMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_CompressiveStrength, std::optional< double > v8_MaxAggregateSize, std::optional< std::string > v9_AdmixturesDescription, std::optional< std::string > v10_Workability, std::optional< double > v11_ProtectivePoreRatio, std::optional< std::string > v12_WaterImpermeability) { set_attribute_value(0, (v1_Material)); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_CompressiveStrength) {set_attribute_value(6, (*v7_CompressiveStrength)); } if (v8_MaxAggregateSize) {set_attribute_value(7, (*v8_MaxAggregateSize)); } if (v9_AdmixturesDescription) {set_attribute_value(8, (*v9_AdmixturesDescription)); } if (v10_Workability) {set_attribute_value(9, (*v10_Workability)); } if (v11_ProtectivePoreRatio) {set_attribute_value(10, (*v11_ProtectivePoreRatio)); } if (v12_WaterImpermeability) {set_attribute_value(11, (*v12_WaterImpermeability)); } } +Ifc2x3::IfcMechanicalConcreteMaterialProperties Ifc2x3::IfcMechanicalConcreteMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_CompressiveStrength, std::optional< double > v8_MaxAggregateSize, std::optional< std::string > v9_AdmixturesDescription, std::optional< std::string > v10_Workability, std::optional< double > v11_ProtectivePoreRatio, std::optional< std::string > v12_WaterImpermeability) { set_attribute_value(0, (v1_Material)); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_CompressiveStrength) {set_attribute_value(6, (*v7_CompressiveStrength)); } if (v8_MaxAggregateSize) {set_attribute_value(7, (*v8_MaxAggregateSize)); } if (v9_AdmixturesDescription) {set_attribute_value(8, (*v9_AdmixturesDescription)); } if (v10_Workability) {set_attribute_value(9, (*v10_Workability)); } if (v11_ProtectivePoreRatio) {set_attribute_value(10, (*v11_ProtectivePoreRatio)); } if (v12_WaterImpermeability) {set_attribute_value(11, (*v12_WaterImpermeability)); }; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc2x3::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -8578,13 +8578,13 @@ void Ifc2x3::IfcMechanicalFastener::setNominalLength(const std::optional< double const ifcopenshell::entity& Ifc2x3::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC2X3_types[488]); } -void Ifc2x3::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } } +Ifc2x3::IfcMechanicalFastener Ifc2x3::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); }; return *this; } // Function implementations for IfcMechanicalFastenerType const ifcopenshell::entity& Ifc2x3::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[489]); } -void Ifc2x3::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcMechanicalFastenerType Ifc2x3::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcMechanicalMaterialProperties std::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::DynamicViscosity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -8600,7 +8600,7 @@ void Ifc2x3::IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(con const ifcopenshell::entity& Ifc2x3::IfcMechanicalMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[490]); } -void Ifc2x3::IfcMechanicalMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient) { set_attribute_value(0, (v1_Material)); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } } +Ifc2x3::IfcMechanicalMaterialProperties Ifc2x3::IfcMechanicalMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient) { set_attribute_value(0, (v1_Material)); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); }; return *this; } // Function implementations for IfcMechanicalSteelMaterialProperties std::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::YieldStress() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } double v = get_attribute_value(6); return v; } @@ -8620,13 +8620,13 @@ void Ifc2x3::IfcMechanicalSteelMaterialProperties::setRelaxations(const std::opt const ifcopenshell::entity& Ifc2x3::IfcMechanicalSteelMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[491]); } -void Ifc2x3::IfcMechanicalSteelMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_YieldStress, std::optional< double > v8_UltimateStress, std::optional< double > v9_UltimateStrain, std::optional< double > v10_HardeningModule, std::optional< double > v11_ProportionalStress, std::optional< double > v12_PlasticStrain, std::optional< std::vector< ::Ifc2x3::IfcRelaxation > > v13_Relaxations) { set_attribute_value(0, (v1_Material)); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_YieldStress) {set_attribute_value(6, (*v7_YieldStress)); } if (v8_UltimateStress) {set_attribute_value(7, (*v8_UltimateStress)); } if (v9_UltimateStrain) {set_attribute_value(8, (*v9_UltimateStrain)); } if (v10_HardeningModule) {set_attribute_value(9, (*v10_HardeningModule)); } if (v11_ProportionalStress) {set_attribute_value(10, (*v11_ProportionalStress)); } if (v12_PlasticStrain) {set_attribute_value(11, (*v12_PlasticStrain)); } if (v13_Relaxations) {set_attribute_value(12, cast_vector(*v13_Relaxations)); } } +Ifc2x3::IfcMechanicalSteelMaterialProperties Ifc2x3::IfcMechanicalSteelMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_YieldStress, std::optional< double > v8_UltimateStress, std::optional< double > v9_UltimateStrain, std::optional< double > v10_HardeningModule, std::optional< double > v11_ProportionalStress, std::optional< double > v12_PlasticStrain, std::optional< std::vector< ::Ifc2x3::IfcRelaxation > > v13_Relaxations) { set_attribute_value(0, (v1_Material)); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_YieldStress) {set_attribute_value(6, (*v7_YieldStress)); } if (v8_UltimateStress) {set_attribute_value(7, (*v8_UltimateStress)); } if (v9_UltimateStrain) {set_attribute_value(8, (*v9_UltimateStrain)); } if (v10_HardeningModule) {set_attribute_value(9, (*v10_HardeningModule)); } if (v11_ProportionalStress) {set_attribute_value(10, (*v11_ProportionalStress)); } if (v12_PlasticStrain) {set_attribute_value(11, (*v12_PlasticStrain)); } if (v13_Relaxations) {set_attribute_value(12, cast_vector(*v13_Relaxations)); }; return *this; } // Function implementations for IfcMember const ifcopenshell::entity& Ifc2x3::IfcMember::Class() { return *((ifcopenshell::entity*)IFC2X3_types[492]); } -void Ifc2x3::IfcMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcMember Ifc2x3::IfcMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcMemberType ::Ifc2x3::IfcMemberTypeEnum::Value Ifc2x3::IfcMemberType::PredefinedType() const { return ::Ifc2x3::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -8634,7 +8634,7 @@ void Ifc2x3::IfcMemberType::setPredefinedType(const ::Ifc2x3::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[493]); } -void Ifc2x3::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcMemberType Ifc2x3::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc2x3::IfcBenchmarkEnum::Value Ifc2x3::IfcMetric::Benchmark() const { return ::Ifc2x3::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -8646,7 +8646,7 @@ void Ifc2x3::IfcMetric::setDataValue(const ::Ifc2x3::IfcMetricValueSelect& v) { const ifcopenshell::entity& Ifc2x3::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC2X3_types[495]); } -void Ifc2x3::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect v10_DataValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor));set_attribute_value(5, (v6_CreationTime)); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue)); } +Ifc2x3::IfcMetric Ifc2x3::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect v10_DataValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor));set_attribute_value(5, (v6_CreationTime)); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));; return *this; } // Function implementations for IfcMonetaryUnit ::Ifc2x3::IfcCurrencyEnum::Value Ifc2x3::IfcMonetaryUnit::Currency() const { return ::Ifc2x3::IfcCurrencyEnum::FromString(get_attribute_value(0)); } @@ -8654,7 +8654,7 @@ void Ifc2x3::IfcMonetaryUnit::setCurrency(const ::Ifc2x3::IfcCurrencyEnum::Value const ifcopenshell::entity& Ifc2x3::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[506]); } -void Ifc2x3::IfcMonetaryUnit::initialize(::Ifc2x3::IfcCurrencyEnum::Value v1_Currency) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcCurrencyEnum::Class(),(size_t)v1_Currency))); } +Ifc2x3::IfcMonetaryUnit Ifc2x3::IfcMonetaryUnit::initialize(::Ifc2x3::IfcCurrencyEnum::Value v1_Currency) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcCurrencyEnum::Class(),(size_t)v1_Currency)));; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc2x3::IfcMotorConnectionTypeEnum::Value Ifc2x3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc2x3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -8662,7 +8662,7 @@ void Ifc2x3::IfcMotorConnectionType::setPredefinedType(const ::Ifc2x3::IfcMotorC const ifcopenshell::entity& Ifc2x3::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[508]); } -void Ifc2x3::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcMotorConnectionType Ifc2x3::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMove ::Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcMove::MoveFrom() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcSpatialStructureElement>(); } @@ -8674,7 +8674,7 @@ void Ifc2x3::IfcMove::setPunchList(const std::optional< std::vector< std::string const ifcopenshell::entity& Ifc2x3::IfcMove::Class() { return *((ifcopenshell::entity*)IFC2X3_types[510]); } -void Ifc2x3::IfcMove::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement v12_MoveTo, std::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, (v11_MoveFrom));set_attribute_value(11, (v12_MoveTo)); if (v13_PunchList) {set_attribute_value(12, (*v13_PunchList)); } } +Ifc2x3::IfcMove Ifc2x3::IfcMove::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement v12_MoveTo, std::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, (v11_MoveFrom));set_attribute_value(11, (v12_MoveTo)); if (v13_PunchList) {set_attribute_value(12, (*v13_PunchList)); }; return *this; } // Function implementations for IfcNamedUnit ::Ifc2x3::IfcDimensionalExponents Ifc2x3::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDimensionalExponents>(); } @@ -8684,7 +8684,7 @@ void Ifc2x3::IfcNamedUnit::setUnitType(const ::Ifc2x3::IfcUnitEnum::Value& v) { const ifcopenshell::entity& Ifc2x3::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[511]); } -void Ifc2x3::IfcNamedUnit::initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc2x3::IfcNamedUnit Ifc2x3::IfcNamedUnit::initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc2x3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -8693,7 +8693,7 @@ void Ifc2x3::IfcObject::setObjectType(const std::optional< std::string >& v) { i std::vector<::Ifc2x3::IfcRelDefines> Ifc2x3::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[702], 4)); } const ifcopenshell::entity& Ifc2x3::IfcObject::Class() { return *((ifcopenshell::entity*)IFC2X3_types[515]); } -void Ifc2x3::IfcObject::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcObject Ifc2x3::IfcObject::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -8703,7 +8703,7 @@ std::vector<::Ifc2x3::IfcRelDecomposes> Ifc2x3::IfcObjectDefinition::Decomposes( std::vector<::Ifc2x3::IfcRelAssociates> Ifc2x3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[677], 4)); } const ifcopenshell::entity& Ifc2x3::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[516]); } -void Ifc2x3::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcObjectDefinition Ifc2x3::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement @@ -8711,7 +8711,7 @@ std::vector<::Ifc2x3::IfcProduct> Ifc2x3::IfcObjectPlacement::PlacesObject() con std::vector<::Ifc2x3::IfcLocalPlacement> Ifc2x3::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[459], 0)); } const ifcopenshell::entity& Ifc2x3::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[519]); } -void Ifc2x3::IfcObjectPlacement::initialize() { } +Ifc2x3::IfcObjectPlacement Ifc2x3::IfcObjectPlacement::initialize() { ; return *this; } // Function implementations for IfcObjective ::Ifc2x3::IfcMetric Ifc2x3::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcMetric{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcMetric>(); } @@ -8725,7 +8725,7 @@ void Ifc2x3::IfcObjective::setUserDefinedQualifier(const std::optional< std::str const ifcopenshell::entity& Ifc2x3::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC2X3_types[517]); } -void Ifc2x3::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcMetric v8_BenchmarkValues, ::Ifc2x3::IfcMetric v9_ResultValues, ::Ifc2x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor));set_attribute_value(5, (v6_CreationTime)); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (v8_BenchmarkValues));set_attribute_value(8, (v9_ResultValues));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc2x3::IfcObjective Ifc2x3::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcMetric v8_BenchmarkValues, ::Ifc2x3::IfcMetric v9_ResultValues, ::Ifc2x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor));set_attribute_value(5, (v6_CreationTime)); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (v8_BenchmarkValues));set_attribute_value(8, (v9_ResultValues));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant ::Ifc2x3::IfcOccupantTypeEnum::Value Ifc2x3::IfcOccupant::PredefinedType() const { return ::Ifc2x3::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -8733,7 +8733,7 @@ void Ifc2x3::IfcOccupant::setPredefinedType(const ::Ifc2x3::IfcOccupantTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC2X3_types[522]); } -void Ifc2x3::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcOccupantTypeEnum::Class(),(size_t)v7_PredefinedType))); } +Ifc2x3::IfcOccupant Ifc2x3::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcOccupantTypeEnum::Class(),(size_t)v7_PredefinedType)));; return *this; } // Function implementations for IfcOffsetCurve2D ::Ifc2x3::IfcCurve Ifc2x3::IfcOffsetCurve2D::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } @@ -8745,7 +8745,7 @@ void Ifc2x3::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc2x3::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[524]); } -void Ifc2x3::IfcOffsetCurve2D::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc2x3::IfcOffsetCurve2D Ifc2x3::IfcOffsetCurve2D::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D ::Ifc2x3::IfcCurve Ifc2x3::IfcOffsetCurve3D::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } @@ -8759,7 +8759,7 @@ void Ifc2x3::IfcOffsetCurve3D::setRefDirection(const ::Ifc2x3::IfcDirection& v) const ifcopenshell::entity& Ifc2x3::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC2X3_types[525]); } -void Ifc2x3::IfcOffsetCurve3D::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc2x3::IfcOffsetCurve3D Ifc2x3::IfcOffsetCurve3D::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOneDirectionRepeatFactor ::Ifc2x3::IfcVector Ifc2x3::IfcOneDirectionRepeatFactor::RepeatFactor() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcVector>(); } @@ -8767,20 +8767,20 @@ void Ifc2x3::IfcOneDirectionRepeatFactor::setRepeatFactor(const ::Ifc2x3::IfcVec const ifcopenshell::entity& Ifc2x3::IfcOneDirectionRepeatFactor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[526]); } -void Ifc2x3::IfcOneDirectionRepeatFactor::initialize(::Ifc2x3::IfcVector v1_RepeatFactor) { set_attribute_value(0, (v1_RepeatFactor)); } +Ifc2x3::IfcOneDirectionRepeatFactor Ifc2x3::IfcOneDirectionRepeatFactor::initialize(::Ifc2x3::IfcVector v1_RepeatFactor) { set_attribute_value(0, (v1_RepeatFactor));; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc2x3::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC2X3_types[528]); } -void Ifc2x3::IfcOpenShell::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc2x3::IfcOpenShell Ifc2x3::IfcOpenShell::initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::vector<::Ifc2x3::IfcRelFillsElement> Ifc2x3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[705], 4)); } const ifcopenshell::entity& Ifc2x3::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[527]); } -void Ifc2x3::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcOpeningElement Ifc2x3::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcOpticalMaterialProperties std::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleTransmittance() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -8804,7 +8804,7 @@ void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceBack(const std::op const ifcopenshell::entity& Ifc2x3::IfcOpticalMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[529]); } -void Ifc2x3::IfcOpticalMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_VisibleTransmittance, std::optional< double > v3_SolarTransmittance, std::optional< double > v4_ThermalIrTransmittance, std::optional< double > v5_ThermalIrEmissivityBack, std::optional< double > v6_ThermalIrEmissivityFront, std::optional< double > v7_VisibleReflectanceBack, std::optional< double > v8_VisibleReflectanceFront, std::optional< double > v9_SolarReflectanceFront, std::optional< double > v10_SolarReflectanceBack) { set_attribute_value(0, (v1_Material)); if (v2_VisibleTransmittance) {set_attribute_value(1, (*v2_VisibleTransmittance)); } if (v3_SolarTransmittance) {set_attribute_value(2, (*v3_SolarTransmittance)); } if (v4_ThermalIrTransmittance) {set_attribute_value(3, (*v4_ThermalIrTransmittance)); } if (v5_ThermalIrEmissivityBack) {set_attribute_value(4, (*v5_ThermalIrEmissivityBack)); } if (v6_ThermalIrEmissivityFront) {set_attribute_value(5, (*v6_ThermalIrEmissivityFront)); } if (v7_VisibleReflectanceBack) {set_attribute_value(6, (*v7_VisibleReflectanceBack)); } if (v8_VisibleReflectanceFront) {set_attribute_value(7, (*v8_VisibleReflectanceFront)); } if (v9_SolarReflectanceFront) {set_attribute_value(8, (*v9_SolarReflectanceFront)); } if (v10_SolarReflectanceBack) {set_attribute_value(9, (*v10_SolarReflectanceBack)); } } +Ifc2x3::IfcOpticalMaterialProperties Ifc2x3::IfcOpticalMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_VisibleTransmittance, std::optional< double > v3_SolarTransmittance, std::optional< double > v4_ThermalIrTransmittance, std::optional< double > v5_ThermalIrEmissivityBack, std::optional< double > v6_ThermalIrEmissivityFront, std::optional< double > v7_VisibleReflectanceBack, std::optional< double > v8_VisibleReflectanceFront, std::optional< double > v9_SolarReflectanceFront, std::optional< double > v10_SolarReflectanceBack) { set_attribute_value(0, (v1_Material)); if (v2_VisibleTransmittance) {set_attribute_value(1, (*v2_VisibleTransmittance)); } if (v3_SolarTransmittance) {set_attribute_value(2, (*v3_SolarTransmittance)); } if (v4_ThermalIrTransmittance) {set_attribute_value(3, (*v4_ThermalIrTransmittance)); } if (v5_ThermalIrEmissivityBack) {set_attribute_value(4, (*v5_ThermalIrEmissivityBack)); } if (v6_ThermalIrEmissivityFront) {set_attribute_value(5, (*v6_ThermalIrEmissivityFront)); } if (v7_VisibleReflectanceBack) {set_attribute_value(6, (*v7_VisibleReflectanceBack)); } if (v8_VisibleReflectanceFront) {set_attribute_value(7, (*v8_VisibleReflectanceFront)); } if (v9_SolarReflectanceFront) {set_attribute_value(8, (*v9_SolarReflectanceFront)); } if (v10_SolarReflectanceBack) {set_attribute_value(9, (*v10_SolarReflectanceBack)); }; return *this; } // Function implementations for IfcOrderAction std::string Ifc2x3::IfcOrderAction::ActionID() const { std::string v = get_attribute_value(10); return v; } @@ -8812,7 +8812,7 @@ void Ifc2x3::IfcOrderAction::setActionID(const std::string& v) { set_attribute_v const ifcopenshell::entity& Ifc2x3::IfcOrderAction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[530]); } -void Ifc2x3::IfcOrderAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, std::string v11_ActionID) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, (v11_ActionID)); } +Ifc2x3::IfcOrderAction Ifc2x3::IfcOrderAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, std::string v11_ActionID) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, (v11_ActionID));; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc2x3::IfcOrganization::Id() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8831,7 +8831,7 @@ std::vector<::Ifc2x3::IfcOrganizationRelationship> Ifc2x3::IfcOrganization::Rela std::vector<::Ifc2x3::IfcPersonAndOrganization> Ifc2x3::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[546], 1)); } const ifcopenshell::entity& Ifc2x3::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC2X3_types[531]); } -void Ifc2x3::IfcOrganization::initialize(std::optional< std::string > v1_Id, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v5_Addresses) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc2x3::IfcOrganization Ifc2x3::IfcOrganization::initialize(std::optional< std::string > v1_Id, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v5_Addresses) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship std::string Ifc2x3::IfcOrganizationRelationship::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8845,7 +8845,7 @@ void Ifc2x3::IfcOrganizationRelationship::setRelatedOrganizations(const std::vec const ifcopenshell::entity& Ifc2x3::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[532]); } -void Ifc2x3::IfcOrganizationRelationship::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc2x3::IfcOrganization > v4_RelatedOrganizations) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc2x3::IfcOrganizationRelationship Ifc2x3::IfcOrganizationRelationship::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc2x3::IfcOrganization > v4_RelatedOrganizations) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc2x3::IfcEdge Ifc2x3::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcEdge>(); } @@ -8855,7 +8855,7 @@ void Ifc2x3::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc2x3::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC2X3_types[534]); } -void Ifc2x3::IfcOrientedEdge::initialize(::Ifc2x3::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc2x3::IfcOrientedEdge Ifc2x3::IfcOrientedEdge::initialize(::Ifc2x3::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOutletType ::Ifc2x3::IfcOutletTypeEnum::Value Ifc2x3::IfcOutletType::PredefinedType() const { return ::Ifc2x3::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -8863,7 +8863,7 @@ void Ifc2x3::IfcOutletType::setPredefinedType(const ::Ifc2x3::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[535]); } -void Ifc2x3::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcOutletType Ifc2x3::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc2x3::IfcPersonAndOrganization Ifc2x3::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcPersonAndOrganization>(); } @@ -8885,7 +8885,7 @@ void Ifc2x3::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_valu const ifcopenshell::entity& Ifc2x3::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC2X3_types[537]); } -void Ifc2x3::IfcOwnerHistory::initialize(::Ifc2x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc2x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc2x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcStateEnum::Class(),(size_t)*v3_State))); }set_attribute_value(3, (enumeration_reference(&::Ifc2x3::IfcChangeActionEnum::Class(),(size_t)v4_ChangeAction))); if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc2x3::IfcOwnerHistory Ifc2x3::IfcOwnerHistory::initialize(::Ifc2x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc2x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc2x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcStateEnum::Class(),(size_t)*v3_State))); }set_attribute_value(3, (enumeration_reference(&::Ifc2x3::IfcChangeActionEnum::Class(),(size_t)v4_ChangeAction))); if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc2x3::IfcAxis2Placement2D Ifc2x3::IfcParameterizedProfileDef::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis2Placement2D>(); } @@ -8893,7 +8893,7 @@ void Ifc2x3::IfcParameterizedProfileDef::setPosition(const ::Ifc2x3::IfcAxis2Pla const ifcopenshell::entity& Ifc2x3::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[538]); } -void Ifc2x3::IfcParameterizedProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc2x3::IfcParameterizedProfileDef Ifc2x3::IfcParameterizedProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc2x3::IfcOrientedEdge > Ifc2x3::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcOrientedEdge>(es); } @@ -8901,7 +8901,7 @@ void Ifc2x3::IfcPath::setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge > const ifcopenshell::entity& Ifc2x3::IfcPath::Class() { return *((ifcopenshell::entity*)IFC2X3_types[540]); } -void Ifc2x3::IfcPath::initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc2x3::IfcPath Ifc2x3::IfcPath::initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc2x3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(5); return v; } @@ -8909,7 +8909,7 @@ void Ifc2x3::IfcPerformanceHistory::setLifeCyclePhase(const std::string& v) { se const ifcopenshell::entity& Ifc2x3::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC2X3_types[541]); } -void Ifc2x3::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_LifeCyclePhase)); } +Ifc2x3::IfcPerformanceHistory Ifc2x3::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_LifeCyclePhase));; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value Ifc2x3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc2x3::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -8925,7 +8925,7 @@ void Ifc2x3::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc2x3: const ifcopenshell::entity& Ifc2x3::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[543]); } -void Ifc2x3::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc2x3::IfcPermeableCoveringProperties Ifc2x3::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::string Ifc2x3::IfcPermit::PermitID() const { std::string v = get_attribute_value(5); return v; } @@ -8933,7 +8933,7 @@ void Ifc2x3::IfcPermit::setPermitID(const std::string& v) { set_attribute_value( const ifcopenshell::entity& Ifc2x3::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[544]); } -void Ifc2x3::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_PermitID) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_PermitID)); } +Ifc2x3::IfcPermit Ifc2x3::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_PermitID) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_PermitID));; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc2x3::IfcPerson::Id() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8956,7 +8956,7 @@ void Ifc2x3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc2x3: std::vector<::Ifc2x3::IfcPersonAndOrganization> Ifc2x3::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[546], 0)); } const ifcopenshell::entity& Ifc2x3::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC2X3_types[545]); } -void Ifc2x3::IfcPerson::initialize(std::optional< std::string > v1_Id, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v8_Addresses) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc2x3::IfcPerson Ifc2x3::IfcPerson::initialize(std::optional< std::string > v1_Id, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v8_Addresses) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc2x3::IfcPerson Ifc2x3::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcPerson>(); } @@ -8968,7 +8968,7 @@ void Ifc2x3::IfcPersonAndOrganization::setRoles(const std::optional< std::vector const ifcopenshell::entity& Ifc2x3::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC2X3_types[546]); } -void Ifc2x3::IfcPersonAndOrganization::initialize(::Ifc2x3::IfcPerson v1_ThePerson, ::Ifc2x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc2x3::IfcPersonAndOrganization Ifc2x3::IfcPersonAndOrganization::initialize(::Ifc2x3::IfcPerson v1_ThePerson, ::Ifc2x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc2x3::IfcPhysicalQuantity > Ifc2x3::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcPhysicalQuantity>(es); } @@ -8982,7 +8982,7 @@ void Ifc2x3::IfcPhysicalComplexQuantity::setUsage(const std::optional< std::stri const ifcopenshell::entity& Ifc2x3::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[548]); } -void Ifc2x3::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc2x3::IfcPhysicalComplexQuantity Ifc2x3::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc2x3::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8993,7 +8993,7 @@ void Ifc2x3::IfcPhysicalQuantity::setDescription(const std::optional< std::strin std::vector<::Ifc2x3::IfcPhysicalComplexQuantity> Ifc2x3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[548], 2)); } const ifcopenshell::entity& Ifc2x3::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[550]); } -void Ifc2x3::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc2x3::IfcPhysicalQuantity Ifc2x3::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc2x3::IfcNamedUnit Ifc2x3::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcNamedUnit>(); } @@ -9001,7 +9001,7 @@ void Ifc2x3::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc2x3::IfcNamedUnit& v) const ifcopenshell::entity& Ifc2x3::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[551]); } -void Ifc2x3::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc2x3::IfcPhysicalSimpleQuantity Ifc2x3::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile ::Ifc2x3::IfcPileTypeEnum::Value Ifc2x3::IfcPile::PredefinedType() const { return ::Ifc2x3::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -9011,7 +9011,7 @@ void Ifc2x3::IfcPile::setConstructionType(const std::optional< ::Ifc2x3::IfcPile const ifcopenshell::entity& Ifc2x3::IfcPile::Class() { return *((ifcopenshell::entity*)IFC2X3_types[552]); } -void Ifc2x3::IfcPile::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcPileTypeEnum::Value v9_PredefinedType, std::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcPileTypeEnum::Class(),(size_t)v9_PredefinedType))); if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc2x3::IfcPile Ifc2x3::IfcPile::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcPileTypeEnum::Value v9_PredefinedType, std::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcPileTypeEnum::Class(),(size_t)v9_PredefinedType))); if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc2x3::IfcPipeFittingTypeEnum::Value Ifc2x3::IfcPipeFittingType::PredefinedType() const { return ::Ifc2x3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -9019,7 +9019,7 @@ void Ifc2x3::IfcPipeFittingType::setPredefinedType(const ::Ifc2x3::IfcPipeFittin const ifcopenshell::entity& Ifc2x3::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[555]); } -void Ifc2x3::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcPipeFittingType Ifc2x3::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc2x3::IfcPipeSegmentTypeEnum::Value Ifc2x3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc2x3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9027,7 +9027,7 @@ void Ifc2x3::IfcPipeSegmentType::setPredefinedType(const ::Ifc2x3::IfcPipeSegmen const ifcopenshell::entity& Ifc2x3::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[557]); } -void Ifc2x3::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcPipeSegmentType Ifc2x3::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc2x3::IfcPixelTexture::Width() const { int v = get_attribute_value(4); return v; } @@ -9041,7 +9041,7 @@ void Ifc2x3::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bitset< const ifcopenshell::entity& Ifc2x3::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC2X3_types[559]); } -void Ifc2x3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_Height));set_attribute_value(6, (v7_ColourComponents));set_attribute_value(7, (v8_Pixel)); } +Ifc2x3::IfcPixelTexture Ifc2x3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_Height));set_attribute_value(6, (v7_ColourComponents));set_attribute_value(7, (v8_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc2x3::IfcCartesianPoint Ifc2x3::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCartesianPoint>(); } @@ -9049,7 +9049,7 @@ void Ifc2x3::IfcPlacement::setLocation(const ::Ifc2x3::IfcCartesianPoint& v) { s const ifcopenshell::entity& Ifc2x3::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[560]); } -void Ifc2x3::IfcPlacement::initialize(::Ifc2x3::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc2x3::IfcPlacement Ifc2x3::IfcPlacement::initialize(::Ifc2x3::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis2Placement>(); } @@ -9057,7 +9057,7 @@ void Ifc2x3::IfcPlanarBox::setPlacement(const ::Ifc2x3::IfcAxis2Placement& v) { const ifcopenshell::entity& Ifc2x3::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC2X3_types[561]); } -void Ifc2x3::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc2x3::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc2x3::IfcPlanarBox Ifc2x3::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc2x3::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc2x3::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -9067,19 +9067,19 @@ void Ifc2x3::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc2x3::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC2X3_types[562]); } -void Ifc2x3::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc2x3::IfcPlanarExtent Ifc2x3::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc2x3::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC2X3_types[564]); } -void Ifc2x3::IfcPlane::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc2x3::IfcPlane Ifc2x3::IfcPlane::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate const ifcopenshell::entity& Ifc2x3::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC2X3_types[566]); } -void Ifc2x3::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcPlate Ifc2x3::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcPlateType ::Ifc2x3::IfcPlateTypeEnum::Value Ifc2x3::IfcPlateType::PredefinedType() const { return ::Ifc2x3::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -9087,13 +9087,13 @@ void Ifc2x3::IfcPlateType::setPredefinedType(const ::Ifc2x3::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[567]); } -void Ifc2x3::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcPlateType Ifc2x3::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc2x3::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[569]); } -void Ifc2x3::IfcPoint::initialize() { } +Ifc2x3::IfcPoint Ifc2x3::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointOnCurve ::Ifc2x3::IfcCurve Ifc2x3::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } @@ -9103,7 +9103,7 @@ void Ifc2x3::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute const ifcopenshell::entity& Ifc2x3::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[570]); } -void Ifc2x3::IfcPointOnCurve::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc2x3::IfcPointOnCurve Ifc2x3::IfcPointOnCurve::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc2x3::IfcSurface Ifc2x3::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurface>(); } @@ -9115,7 +9115,7 @@ void Ifc2x3::IfcPointOnSurface::setPointParameterV(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[571]); } -void Ifc2x3::IfcPointOnSurface::initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc2x3::IfcPointOnSurface Ifc2x3::IfcPointOnSurface::initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } @@ -9123,7 +9123,7 @@ void Ifc2x3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc2x3::IfcCartesianPo const ifcopenshell::entity& Ifc2x3::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC2X3_types[575]); } -void Ifc2x3::IfcPolyLoop::initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc2x3::IfcPolyLoop Ifc2x3::IfcPolyLoop::initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc2x3::IfcAxis2Placement3D Ifc2x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis2Placement3D>(); } @@ -9133,7 +9133,7 @@ void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc2x3:: const ifcopenshell::entity& Ifc2x3::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC2X3_types[573]); } -void Ifc2x3::IfcPolygonalBoundedHalfSpace::initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcAxis2Placement3D v3_Position, ::Ifc2x3::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc2x3::IfcPolygonalBoundedHalfSpace Ifc2x3::IfcPolygonalBoundedHalfSpace::initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcAxis2Placement3D v3_Position, ::Ifc2x3::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc2x3::IfcCartesianPoint > Ifc2x3::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcCartesianPoint>(es); } @@ -9141,7 +9141,7 @@ void Ifc2x3::IfcPolyline::setPoints(const std::vector< ::Ifc2x3::IfcCartesianPoi const ifcopenshell::entity& Ifc2x3::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC2X3_types[574]); } -void Ifc2x3::IfcPolyline::initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc2x3::IfcPolyline Ifc2x3::IfcPolyline::initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPort @@ -9150,7 +9150,7 @@ std::vector<::Ifc2x3::IfcRelConnectsPorts> Ifc2x3::IfcPort::ConnectedFrom() cons std::vector<::Ifc2x3::IfcRelConnectsPorts> Ifc2x3::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[691], 4)); } const ifcopenshell::entity& Ifc2x3::IfcPort::Class() { return *((ifcopenshell::entity*)IFC2X3_types[576]); } -void Ifc2x3::IfcPort::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc2x3::IfcPort Ifc2x3::IfcPort::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc2x3::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9170,25 +9170,25 @@ void Ifc2x3::IfcPostalAddress::setCountry(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc2x3::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC2X3_types[580]); } -void Ifc2x3::IfcPostalAddress::initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc2x3::IfcPostalAddress Ifc2x3::IfcPostalAddress::initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc2x3::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC2X3_types[582]); } -void Ifc2x3::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedColour Ifc2x3::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc2x3::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[583]); } -void Ifc2x3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedCurveFont Ifc2x3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedDimensionSymbol const ifcopenshell::entity& Ifc2x3::IfcPreDefinedDimensionSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[584]); } -void Ifc2x3::IfcPreDefinedDimensionSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedDimensionSymbol Ifc2x3::IfcPreDefinedDimensionSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc2x3::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9196,31 +9196,31 @@ void Ifc2x3::IfcPreDefinedItem::setName(const std::string& v) { set_attribute_va const ifcopenshell::entity& Ifc2x3::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[585]); } -void Ifc2x3::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedItem Ifc2x3::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedPointMarkerSymbol const ifcopenshell::entity& Ifc2x3::IfcPreDefinedPointMarkerSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[586]); } -void Ifc2x3::IfcPreDefinedPointMarkerSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedPointMarkerSymbol Ifc2x3::IfcPreDefinedPointMarkerSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedSymbol const ifcopenshell::entity& Ifc2x3::IfcPreDefinedSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[587]); } -void Ifc2x3::IfcPreDefinedSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedSymbol Ifc2x3::IfcPreDefinedSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedTerminatorSymbol const ifcopenshell::entity& Ifc2x3::IfcPreDefinedTerminatorSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[588]); } -void Ifc2x3::IfcPreDefinedTerminatorSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedTerminatorSymbol Ifc2x3::IfcPreDefinedTerminatorSymbol::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc2x3::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[589]); } -void Ifc2x3::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc2x3::IfcPreDefinedTextFont Ifc2x3::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9234,7 +9234,7 @@ void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[591]); } -void Ifc2x3::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc2x3::IfcPresentationLayerAssignment Ifc2x3::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -9248,7 +9248,7 @@ void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< :: const ifcopenshell::entity& Ifc2x3::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[592]); } -void Ifc2x3::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc2x3::IfcPresentationLayerWithStyle Ifc2x3::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc2x3::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9256,7 +9256,7 @@ void Ifc2x3::IfcPresentationStyle::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc2x3::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[593]); } -void Ifc2x3::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc2x3::IfcPresentationStyle Ifc2x3::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcPresentationStyleAssignment std::vector< ::Ifc2x3::IfcPresentationStyleSelect > Ifc2x3::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcPresentationStyleSelect>(es); } @@ -9264,7 +9264,7 @@ void Ifc2x3::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc2 const ifcopenshell::entity& Ifc2x3::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[594]); } -void Ifc2x3::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles)); } +Ifc2x3::IfcPresentationStyleAssignment Ifc2x3::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } // Function implementations for IfcProcedure std::string Ifc2x3::IfcProcedure::ProcedureID() const { std::string v = get_attribute_value(5); return v; } @@ -9276,7 +9276,7 @@ void Ifc2x3::IfcProcedure::setUserDefinedProcedureType(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC2X3_types[597]); } -void Ifc2x3::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, ::Ifc2x3::IfcProcedureTypeEnum::Value v7_ProcedureType, std::optional< std::string > v8_UserDefinedProcedureType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ProcedureID));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcProcedureTypeEnum::Class(),(size_t)v7_ProcedureType))); if (v8_UserDefinedProcedureType) {set_attribute_value(7, (*v8_UserDefinedProcedureType)); } } +Ifc2x3::IfcProcedure Ifc2x3::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, ::Ifc2x3::IfcProcedureTypeEnum::Value v7_ProcedureType, std::optional< std::string > v8_UserDefinedProcedureType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ProcedureID));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcProcedureTypeEnum::Class(),(size_t)v7_ProcedureType))); if (v8_UserDefinedProcedureType) {set_attribute_value(7, (*v8_UserDefinedProcedureType)); }; return *this; } // Function implementations for IfcProcess @@ -9285,7 +9285,7 @@ std::vector<::Ifc2x3::IfcRelSequence> Ifc2x3::IfcProcess::IsSuccessorFrom() cons std::vector<::Ifc2x3::IfcRelSequence> Ifc2x3::IfcProcess::IsPredecessorTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[714], 4)); } const ifcopenshell::entity& Ifc2x3::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC2X3_types[599]); } -void Ifc2x3::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcProcess Ifc2x3::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcProduct ::Ifc2x3::IfcObjectPlacement Ifc2x3::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcObjectPlacement>(); } @@ -9296,7 +9296,7 @@ void Ifc2x3::IfcProduct::setRepresentation(const ::Ifc2x3::IfcProductRepresentat std::vector<::Ifc2x3::IfcRelAssignsToProduct> Ifc2x3::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[674], 6)); } const ifcopenshell::entity& Ifc2x3::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC2X3_types[600]); } -void Ifc2x3::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc2x3::IfcProduct Ifc2x3::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -9304,7 +9304,7 @@ std::vector<::Ifc2x3::IfcProduct> Ifc2x3::IfcProductDefinitionShape::ShapeOfProd std::vector<::Ifc2x3::IfcShapeAspect> Ifc2x3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[755], 4)); } const ifcopenshell::entity& Ifc2x3::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC2X3_types[601]); } -void Ifc2x3::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc2x3::IfcProductDefinitionShape Ifc2x3::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc2x3::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9316,7 +9316,7 @@ void Ifc2x3::IfcProductRepresentation::setRepresentations(const std::vector< ::I const ifcopenshell::entity& Ifc2x3::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[602]); } -void Ifc2x3::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc2x3::IfcProductRepresentation Ifc2x3::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductsOfCombustionProperties std::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -9330,7 +9330,7 @@ void Ifc2x3::IfcProductsOfCombustionProperties::setCO2Content(const std::optiona const ifcopenshell::entity& Ifc2x3::IfcProductsOfCombustionProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[603]); } -void Ifc2x3::IfcProductsOfCombustionProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_N20Content, std::optional< double > v4_COContent, std::optional< double > v5_CO2Content) { set_attribute_value(0, (v1_Material)); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_N20Content) {set_attribute_value(2, (*v3_N20Content)); } if (v4_COContent) {set_attribute_value(3, (*v4_COContent)); } if (v5_CO2Content) {set_attribute_value(4, (*v5_CO2Content)); } } +Ifc2x3::IfcProductsOfCombustionProperties Ifc2x3::IfcProductsOfCombustionProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_N20Content, std::optional< double > v4_COContent, std::optional< double > v5_CO2Content) { set_attribute_value(0, (v1_Material)); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_N20Content) {set_attribute_value(2, (*v3_N20Content)); } if (v4_COContent) {set_attribute_value(3, (*v4_COContent)); } if (v5_CO2Content) {set_attribute_value(4, (*v5_CO2Content)); }; return *this; } // Function implementations for IfcProfileDef ::Ifc2x3::IfcProfileTypeEnum::Value Ifc2x3::IfcProfileDef::ProfileType() const { return ::Ifc2x3::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -9340,7 +9340,7 @@ void Ifc2x3::IfcProfileDef::setProfileName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc2x3::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[604]); } -void Ifc2x3::IfcProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc2x3::IfcProfileDef Ifc2x3::IfcProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties std::optional< std::string > Ifc2x3::IfcProfileProperties::ProfileName() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9350,7 +9350,7 @@ void Ifc2x3::IfcProfileProperties::setProfileDefinition(const ::Ifc2x3::IfcProfi const ifcopenshell::entity& Ifc2x3::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[605]); } -void Ifc2x3::IfcProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); } +Ifc2x3::IfcProfileProperties Ifc2x3::IfcProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition));; return *this; } // Function implementations for IfcProject std::optional< std::string > Ifc2x3::IfcProject::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9364,7 +9364,7 @@ void Ifc2x3::IfcProject::setUnitsInContext(const ::Ifc2x3::IfcUnitAssignment& v) const ifcopenshell::entity& Ifc2x3::IfcProject::Class() { return *((ifcopenshell::entity*)IFC2X3_types[607]); } -void Ifc2x3::IfcProject::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::vector< ::Ifc2x3::IfcRepresentationContext > v8_RepresentationContexts, ::Ifc2x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); }set_attribute_value(7, cast_vector(v8_RepresentationContexts));set_attribute_value(8, (v9_UnitsInContext)); } +Ifc2x3::IfcProject Ifc2x3::IfcProject::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::vector< ::Ifc2x3::IfcRepresentationContext > v8_RepresentationContexts, ::Ifc2x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); }set_attribute_value(7, cast_vector(v8_RepresentationContexts));set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::string Ifc2x3::IfcProjectOrder::ID() const { std::string v = get_attribute_value(5); return v; } @@ -9376,7 +9376,7 @@ void Ifc2x3::IfcProjectOrder::setStatus(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc2x3::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC2X3_types[611]); } -void Ifc2x3::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ID, ::Ifc2x3::IfcProjectOrderTypeEnum::Value v7_PredefinedType, std::optional< std::string > v8_Status) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ID));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcProjectOrderTypeEnum::Class(),(size_t)v7_PredefinedType))); if (v8_Status) {set_attribute_value(7, (*v8_Status)); } } +Ifc2x3::IfcProjectOrder Ifc2x3::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ID, ::Ifc2x3::IfcProjectOrderTypeEnum::Value v7_PredefinedType, std::optional< std::string > v8_Status) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ID));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcProjectOrderTypeEnum::Class(),(size_t)v7_PredefinedType))); if (v8_Status) {set_attribute_value(7, (*v8_Status)); }; return *this; } // Function implementations for IfcProjectOrderRecord std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > Ifc2x3::IfcProjectOrderRecord::Records() const { std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcRelAssignsToProjectOrder>(es); } @@ -9386,19 +9386,19 @@ void Ifc2x3::IfcProjectOrderRecord::setPredefinedType(const ::Ifc2x3::IfcProject const ifcopenshell::entity& Ifc2x3::IfcProjectOrderRecord::Class() { return *((ifcopenshell::entity*)IFC2X3_types[612]); } -void Ifc2x3::IfcProjectOrderRecord::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > v6_Records, ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, cast_vector(v6_Records));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcProjectOrderRecordTypeEnum::Class(),(size_t)v7_PredefinedType))); } +Ifc2x3::IfcProjectOrderRecord Ifc2x3::IfcProjectOrderRecord::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > v6_Records, ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, cast_vector(v6_Records));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcProjectOrderRecordTypeEnum::Class(),(size_t)v7_PredefinedType)));; return *this; } // Function implementations for IfcProjectionCurve const ifcopenshell::entity& Ifc2x3::IfcProjectionCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[609]); } -void Ifc2x3::IfcProjectionCurve::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcProjectionCurve Ifc2x3::IfcProjectionCurve::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcProjectionElement const ifcopenshell::entity& Ifc2x3::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[610]); } -void Ifc2x3::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcProjectionElement Ifc2x3::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcProperty std::string Ifc2x3::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9411,7 +9411,7 @@ std::vector<::Ifc2x3::IfcPropertyDependencyRelationship> Ifc2x3::IfcProperty::Pr std::vector<::Ifc2x3::IfcComplexProperty> Ifc2x3::IfcProperty::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[131], 3)); } const ifcopenshell::entity& Ifc2x3::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC2X3_types[615]); } -void Ifc2x3::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc2x3::IfcProperty Ifc2x3::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc2x3::IfcValue Ifc2x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcValue>(); } @@ -9423,7 +9423,7 @@ void Ifc2x3::IfcPropertyBoundedValue::setUnit(const ::Ifc2x3::IfcUnit& v) { set_ const ifcopenshell::entity& Ifc2x3::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[616]); } -void Ifc2x3::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_UpperBoundValue, ::Ifc2x3::IfcValue v4_LowerBoundValue, ::Ifc2x3::IfcUnit v5_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit)); } +Ifc2x3::IfcPropertyBoundedValue Ifc2x3::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_UpperBoundValue, ::Ifc2x3::IfcValue v4_LowerBoundValue, ::Ifc2x3::IfcUnit v5_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));; return *this; } // Function implementations for IfcPropertyConstraintRelationship ::Ifc2x3::IfcConstraint Ifc2x3::IfcPropertyConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcConstraint>(); } @@ -9437,14 +9437,14 @@ void Ifc2x3::IfcPropertyConstraintRelationship::setDescription(const std::option const ifcopenshell::entity& Ifc2x3::IfcPropertyConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[617]); } -void Ifc2x3::IfcPropertyConstraintRelationship::initialize(::Ifc2x3::IfcConstraint v1_RelatingConstraint, std::vector< ::Ifc2x3::IfcProperty > v2_RelatedProperties, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_RelatingConstraint));set_attribute_value(1, cast_vector(v2_RelatedProperties)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcPropertyConstraintRelationship Ifc2x3::IfcPropertyConstraintRelationship::initialize(::Ifc2x3::IfcConstraint v1_RelatingConstraint, std::vector< ::Ifc2x3::IfcProperty > v2_RelatedProperties, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_RelatingConstraint));set_attribute_value(1, cast_vector(v2_RelatedProperties)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDefinition std::vector<::Ifc2x3::IfcRelAssociates> Ifc2x3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[677], 4)); } const ifcopenshell::entity& Ifc2x3::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[618]); } -void Ifc2x3::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcPropertyDefinition Ifc2x3::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc2x3::IfcProperty Ifc2x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcProperty>(); } @@ -9460,7 +9460,7 @@ void Ifc2x3::IfcPropertyDependencyRelationship::setExpression(const std::optiona const ifcopenshell::entity& Ifc2x3::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[619]); } -void Ifc2x3::IfcPropertyDependencyRelationship::initialize(::Ifc2x3::IfcProperty v1_DependingProperty, ::Ifc2x3::IfcProperty v2_DependantProperty, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Expression) { set_attribute_value(0, (v1_DependingProperty));set_attribute_value(1, (v2_DependantProperty)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc2x3::IfcPropertyDependencyRelationship Ifc2x3::IfcPropertyDependencyRelationship::initialize(::Ifc2x3::IfcProperty v1_DependingProperty, ::Ifc2x3::IfcProperty v2_DependantProperty, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Expression) { set_attribute_value(0, (v1_DependingProperty));set_attribute_value(1, (v2_DependantProperty)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcValue>(es); } @@ -9470,7 +9470,7 @@ void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc2x3: const ifcopenshell::entity& Ifc2x3::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[620]); } -void Ifc2x3::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_EnumerationValues));set_attribute_value(3, (v4_EnumerationReference)); } +Ifc2x3::IfcPropertyEnumeratedValue Ifc2x3::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_EnumerationValues));set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc2x3::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9482,7 +9482,7 @@ void Ifc2x3::IfcPropertyEnumeration::setUnit(const ::Ifc2x3::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc2x3::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC2X3_types[621]); } -void Ifc2x3::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcValue > v2_EnumerationValues, ::Ifc2x3::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc2x3::IfcPropertyEnumeration Ifc2x3::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcValue > v2_EnumerationValues, ::Ifc2x3::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyListValue::ListValues() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcValue>(es); } @@ -9492,7 +9492,7 @@ void Ifc2x3::IfcPropertyListValue::setUnit(const ::Ifc2x3::IfcUnit& v) { set_att const ifcopenshell::entity& Ifc2x3::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[622]); } -void Ifc2x3::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_ListValues, ::Ifc2x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_ListValues));set_attribute_value(3, (v4_Unit)); } +Ifc2x3::IfcPropertyListValue Ifc2x3::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_ListValues, ::Ifc2x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_ListValues));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -9502,7 +9502,7 @@ void Ifc2x3::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[623]); } -void Ifc2x3::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc2x3::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc2x3::IfcPropertyReferenceValue Ifc2x3::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc2x3::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcProperty>(es); } @@ -9510,7 +9510,7 @@ void Ifc2x3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc2x3::IfcPr const ifcopenshell::entity& Ifc2x3::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC2X3_types[624]); } -void Ifc2x3::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc2x3::IfcPropertySet Ifc2x3::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -9518,7 +9518,7 @@ std::vector<::Ifc2x3::IfcRelDefinesByProperties> Ifc2x3::IfcPropertySetDefinitio std::vector<::Ifc2x3::IfcTypeObject> Ifc2x3::IfcPropertySetDefinition::DefinesType() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[932], 5)); } const ifcopenshell::entity& Ifc2x3::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[625]); } -void Ifc2x3::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcPropertySetDefinition Ifc2x3::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc2x3::IfcValue Ifc2x3::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc2x3::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcValue>(); } @@ -9528,7 +9528,7 @@ void Ifc2x3::IfcPropertySingleValue::setUnit(const ::Ifc2x3::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc2x3::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[626]); } -void Ifc2x3::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_NominalValue, ::Ifc2x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc2x3::IfcPropertySingleValue Ifc2x3::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_NominalValue, ::Ifc2x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcPropertyTableValue::DefiningValues() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc2x3::IfcValue>(es); } @@ -9544,7 +9544,7 @@ void Ifc2x3::IfcPropertyTableValue::setDefinedUnit(const ::Ifc2x3::IfcUnit& v) { const ifcopenshell::entity& Ifc2x3::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[628]); } -void Ifc2x3::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_DefiningValues, std::vector< ::Ifc2x3::IfcValue > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit v6_DefiningUnit, ::Ifc2x3::IfcUnit v7_DefinedUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_DefiningValues));set_attribute_value(3, cast_vector(v4_DefinedValues)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); } +Ifc2x3::IfcPropertyTableValue Ifc2x3::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_DefiningValues, std::vector< ::Ifc2x3::IfcValue > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit v6_DefiningUnit, ::Ifc2x3::IfcUnit v7_DefinedUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_DefiningValues));set_attribute_value(3, cast_vector(v4_DefinedValues)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -9552,7 +9552,7 @@ void Ifc2x3::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc2x3::IfcProte const ifcopenshell::entity& Ifc2x3::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[629]); } -void Ifc2x3::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcProtectiveDeviceType Ifc2x3::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc2x3::IfcObjectTypeEnum::Value Ifc2x3::IfcProxy::ProxyType() const { return ::Ifc2x3::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -9562,7 +9562,7 @@ void Ifc2x3::IfcProxy::setTag(const std::optional< std::string >& v) { if (v) {s const ifcopenshell::entity& Ifc2x3::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC2X3_types[631]); } -void Ifc2x3::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc2x3::IfcProxy Ifc2x3::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPumpType ::Ifc2x3::IfcPumpTypeEnum::Value Ifc2x3::IfcPumpType::PredefinedType() const { return ::Ifc2x3::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -9570,7 +9570,7 @@ void Ifc2x3::IfcPumpType::setPredefinedType(const ::Ifc2x3::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[632]); } -void Ifc2x3::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcPumpType Ifc2x3::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc2x3::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -9578,7 +9578,7 @@ void Ifc2x3::IfcQuantityArea::setAreaValue(const double& v) { set_attribute_valu const ifcopenshell::entity& Ifc2x3::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC2X3_types[634]); } -void Ifc2x3::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_AreaValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); } +Ifc2x3::IfcQuantityArea Ifc2x3::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_AreaValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue));; return *this; } // Function implementations for IfcQuantityCount double Ifc2x3::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -9586,7 +9586,7 @@ void Ifc2x3::IfcQuantityCount::setCountValue(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc2x3::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC2X3_types[635]); } -void Ifc2x3::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_CountValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); } +Ifc2x3::IfcQuantityCount Ifc2x3::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_CountValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue));; return *this; } // Function implementations for IfcQuantityLength double Ifc2x3::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -9594,7 +9594,7 @@ void Ifc2x3::IfcQuantityLength::setLengthValue(const double& v) { set_attribute_ const ifcopenshell::entity& Ifc2x3::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC2X3_types[636]); } -void Ifc2x3::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_LengthValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); } +Ifc2x3::IfcQuantityLength Ifc2x3::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_LengthValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue));; return *this; } // Function implementations for IfcQuantityTime double Ifc2x3::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -9602,7 +9602,7 @@ void Ifc2x3::IfcQuantityTime::setTimeValue(const double& v) { set_attribute_valu const ifcopenshell::entity& Ifc2x3::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC2X3_types[637]); } -void Ifc2x3::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_TimeValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); } +Ifc2x3::IfcQuantityTime Ifc2x3::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_TimeValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue));; return *this; } // Function implementations for IfcQuantityVolume double Ifc2x3::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -9610,7 +9610,7 @@ void Ifc2x3::IfcQuantityVolume::setVolumeValue(const double& v) { set_attribute_ const ifcopenshell::entity& Ifc2x3::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC2X3_types[638]); } -void Ifc2x3::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_VolumeValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); } +Ifc2x3::IfcQuantityVolume Ifc2x3::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_VolumeValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue));; return *this; } // Function implementations for IfcQuantityWeight double Ifc2x3::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -9618,13 +9618,13 @@ void Ifc2x3::IfcQuantityWeight::setWeightValue(const double& v) { set_attribute_ const ifcopenshell::entity& Ifc2x3::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC2X3_types[639]); } -void Ifc2x3::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_WeightValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); } +Ifc2x3::IfcQuantityWeight Ifc2x3::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_WeightValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue));; return *this; } // Function implementations for IfcRadiusDimension const ifcopenshell::entity& Ifc2x3::IfcRadiusDimension::Class() { return *((ifcopenshell::entity*)IFC2X3_types[641]); } -void Ifc2x3::IfcRadiusDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcRadiusDimension Ifc2x3::IfcRadiusDimension::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > Ifc2x3::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -9632,7 +9632,7 @@ void Ifc2x3::IfcRailing::setPredefinedType(const std::optional< ::Ifc2x3::IfcRai const ifcopenshell::entity& Ifc2x3::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC2X3_types[642]); } -void Ifc2x3::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc2x3::IfcRailing Ifc2x3::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc2x3::IfcRailingTypeEnum::Value Ifc2x3::IfcRailingType::PredefinedType() const { return ::Ifc2x3::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -9640,7 +9640,7 @@ void Ifc2x3::IfcRailingType::setPredefinedType(const ::Ifc2x3::IfcRailingTypeEnu const ifcopenshell::entity& Ifc2x3::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[643]); } -void Ifc2x3::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcRailingType Ifc2x3::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRamp ::Ifc2x3::IfcRampTypeEnum::Value Ifc2x3::IfcRamp::ShapeType() const { return ::Ifc2x3::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -9648,13 +9648,13 @@ void Ifc2x3::IfcRamp::setShapeType(const ::Ifc2x3::IfcRampTypeEnum::Value& v) { const ifcopenshell::entity& Ifc2x3::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC2X3_types[645]); } -void Ifc2x3::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRampTypeEnum::Value v9_ShapeType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcRampTypeEnum::Class(),(size_t)v9_ShapeType))); } +Ifc2x3::IfcRamp Ifc2x3::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRampTypeEnum::Value v9_ShapeType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcRampTypeEnum::Class(),(size_t)v9_ShapeType)));; return *this; } // Function implementations for IfcRampFlight const ifcopenshell::entity& Ifc2x3::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC2X3_types[646]); } -void Ifc2x3::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcRampFlight Ifc2x3::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc2x3::IfcRampFlightTypeEnum::Value Ifc2x3::IfcRampFlightType::PredefinedType() const { return ::Ifc2x3::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -9662,7 +9662,7 @@ void Ifc2x3::IfcRampFlightType::setPredefinedType(const ::Ifc2x3::IfcRampFlightT const ifcopenshell::entity& Ifc2x3::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[647]); } -void Ifc2x3::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcRampFlightType Ifc2x3::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBezierCurve std::vector< double > /*[2:?]*/ Ifc2x3::IfcRationalBezierCurve::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -9670,7 +9670,7 @@ void Ifc2x3::IfcRationalBezierCurve::setWeightsData(const std::vector< double > const ifcopenshell::entity& Ifc2x3::IfcRationalBezierCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[651]); } -void Ifc2x3::IfcRationalBezierCurve::initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_WeightsData)); } +Ifc2x3::IfcRationalBezierCurve Ifc2x3::IfcRationalBezierCurve::initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc2x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -9682,7 +9682,7 @@ void Ifc2x3::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::optio const ifcopenshell::entity& Ifc2x3::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[653]); } -void Ifc2x3::IfcRectangleHollowProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc2x3::IfcRectangleHollowProfileDef Ifc2x3::IfcRectangleHollowProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc2x3::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -9692,7 +9692,7 @@ void Ifc2x3::IfcRectangleProfileDef::setYDim(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc2x3::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[654]); } -void Ifc2x3::IfcRectangleProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc2x3::IfcRectangleProfileDef Ifc2x3::IfcRectangleProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc2x3::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -9704,7 +9704,7 @@ void Ifc2x3::IfcRectangularPyramid::setHeight(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc2x3::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[655]); } -void Ifc2x3::IfcRectangularPyramid::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc2x3::IfcRectangularPyramid Ifc2x3::IfcRectangularPyramid::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc2x3::IfcSurface Ifc2x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcSurface>(); } @@ -9724,7 +9724,7 @@ void Ifc2x3::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[656]); } -void Ifc2x3::IfcRectangularTrimmedSurface::initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc2x3::IfcRectangularTrimmedSurface Ifc2x3::IfcRectangularTrimmedSurface::initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcReferencesValueDocument ::Ifc2x3::IfcDocumentSelect Ifc2x3::IfcReferencesValueDocument::ReferencedDocument() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDocumentSelect>(); } @@ -9738,7 +9738,7 @@ void Ifc2x3::IfcReferencesValueDocument::setDescription(const std::optional< std const ifcopenshell::entity& Ifc2x3::IfcReferencesValueDocument::Class() { return *((ifcopenshell::entity*)IFC2X3_types[657]); } -void Ifc2x3::IfcReferencesValueDocument::initialize(::Ifc2x3::IfcDocumentSelect v1_ReferencedDocument, std::vector< ::Ifc2x3::IfcAppliedValue > v2_ReferencingValues, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_ReferencedDocument));set_attribute_value(1, cast_vector(v2_ReferencingValues)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcReferencesValueDocument Ifc2x3::IfcReferencesValueDocument::initialize(::Ifc2x3::IfcDocumentSelect v1_ReferencedDocument, std::vector< ::Ifc2x3::IfcAppliedValue > v2_ReferencingValues, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_ReferencedDocument));set_attribute_value(1, cast_vector(v2_ReferencingValues)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc2x3::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -9748,7 +9748,7 @@ void Ifc2x3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc2x3::IfcTim const ifcopenshell::entity& Ifc2x3::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC2X3_types[659]); } -void Ifc2x3::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc2x3::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc2x3::IfcRegularTimeSeries Ifc2x3::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc2x3::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc2x3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -9766,7 +9766,7 @@ void Ifc2x3::IfcReinforcementBarProperties::setBarCount(const std::optional< dou const ifcopenshell::entity& Ifc2x3::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[660]); } -void Ifc2x3::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc2x3::IfcReinforcementBarProperties Ifc2x3::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc2x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9776,7 +9776,7 @@ void Ifc2x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefini const ifcopenshell::entity& Ifc2x3::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[661]); } -void Ifc2x3::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc2x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc2x3::IfcReinforcementDefinitionProperties Ifc2x3::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc2x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar double Ifc2x3::IfcReinforcingBar::NominalDiameter() const { double v = get_attribute_value(9); return v; } @@ -9792,7 +9792,7 @@ void Ifc2x3::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC2X3_types[662]); } -void Ifc2x3::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, std::optional< double > v12_BarLength, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v13_BarRole, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (v10_NominalDiameter));set_attribute_value(10, (v11_CrossSectionArea)); if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); }set_attribute_value(12, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v13_BarRole))); if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc2x3::IfcReinforcingBar Ifc2x3::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, std::optional< double > v12_BarLength, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v13_BarRole, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (v10_NominalDiameter));set_attribute_value(10, (v11_CrossSectionArea)); if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); }set_attribute_value(12, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v13_BarRole))); if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc2x3::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -9800,7 +9800,7 @@ void Ifc2x3::IfcReinforcingElement::setSteelGrade(const std::optional< std::stri const ifcopenshell::entity& Ifc2x3::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[665]); } -void Ifc2x3::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc2x3::IfcReinforcingElement Ifc2x3::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc2x3::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -9822,13 +9822,13 @@ void Ifc2x3::IfcReinforcingMesh::setTransverseBarSpacing(const double& v) { set_ const ifcopenshell::entity& Ifc2x3::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC2X3_types[666]); } -void Ifc2x3::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); }set_attribute_value(11, (v12_LongitudinalBarNominalDiameter));set_attribute_value(12, (v13_TransverseBarNominalDiameter));set_attribute_value(13, (v14_LongitudinalBarCrossSectionArea));set_attribute_value(14, (v15_TransverseBarCrossSectionArea));set_attribute_value(15, (v16_LongitudinalBarSpacing));set_attribute_value(16, (v17_TransverseBarSpacing)); } +Ifc2x3::IfcReinforcingMesh Ifc2x3::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); }set_attribute_value(11, (v12_LongitudinalBarNominalDiameter));set_attribute_value(12, (v13_TransverseBarNominalDiameter));set_attribute_value(13, (v14_LongitudinalBarCrossSectionArea));set_attribute_value(14, (v15_TransverseBarCrossSectionArea));set_attribute_value(15, (v16_LongitudinalBarSpacing));set_attribute_value(16, (v17_TransverseBarSpacing));; return *this; } // Function implementations for IfcRelAggregates const ifcopenshell::entity& Ifc2x3::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC2X3_types[667]); } -void Ifc2x3::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc2x3::IfcRelAggregates Ifc2x3::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc2x3::IfcObjectDefinition > Ifc2x3::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcObjectDefinition>(es); } @@ -9838,7 +9838,7 @@ void Ifc2x3::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc2x3: const ifcopenshell::entity& Ifc2x3::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC2X3_types[668]); } -void Ifc2x3::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc2x3::IfcRelAssigns Ifc2x3::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsTasks ::Ifc2x3::IfcScheduleTimeControl Ifc2x3::IfcRelAssignsTasks::TimeForTask() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcScheduleTimeControl{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcScheduleTimeControl>(); } @@ -9846,7 +9846,7 @@ void Ifc2x3::IfcRelAssignsTasks::setTimeForTask(const ::Ifc2x3::IfcScheduleTimeC const ifcopenshell::entity& Ifc2x3::IfcRelAssignsTasks::Class() { return *((ifcopenshell::entity*)IFC2X3_types[669]); } -void Ifc2x3::IfcRelAssignsTasks::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl v8_TimeForTask) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));set_attribute_value(7, (v8_TimeForTask)); } +Ifc2x3::IfcRelAssignsTasks Ifc2x3::IfcRelAssignsTasks::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl v8_TimeForTask) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));set_attribute_value(7, (v8_TimeForTask));; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc2x3::IfcActor Ifc2x3::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcActor>(); } @@ -9856,7 +9856,7 @@ void Ifc2x3::IfcRelAssignsToActor::setActingRole(const ::Ifc2x3::IfcActorRole& v const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[670]); } -void Ifc2x3::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc2x3::IfcRelAssignsToActor Ifc2x3::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc2x3::IfcControl Ifc2x3::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcControl>(); } @@ -9864,7 +9864,7 @@ void Ifc2x3::IfcRelAssignsToControl::setRelatingControl(const ::Ifc2x3::IfcContr const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC2X3_types[671]); } -void Ifc2x3::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc2x3::IfcRelAssignsToControl Ifc2x3::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc2x3::IfcGroup Ifc2x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcGroup>(); } @@ -9872,7 +9872,7 @@ void Ifc2x3::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc2x3::IfcGroup& v) const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC2X3_types[672]); } -void Ifc2x3::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc2x3::IfcRelAssignsToGroup Ifc2x3::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc2x3::IfcProcess Ifc2x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcProcess>(); } @@ -9882,7 +9882,7 @@ void Ifc2x3::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc2x3::IfcMea const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC2X3_types[673]); } -void Ifc2x3::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc2x3::IfcRelAssignsToProcess Ifc2x3::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc2x3::IfcProduct Ifc2x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcProduct>(); } @@ -9890,13 +9890,13 @@ void Ifc2x3::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc2x3::IfcProdu const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC2X3_types[674]); } -void Ifc2x3::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProduct v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc2x3::IfcRelAssignsToProduct Ifc2x3::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProduct v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToProjectOrder const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToProjectOrder::Class() { return *((ifcopenshell::entity*)IFC2X3_types[675]); } -void Ifc2x3::IfcRelAssignsToProjectOrder::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc2x3::IfcRelAssignsToProjectOrder Ifc2x3::IfcRelAssignsToProjectOrder::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc2x3::IfcResource Ifc2x3::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc2x3::IfcResource>(); } @@ -9904,7 +9904,7 @@ void Ifc2x3::IfcRelAssignsToResource::setRelatingResource(const ::Ifc2x3::IfcRes const ifcopenshell::entity& Ifc2x3::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[676]); } -void Ifc2x3::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcResource v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc2x3::IfcRelAssignsToResource Ifc2x3::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcResource v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc2x3::IfcRoot > Ifc2x3::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcRoot>(es); } @@ -9912,7 +9912,7 @@ void Ifc2x3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc2x3::If const ifcopenshell::entity& Ifc2x3::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC2X3_types[677]); } -void Ifc2x3::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc2x3::IfcRelAssociates Ifc2x3::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesAppliedValue ::Ifc2x3::IfcAppliedValue Ifc2x3::IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcAppliedValue>(); } @@ -9920,7 +9920,7 @@ void Ifc2x3::IfcRelAssociatesAppliedValue::setRelatingAppliedValue(const ::Ifc2x const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesAppliedValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[678]); } -void Ifc2x3::IfcRelAssociatesAppliedValue::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue v6_RelatingAppliedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingAppliedValue)); } +Ifc2x3::IfcRelAssociatesAppliedValue Ifc2x3::IfcRelAssociatesAppliedValue::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue v6_RelatingAppliedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingAppliedValue));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc2x3::IfcApproval Ifc2x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcApproval>(); } @@ -9928,7 +9928,7 @@ void Ifc2x3::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc2x3::IfcAp const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC2X3_types[679]); } -void Ifc2x3::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc2x3::IfcRelAssociatesApproval Ifc2x3::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc2x3::IfcClassificationNotationSelect Ifc2x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcClassificationNotationSelect>(); } @@ -9936,7 +9936,7 @@ void Ifc2x3::IfcRelAssociatesClassification::setRelatingClassification(const ::I const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC2X3_types[680]); } -void Ifc2x3::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcClassificationNotationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc2x3::IfcRelAssociatesClassification Ifc2x3::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcClassificationNotationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::string Ifc2x3::IfcRelAssociatesConstraint::Intent() const { std::string v = get_attribute_value(5); return v; } @@ -9946,7 +9946,7 @@ void Ifc2x3::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc2x3::I const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[681]); } -void Ifc2x3::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_Intent));set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc2x3::IfcRelAssociatesConstraint Ifc2x3::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_Intent));set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc2x3::IfcDocumentSelect Ifc2x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcDocumentSelect>(); } @@ -9954,7 +9954,7 @@ void Ifc2x3::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc2x3::IfcDo const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC2X3_types[682]); } -void Ifc2x3::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc2x3::IfcRelAssociatesDocument Ifc2x3::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc2x3::IfcLibrarySelect Ifc2x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcLibrarySelect>(); } @@ -9962,7 +9962,7 @@ void Ifc2x3::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc2x3::IfcLibr const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC2X3_types[683]); } -void Ifc2x3::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc2x3::IfcRelAssociatesLibrary Ifc2x3::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc2x3::IfcMaterialSelect Ifc2x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcMaterialSelect>(); } @@ -9970,7 +9970,7 @@ void Ifc2x3::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc2x3::IfcMa const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC2X3_types[684]); } -void Ifc2x3::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc2x3::IfcRelAssociatesMaterial Ifc2x3::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileProperties ::Ifc2x3::IfcProfileProperties Ifc2x3::IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcProfileProperties>(); } @@ -9982,13 +9982,13 @@ void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileOrientation(const ::If const ifcopenshell::entity& Ifc2x3::IfcRelAssociatesProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[685]); } -void Ifc2x3::IfcRelAssociatesProfileProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcProfileProperties v6_RelatingProfileProperties, ::Ifc2x3::IfcShapeAspect v7_ProfileSectionLocation, ::Ifc2x3::IfcOrientationSelect v8_ProfileOrientation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileProperties));set_attribute_value(6, (v7_ProfileSectionLocation));set_attribute_value(7, (v8_ProfileOrientation)); } +Ifc2x3::IfcRelAssociatesProfileProperties Ifc2x3::IfcRelAssociatesProfileProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcProfileProperties v6_RelatingProfileProperties, ::Ifc2x3::IfcShapeAspect v7_ProfileSectionLocation, ::Ifc2x3::IfcOrientationSelect v8_ProfileOrientation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileProperties));set_attribute_value(6, (v7_ProfileSectionLocation));set_attribute_value(7, (v8_ProfileOrientation));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc2x3::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC2X3_types[688]); } -void Ifc2x3::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcRelConnects Ifc2x3::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc2x3::IfcConnectionGeometry Ifc2x3::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcConnectionGeometry>(); } @@ -10000,7 +10000,7 @@ void Ifc2x3::IfcRelConnectsElements::setRelatedElement(const ::Ifc2x3::IfcElemen const ifcopenshell::entity& Ifc2x3::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[689]); } -void Ifc2x3::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc2x3::IfcRelConnectsElements Ifc2x3::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc2x3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -10014,7 +10014,7 @@ void Ifc2x3::IfcRelConnectsPathElements::setRelatingConnectionType(const ::Ifc2x const ifcopenshell::entity& Ifc2x3::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[690]); } -void Ifc2x3::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc2x3::IfcRelConnectsPathElements Ifc2x3::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc2x3::IfcPort Ifc2x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcPort>(); } @@ -10024,7 +10024,7 @@ void Ifc2x3::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc2x3::IfcE const ifcopenshell::entity& Ifc2x3::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[692]); } -void Ifc2x3::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc2x3::IfcRelConnectsPortToElement Ifc2x3::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc2x3::IfcPort Ifc2x3::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcPort>(); } @@ -10036,7 +10036,7 @@ void Ifc2x3::IfcRelConnectsPorts::setRealizingElement(const ::Ifc2x3::IfcElement const ifcopenshell::entity& Ifc2x3::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC2X3_types[691]); } -void Ifc2x3::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcPort v6_RelatedPort, ::Ifc2x3::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc2x3::IfcRelConnectsPorts Ifc2x3::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcPort v6_RelatedPort, ::Ifc2x3::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc2x3::IfcStructuralActivityAssignmentSelect Ifc2x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcStructuralActivityAssignmentSelect>(); } @@ -10046,7 +10046,7 @@ void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(cons const ifcopenshell::entity& Ifc2x3::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[693]); } -void Ifc2x3::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc2x3::IfcRelConnectsStructuralActivity Ifc2x3::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralElement ::Ifc2x3::IfcElement Ifc2x3::IfcRelConnectsStructuralElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } @@ -10056,7 +10056,7 @@ void Ifc2x3::IfcRelConnectsStructuralElement::setRelatedStructuralMember(const : const ifcopenshell::entity& Ifc2x3::IfcRelConnectsStructuralElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[694]); } -void Ifc2x3::IfcRelConnectsStructuralElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcStructuralMember v6_RelatedStructuralMember) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralMember)); } +Ifc2x3::IfcRelConnectsStructuralElement Ifc2x3::IfcRelConnectsStructuralElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcStructuralMember v6_RelatedStructuralMember) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralMember));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc2x3::IfcStructuralMember Ifc2x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcStructuralMember>(); } @@ -10074,7 +10074,7 @@ void Ifc2x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const const ifcopenshell::entity& Ifc2x3::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC2X3_types[695]); } -void Ifc2x3::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc2x3::IfcRelConnectsStructuralMember Ifc2x3::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc2x3::IfcConnectionGeometry Ifc2x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc2x3::IfcConnectionGeometry>(); } @@ -10082,7 +10082,7 @@ void Ifc2x3::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc const ifcopenshell::entity& Ifc2x3::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[696]); } -void Ifc2x3::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc2x3::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc2x3::IfcRelConnectsWithEccentricity Ifc2x3::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc2x3::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc2x3::IfcElement > Ifc2x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc2x3::IfcElement>(es); } @@ -10092,7 +10092,7 @@ void Ifc2x3::IfcRelConnectsWithRealizingElements::setConnectionType(const std::o const ifcopenshell::entity& Ifc2x3::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[697]); } -void Ifc2x3::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< ::Ifc2x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc2x3::IfcRelConnectsWithRealizingElements Ifc2x3::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< ::Ifc2x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc2x3::IfcProduct > Ifc2x3::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcProduct>(es); } @@ -10102,7 +10102,7 @@ void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc const ifcopenshell::entity& Ifc2x3::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC2X3_types[698]); } -void Ifc2x3::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc2x3::IfcRelContainedInSpatialStructure Ifc2x3::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc2x3::IfcElement Ifc2x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } @@ -10112,7 +10112,7 @@ void Ifc2x3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< :: const ifcopenshell::entity& Ifc2x3::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[699]); } -void Ifc2x3::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc2x3::IfcRelCoversBldgElements Ifc2x3::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc2x3::IfcSpace Ifc2x3::IfcRelCoversSpaces::RelatedSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcSpace>(); } @@ -10122,7 +10122,7 @@ void Ifc2x3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc2x3 const ifcopenshell::entity& Ifc2x3::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC2X3_types[700]); } -void Ifc2x3::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatedSpace, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc2x3::IfcRelCoversSpaces Ifc2x3::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatedSpace, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDecomposes ::Ifc2x3::IfcObjectDefinition Ifc2x3::IfcRelDecomposes::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcObjectDefinition>(); } @@ -10132,7 +10132,7 @@ void Ifc2x3::IfcRelDecomposes::setRelatedObjects(const std::vector< ::Ifc2x3::If const ifcopenshell::entity& Ifc2x3::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC2X3_types[701]); } -void Ifc2x3::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc2x3::IfcRelDecomposes Ifc2x3::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelDefines std::vector< ::Ifc2x3::IfcObject > Ifc2x3::IfcRelDefines::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcObject>(es); } @@ -10140,7 +10140,7 @@ void Ifc2x3::IfcRelDefines::setRelatedObjects(const std::vector< ::Ifc2x3::IfcOb const ifcopenshell::entity& Ifc2x3::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC2X3_types[702]); } -void Ifc2x3::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc2x3::IfcRelDefines Ifc2x3::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelDefinesByProperties ::Ifc2x3::IfcPropertySetDefinition Ifc2x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcPropertySetDefinition>(); } @@ -10148,7 +10148,7 @@ void Ifc2x3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::If const ifcopenshell::entity& Ifc2x3::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[703]); } -void Ifc2x3::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc2x3::IfcRelDefinesByProperties Ifc2x3::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByType ::Ifc2x3::IfcTypeObject Ifc2x3::IfcRelDefinesByType::RelatingType() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcTypeObject>(); } @@ -10156,7 +10156,7 @@ void Ifc2x3::IfcRelDefinesByType::setRelatingType(const ::Ifc2x3::IfcTypeObject& const ifcopenshell::entity& Ifc2x3::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[704]); } -void Ifc2x3::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc2x3::IfcRelDefinesByType Ifc2x3::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc2x3::IfcOpeningElement Ifc2x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcOpeningElement>(); } @@ -10166,7 +10166,7 @@ void Ifc2x3::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc2x3::IfcEl const ifcopenshell::entity& Ifc2x3::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[705]); } -void Ifc2x3::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc2x3::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc2x3::IfcRelFillsElement Ifc2x3::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc2x3::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc2x3::IfcDistributionControlElement > Ifc2x3::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcDistributionControlElement>(es); } @@ -10176,7 +10176,7 @@ void Ifc2x3::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc2x3::I const ifcopenshell::entity& Ifc2x3::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[706]); } -void Ifc2x3::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc2x3::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc2x3::IfcRelFlowControlElements Ifc2x3::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc2x3::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInteractionRequirements std::optional< double > Ifc2x3::IfcRelInteractionRequirements::DailyInteraction() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10192,19 +10192,19 @@ void Ifc2x3::IfcRelInteractionRequirements::setRelatingSpaceProgram(const ::Ifc2 const ifcopenshell::entity& Ifc2x3::IfcRelInteractionRequirements::Class() { return *((ifcopenshell::entity*)IFC2X3_types[707]); } -void Ifc2x3::IfcRelInteractionRequirements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_DailyInteraction, std::optional< double > v6_ImportanceRating, ::Ifc2x3::IfcSpatialStructureElement v7_LocationOfInteraction, ::Ifc2x3::IfcSpaceProgram v8_RelatedSpaceProgram, ::Ifc2x3::IfcSpaceProgram v9_RelatingSpaceProgram) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DailyInteraction) {set_attribute_value(4, (*v5_DailyInteraction)); } if (v6_ImportanceRating) {set_attribute_value(5, (*v6_ImportanceRating)); }set_attribute_value(6, (v7_LocationOfInteraction));set_attribute_value(7, (v8_RelatedSpaceProgram));set_attribute_value(8, (v9_RelatingSpaceProgram)); } +Ifc2x3::IfcRelInteractionRequirements Ifc2x3::IfcRelInteractionRequirements::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_DailyInteraction, std::optional< double > v6_ImportanceRating, ::Ifc2x3::IfcSpatialStructureElement v7_LocationOfInteraction, ::Ifc2x3::IfcSpaceProgram v8_RelatedSpaceProgram, ::Ifc2x3::IfcSpaceProgram v9_RelatingSpaceProgram) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DailyInteraction) {set_attribute_value(4, (*v5_DailyInteraction)); } if (v6_ImportanceRating) {set_attribute_value(5, (*v6_ImportanceRating)); }set_attribute_value(6, (v7_LocationOfInteraction));set_attribute_value(7, (v8_RelatedSpaceProgram));set_attribute_value(8, (v9_RelatingSpaceProgram));; return *this; } // Function implementations for IfcRelNests const ifcopenshell::entity& Ifc2x3::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC2X3_types[708]); } -void Ifc2x3::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc2x3::IfcRelNests Ifc2x3::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelOccupiesSpaces const ifcopenshell::entity& Ifc2x3::IfcRelOccupiesSpaces::Class() { return *((ifcopenshell::entity*)IFC2X3_types[709]); } -void Ifc2x3::IfcRelOccupiesSpaces::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc2x3::IfcRelOccupiesSpaces Ifc2x3::IfcRelOccupiesSpaces::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelOverridesProperties std::vector< ::Ifc2x3::IfcProperty > Ifc2x3::IfcRelOverridesProperties::OverridingProperties() const { std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcProperty>(es); } @@ -10212,7 +10212,7 @@ void Ifc2x3::IfcRelOverridesProperties::setOverridingProperties(const std::vecto const ifcopenshell::entity& Ifc2x3::IfcRelOverridesProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[710]); } -void Ifc2x3::IfcRelOverridesProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition, std::vector< ::Ifc2x3::IfcProperty > v7_OverridingProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));set_attribute_value(6, cast_vector(v7_OverridingProperties)); } +Ifc2x3::IfcRelOverridesProperties Ifc2x3::IfcRelOverridesProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition, std::vector< ::Ifc2x3::IfcProperty > v7_OverridingProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));set_attribute_value(6, cast_vector(v7_OverridingProperties));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc2x3::IfcElement Ifc2x3::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } @@ -10222,7 +10222,7 @@ void Ifc2x3::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[711]); } -void Ifc2x3::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc2x3::IfcRelProjectsElement Ifc2x3::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc2x3::IfcProduct > Ifc2x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc2x3::IfcProduct>(es); } @@ -10232,13 +10232,13 @@ void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::If const ifcopenshell::entity& Ifc2x3::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC2X3_types[712]); } -void Ifc2x3::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc2x3::IfcRelReferencedInSpatialStructure Ifc2x3::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSchedulesCostItems const ifcopenshell::entity& Ifc2x3::IfcRelSchedulesCostItems::Class() { return *((ifcopenshell::entity*)IFC2X3_types[713]); } -void Ifc2x3::IfcRelSchedulesCostItems::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc2x3::IfcRelSchedulesCostItems Ifc2x3::IfcRelSchedulesCostItems::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelSequence ::Ifc2x3::IfcProcess Ifc2x3::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcProcess>(); } @@ -10252,7 +10252,7 @@ void Ifc2x3::IfcRelSequence::setSequenceType(const ::Ifc2x3::IfcSequenceEnum::Va const ifcopenshell::entity& Ifc2x3::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC2X3_types[714]); } -void Ifc2x3::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess v5_RelatingProcess, ::Ifc2x3::IfcProcess v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcSequenceEnum::Class(),(size_t)v8_SequenceType))); } +Ifc2x3::IfcRelSequence Ifc2x3::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess v5_RelatingProcess, ::Ifc2x3::IfcProcess v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcSequenceEnum::Class(),(size_t)v8_SequenceType)));; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc2x3::IfcSystem Ifc2x3::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcSystem>(); } @@ -10262,7 +10262,7 @@ void Ifc2x3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::I const ifcopenshell::entity& Ifc2x3::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC2X3_types[715]); } -void Ifc2x3::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc2x3::IfcSpatialStructureElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc2x3::IfcRelServicesBuildings Ifc2x3::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc2x3::IfcSpatialStructureElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc2x3::IfcSpace Ifc2x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcSpace>(); } @@ -10278,7 +10278,7 @@ void Ifc2x3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc2x3:: const ifcopenshell::entity& Ifc2x3::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC2X3_types[716]); } -void Ifc2x3::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatingSpace, ::Ifc2x3::IfcElement v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc2x3::IfcRelSpaceBoundary Ifc2x3::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatingSpace, ::Ifc2x3::IfcElement v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc2x3::IfcElement Ifc2x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcElement>(); } @@ -10288,13 +10288,13 @@ void Ifc2x3::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc2x3::IfcFea const ifcopenshell::entity& Ifc2x3::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[717]); } -void Ifc2x3::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, ::Ifc2x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc2x3::IfcRelVoidsElement Ifc2x3::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, ::Ifc2x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc2x3::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[686]); } -void Ifc2x3::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcRelationship Ifc2x3::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelaxation double Ifc2x3::IfcRelaxation::RelaxationValue() const { double v = get_attribute_value(0); return v; } @@ -10304,7 +10304,7 @@ void Ifc2x3::IfcRelaxation::setInitialStress(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc2x3::IfcRelaxation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[687]); } -void Ifc2x3::IfcRelaxation::initialize(double v1_RelaxationValue, double v2_InitialStress) { set_attribute_value(0, (v1_RelaxationValue));set_attribute_value(1, (v2_InitialStress)); } +Ifc2x3::IfcRelaxation Ifc2x3::IfcRelaxation::initialize(double v1_RelaxationValue, double v2_InitialStress) { set_attribute_value(0, (v1_RelaxationValue));set_attribute_value(1, (v2_InitialStress));; return *this; } // Function implementations for IfcRepresentation ::Ifc2x3::IfcRepresentationContext Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcRepresentationContext>(); } @@ -10321,7 +10321,7 @@ std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentation: std::vector<::Ifc2x3::IfcProductRepresentation> Ifc2x3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[602], 2)); } const ifcopenshell::entity& Ifc2x3::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[718]); } -void Ifc2x3::IfcRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc2x3::IfcRepresentation Ifc2x3::IfcRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10332,7 +10332,7 @@ void Ifc2x3::IfcRepresentationContext::setContextType(const std::optional< std:: std::vector<::Ifc2x3::IfcRepresentation> Ifc2x3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[718], 0)); } const ifcopenshell::entity& Ifc2x3::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC2X3_types[719]); } -void Ifc2x3::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc2x3::IfcRepresentationContext Ifc2x3::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -10340,7 +10340,7 @@ std::vector<::Ifc2x3::IfcPresentationLayerAssignment> Ifc2x3::IfcRepresentationI std::vector<::Ifc2x3::IfcStyledItem> Ifc2x3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[839], 0)); } const ifcopenshell::entity& Ifc2x3::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[720]); } -void Ifc2x3::IfcRepresentationItem::initialize() { } +Ifc2x3::IfcRepresentationItem Ifc2x3::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc2x3::IfcAxis2Placement Ifc2x3::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcAxis2Placement>(); } @@ -10351,14 +10351,14 @@ void Ifc2x3::IfcRepresentationMap::setMappedRepresentation(const ::Ifc2x3::IfcRe std::vector<::Ifc2x3::IfcMappedItem> Ifc2x3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[471], 0)); } const ifcopenshell::entity& Ifc2x3::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC2X3_types[721]); } -void Ifc2x3::IfcRepresentationMap::initialize(::Ifc2x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc2x3::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc2x3::IfcRepresentationMap Ifc2x3::IfcRepresentationMap::initialize(::Ifc2x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc2x3::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::vector<::Ifc2x3::IfcRelAssignsToResource> Ifc2x3::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[676], 6)); } const ifcopenshell::entity& Ifc2x3::IfcResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[722]); } -void Ifc2x3::IfcResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcResource Ifc2x3::IfcResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc2x3::IfcAxis1Placement Ifc2x3::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis1Placement>(); } @@ -10368,7 +10368,7 @@ void Ifc2x3::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc2x3::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[724]); } -void Ifc2x3::IfcRevolvedAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc2x3::IfcRevolvedAreaSolid Ifc2x3::IfcRevolvedAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRibPlateProfileProperties std::optional< double > Ifc2x3::IfcRibPlateProfileProperties::Thickness() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -10384,7 +10384,7 @@ void Ifc2x3::IfcRibPlateProfileProperties::setDirection(const ::Ifc2x3::IfcRibPl const ifcopenshell::entity& Ifc2x3::IfcRibPlateProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[726]); } -void Ifc2x3::IfcRibPlateProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_Thickness, std::optional< double > v4_RibHeight, std::optional< double > v5_RibWidth, std::optional< double > v6_RibSpacing, ::Ifc2x3::IfcRibPlateDirectionEnum::Value v7_Direction) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_Thickness) {set_attribute_value(2, (*v3_Thickness)); } if (v4_RibHeight) {set_attribute_value(3, (*v4_RibHeight)); } if (v5_RibWidth) {set_attribute_value(4, (*v5_RibWidth)); } if (v6_RibSpacing) {set_attribute_value(5, (*v6_RibSpacing)); }set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcRibPlateDirectionEnum::Class(),(size_t)v7_Direction))); } +Ifc2x3::IfcRibPlateProfileProperties Ifc2x3::IfcRibPlateProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_Thickness, std::optional< double > v4_RibHeight, std::optional< double > v5_RibWidth, std::optional< double > v6_RibSpacing, ::Ifc2x3::IfcRibPlateDirectionEnum::Value v7_Direction) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_Thickness) {set_attribute_value(2, (*v3_Thickness)); } if (v4_RibHeight) {set_attribute_value(3, (*v4_RibHeight)); } if (v5_RibWidth) {set_attribute_value(4, (*v5_RibWidth)); } if (v6_RibSpacing) {set_attribute_value(5, (*v6_RibSpacing)); }set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcRibPlateDirectionEnum::Class(),(size_t)v7_Direction)));; return *this; } // Function implementations for IfcRightCircularCone double Ifc2x3::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -10394,7 +10394,7 @@ void Ifc2x3::IfcRightCircularCone::setBottomRadius(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC2X3_types[727]); } -void Ifc2x3::IfcRightCircularCone::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc2x3::IfcRightCircularCone Ifc2x3::IfcRightCircularCone::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc2x3::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -10404,7 +10404,7 @@ void Ifc2x3::IfcRightCircularCylinder::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc2x3::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC2X3_types[728]); } -void Ifc2x3::IfcRightCircularCylinder::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc2x3::IfcRightCircularCylinder Ifc2x3::IfcRightCircularCylinder::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoof ::Ifc2x3::IfcRoofTypeEnum::Value Ifc2x3::IfcRoof::ShapeType() const { return ::Ifc2x3::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -10412,7 +10412,7 @@ void Ifc2x3::IfcRoof::setShapeType(const ::Ifc2x3::IfcRoofTypeEnum::Value& v) { const ifcopenshell::entity& Ifc2x3::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC2X3_types[730]); } -void Ifc2x3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRoofTypeEnum::Value v9_ShapeType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcRoofTypeEnum::Class(),(size_t)v9_ShapeType))); } +Ifc2x3::IfcRoof Ifc2x3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRoofTypeEnum::Value v9_ShapeType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcRoofTypeEnum::Class(),(size_t)v9_ShapeType)));; return *this; } // Function implementations for IfcRoot std::string Ifc2x3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -10426,7 +10426,7 @@ void Ifc2x3::IfcRoot::setDescription(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc2x3::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC2X3_types[732]); } -void Ifc2x3::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc2x3::IfcRoot Ifc2x3::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedEdgeFeature std::optional< double > Ifc2x3::IfcRoundedEdgeFeature::Radius() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -10434,7 +10434,7 @@ void Ifc2x3::IfcRoundedEdgeFeature::setRadius(const std::optional< double >& v) const ifcopenshell::entity& Ifc2x3::IfcRoundedEdgeFeature::Class() { return *((ifcopenshell::entity*)IFC2X3_types[736]); } -void Ifc2x3::IfcRoundedEdgeFeature::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Radius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Radius) {set_attribute_value(9, (*v10_Radius)); } } +Ifc2x3::IfcRoundedEdgeFeature Ifc2x3::IfcRoundedEdgeFeature::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Radius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Radius) {set_attribute_value(9, (*v10_Radius)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc2x3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -10442,7 +10442,7 @@ void Ifc2x3::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& v) { const ifcopenshell::entity& Ifc2x3::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[737]); } -void Ifc2x3::IfcRoundedRectangleProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc2x3::IfcRoundedRectangleProfileDef Ifc2x3::IfcRoundedRectangleProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc2x3::IfcSIPrefix::Value > Ifc2x3::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -10452,7 +10452,7 @@ void Ifc2x3::IfcSIUnit::setName(const ::Ifc2x3::IfcSIUnitName::Value& v) { set_a const ifcopenshell::entity& Ifc2x3::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC2X3_types[765]); } -void Ifc2x3::IfcSIUnit::initialize(::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc2x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc2x3::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc2x3::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc2x3::IfcSIUnit Ifc2x3::IfcSIUnit::initialize(::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc2x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc2x3::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc2x3::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value Ifc2x3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10460,7 +10460,7 @@ void Ifc2x3::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc2x3::IfcSanit const ifcopenshell::entity& Ifc2x3::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[738]); } -void Ifc2x3::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcSanitaryTerminalType Ifc2x3::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcScheduleTimeControl ::Ifc2x3::IfcDateTimeSelect Ifc2x3::IfcScheduleTimeControl::ActualStart() const { if(get_attribute_value(5).isNull()) { return ::Ifc2x3::IfcDateTimeSelect{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc2x3::IfcDateTimeSelect>(); } @@ -10503,7 +10503,7 @@ void Ifc2x3::IfcScheduleTimeControl::setCompletion(const std::optional< double > std::vector<::Ifc2x3::IfcRelAssignsTasks> Ifc2x3::IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[669], 7)); } const ifcopenshell::entity& Ifc2x3::IfcScheduleTimeControl::Class() { return *((ifcopenshell::entity*)IFC2X3_types[740]); } -void Ifc2x3::IfcScheduleTimeControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcDateTimeSelect v6_ActualStart, ::Ifc2x3::IfcDateTimeSelect v7_EarlyStart, ::Ifc2x3::IfcDateTimeSelect v8_LateStart, ::Ifc2x3::IfcDateTimeSelect v9_ScheduleStart, ::Ifc2x3::IfcDateTimeSelect v10_ActualFinish, ::Ifc2x3::IfcDateTimeSelect v11_EarlyFinish, ::Ifc2x3::IfcDateTimeSelect v12_LateFinish, ::Ifc2x3::IfcDateTimeSelect v13_ScheduleFinish, std::optional< double > v14_ScheduleDuration, std::optional< double > v15_ActualDuration, std::optional< double > v16_RemainingTime, std::optional< double > v17_FreeFloat, std::optional< double > v18_TotalFloat, std::optional< bool > v19_IsCritical, ::Ifc2x3::IfcDateTimeSelect v20_StatusTime, std::optional< double > v21_StartFloat, std::optional< double > v22_FinishFloat, std::optional< double > v23_Completion) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ActualStart));set_attribute_value(6, (v7_EarlyStart));set_attribute_value(7, (v8_LateStart));set_attribute_value(8, (v9_ScheduleStart));set_attribute_value(9, (v10_ActualFinish));set_attribute_value(10, (v11_EarlyFinish));set_attribute_value(11, (v12_LateFinish));set_attribute_value(12, (v13_ScheduleFinish)); if (v14_ScheduleDuration) {set_attribute_value(13, (*v14_ScheduleDuration)); } if (v15_ActualDuration) {set_attribute_value(14, (*v15_ActualDuration)); } if (v16_RemainingTime) {set_attribute_value(15, (*v16_RemainingTime)); } if (v17_FreeFloat) {set_attribute_value(16, (*v17_FreeFloat)); } if (v18_TotalFloat) {set_attribute_value(17, (*v18_TotalFloat)); } if (v19_IsCritical) {set_attribute_value(18, (*v19_IsCritical)); }set_attribute_value(19, (v20_StatusTime)); if (v21_StartFloat) {set_attribute_value(20, (*v21_StartFloat)); } if (v22_FinishFloat) {set_attribute_value(21, (*v22_FinishFloat)); } if (v23_Completion) {set_attribute_value(22, (*v23_Completion)); } } +Ifc2x3::IfcScheduleTimeControl Ifc2x3::IfcScheduleTimeControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcDateTimeSelect v6_ActualStart, ::Ifc2x3::IfcDateTimeSelect v7_EarlyStart, ::Ifc2x3::IfcDateTimeSelect v8_LateStart, ::Ifc2x3::IfcDateTimeSelect v9_ScheduleStart, ::Ifc2x3::IfcDateTimeSelect v10_ActualFinish, ::Ifc2x3::IfcDateTimeSelect v11_EarlyFinish, ::Ifc2x3::IfcDateTimeSelect v12_LateFinish, ::Ifc2x3::IfcDateTimeSelect v13_ScheduleFinish, std::optional< double > v14_ScheduleDuration, std::optional< double > v15_ActualDuration, std::optional< double > v16_RemainingTime, std::optional< double > v17_FreeFloat, std::optional< double > v18_TotalFloat, std::optional< bool > v19_IsCritical, ::Ifc2x3::IfcDateTimeSelect v20_StatusTime, std::optional< double > v21_StartFloat, std::optional< double > v22_FinishFloat, std::optional< double > v23_Completion) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ActualStart));set_attribute_value(6, (v7_EarlyStart));set_attribute_value(7, (v8_LateStart));set_attribute_value(8, (v9_ScheduleStart));set_attribute_value(9, (v10_ActualFinish));set_attribute_value(10, (v11_EarlyFinish));set_attribute_value(11, (v12_LateFinish));set_attribute_value(12, (v13_ScheduleFinish)); if (v14_ScheduleDuration) {set_attribute_value(13, (*v14_ScheduleDuration)); } if (v15_ActualDuration) {set_attribute_value(14, (*v15_ActualDuration)); } if (v16_RemainingTime) {set_attribute_value(15, (*v16_RemainingTime)); } if (v17_FreeFloat) {set_attribute_value(16, (*v17_FreeFloat)); } if (v18_TotalFloat) {set_attribute_value(17, (*v18_TotalFloat)); } if (v19_IsCritical) {set_attribute_value(18, (*v19_IsCritical)); }set_attribute_value(19, (v20_StatusTime)); if (v21_StartFloat) {set_attribute_value(20, (*v21_StartFloat)); } if (v22_FinishFloat) {set_attribute_value(21, (*v22_FinishFloat)); } if (v23_Completion) {set_attribute_value(22, (*v23_Completion)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionProperties::SectionType() const { return ::Ifc2x3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -10515,7 +10515,7 @@ void Ifc2x3::IfcSectionProperties::setEndProfile(const ::Ifc2x3::IfcProfileDef& const ifcopenshell::entity& Ifc2x3::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[745]); } -void Ifc2x3::IfcSectionProperties::initialize(::Ifc2x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc2x3::IfcProfileDef v2_StartProfile, ::Ifc2x3::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc2x3::IfcSectionProperties Ifc2x3::IfcSectionProperties::initialize(::Ifc2x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc2x3::IfcProfileDef v2_StartProfile, ::Ifc2x3::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc2x3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -10533,7 +10533,7 @@ void Ifc2x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefi const ifcopenshell::entity& Ifc2x3::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[746]); } -void Ifc2x3::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc2x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc2x3::IfcSectionReinforcementProperties Ifc2x3::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc2x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc2x3::IfcCompositeCurve Ifc2x3::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCompositeCurve>(); } @@ -10545,7 +10545,7 @@ void Ifc2x3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::If const ifcopenshell::entity& Ifc2x3::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC2X3_types[743]); } -void Ifc2x3::IfcSectionedSpine::initialize(::Ifc2x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc2x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc2x3::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc2x3::IfcSectionedSpine Ifc2x3::IfcSectionedSpine::initialize(::Ifc2x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc2x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc2x3::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSensorType ::Ifc2x3::IfcSensorTypeEnum::Value Ifc2x3::IfcSensorType::PredefinedType() const { return ::Ifc2x3::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -10553,7 +10553,7 @@ void Ifc2x3::IfcSensorType::setPredefinedType(const ::Ifc2x3::IfcSensorTypeEnum: const ifcopenshell::entity& Ifc2x3::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[748]); } -void Ifc2x3::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcSensorType Ifc2x3::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcServiceLife ::Ifc2x3::IfcServiceLifeTypeEnum::Value Ifc2x3::IfcServiceLife::ServiceLifeType() const { return ::Ifc2x3::IfcServiceLifeTypeEnum::FromString(get_attribute_value(5)); } @@ -10563,7 +10563,7 @@ void Ifc2x3::IfcServiceLife::setServiceLifeDuration(const double& v) { set_attri const ifcopenshell::entity& Ifc2x3::IfcServiceLife::Class() { return *((ifcopenshell::entity*)IFC2X3_types[751]); } -void Ifc2x3::IfcServiceLife::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcServiceLifeTypeEnum::Value v6_ServiceLifeType, double v7_ServiceLifeDuration) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcServiceLifeTypeEnum::Class(),(size_t)v6_ServiceLifeType)));set_attribute_value(6, (v7_ServiceLifeDuration)); } +Ifc2x3::IfcServiceLife Ifc2x3::IfcServiceLife::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcServiceLifeTypeEnum::Value v6_ServiceLifeType, double v7_ServiceLifeDuration) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcServiceLifeTypeEnum::Class(),(size_t)v6_ServiceLifeType)));set_attribute_value(6, (v7_ServiceLifeDuration));; return *this; } // Function implementations for IfcServiceLifeFactor ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactor::PredefinedType() const { return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::FromString(get_attribute_value(4)); } @@ -10577,7 +10577,7 @@ void Ifc2x3::IfcServiceLifeFactor::setLowerValue(const ::Ifc2x3::IfcMeasureValue const ifcopenshell::entity& Ifc2x3::IfcServiceLifeFactor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[752]); } -void Ifc2x3::IfcServiceLifeFactor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v5_PredefinedType, ::Ifc2x3::IfcMeasureValue v6_UpperValue, ::Ifc2x3::IfcMeasureValue v7_MostUsedValue, ::Ifc2x3::IfcMeasureValue v8_LowerValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcServiceLifeFactorTypeEnum::Class(),(size_t)v5_PredefinedType)));set_attribute_value(5, (v6_UpperValue));set_attribute_value(6, (v7_MostUsedValue));set_attribute_value(7, (v8_LowerValue)); } +Ifc2x3::IfcServiceLifeFactor Ifc2x3::IfcServiceLifeFactor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v5_PredefinedType, ::Ifc2x3::IfcMeasureValue v6_UpperValue, ::Ifc2x3::IfcMeasureValue v7_MostUsedValue, ::Ifc2x3::IfcMeasureValue v8_LowerValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcServiceLifeFactorTypeEnum::Class(),(size_t)v5_PredefinedType)));set_attribute_value(5, (v6_UpperValue));set_attribute_value(6, (v7_MostUsedValue));set_attribute_value(7, (v8_LowerValue));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc2x3::IfcShapeModel > Ifc2x3::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcShapeModel>(es); } @@ -10593,20 +10593,20 @@ void Ifc2x3::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC2X3_types[755]); } -void Ifc2x3::IfcShapeAspect::initialize(std::vector< ::Ifc2x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc2x3::IfcProductDefinitionShape v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc2x3::IfcShapeAspect Ifc2x3::IfcShapeAspect::initialize(std::vector< ::Ifc2x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc2x3::IfcProductDefinitionShape v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc2x3::IfcShapeAspect> Ifc2x3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[755], 0)); } const ifcopenshell::entity& Ifc2x3::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[756]); } -void Ifc2x3::IfcShapeModel::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc2x3::IfcShapeModel Ifc2x3::IfcShapeModel::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc2x3::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[757]); } -void Ifc2x3::IfcShapeRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc2x3::IfcShapeRepresentation Ifc2x3::IfcShapeRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc2x3::IfcShell > Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcShell>(es); } @@ -10614,13 +10614,13 @@ void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc const ifcopenshell::entity& Ifc2x3::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[760]); } -void Ifc2x3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc2x3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc2x3::IfcShellBasedSurfaceModel Ifc2x3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc2x3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc2x3::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC2X3_types[761]); } -void Ifc2x3::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc2x3::IfcSimpleProperty Ifc2x3::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -10636,7 +10636,7 @@ void Ifc2x3::IfcSite::setSiteAddress(const ::Ifc2x3::IfcPostalAddress& v) { set_ const ifcopenshell::entity& Ifc2x3::IfcSite::Class() { return *((ifcopenshell::entity*)IFC2X3_types[764]); } -void Ifc2x3::IfcSite::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc2x3::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc2x3::IfcSite Ifc2x3::IfcSite::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc2x3::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > Ifc2x3::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -10644,7 +10644,7 @@ void Ifc2x3::IfcSlab::setPredefinedType(const std::optional< ::Ifc2x3::IfcSlabTy const ifcopenshell::entity& Ifc2x3::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC2X3_types[768]); } -void Ifc2x3::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc2x3::IfcSlab Ifc2x3::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc2x3::IfcSlabTypeEnum::Value Ifc2x3::IfcSlabType::PredefinedType() const { return ::Ifc2x3::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -10652,7 +10652,7 @@ void Ifc2x3::IfcSlabType::setPredefinedType(const ::Ifc2x3::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[769]); } -void Ifc2x3::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcSlabType Ifc2x3::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10664,13 +10664,13 @@ void Ifc2x3::IfcSlippageConnectionCondition::setSlippageZ(const std::optional< d const ifcopenshell::entity& Ifc2x3::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[771]); } -void Ifc2x3::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc2x3::IfcSlippageConnectionCondition Ifc2x3::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc2x3::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[773]); } -void Ifc2x3::IfcSolidModel::initialize() { } +Ifc2x3::IfcSolidModel Ifc2x3::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSoundProperties bool Ifc2x3::IfcSoundProperties::IsAttenuating() const { bool v = get_attribute_value(4); return v; } @@ -10682,7 +10682,7 @@ void Ifc2x3::IfcSoundProperties::setSoundValues(const std::vector< ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcSoundProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[776]); } -void Ifc2x3::IfcSoundProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, bool v5_IsAttenuating, std::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, std::vector< ::Ifc2x3::IfcSoundValue > v7_SoundValues) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_IsAttenuating)); if (v6_SoundScale) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcSoundScaleEnum::Class(),(size_t)*v6_SoundScale))); }set_attribute_value(6, cast_vector(v7_SoundValues)); } +Ifc2x3::IfcSoundProperties Ifc2x3::IfcSoundProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, bool v5_IsAttenuating, std::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, std::vector< ::Ifc2x3::IfcSoundValue > v7_SoundValues) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_IsAttenuating)); if (v6_SoundScale) {set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcSoundScaleEnum::Class(),(size_t)*v6_SoundScale))); }set_attribute_value(6, cast_vector(v7_SoundValues));; return *this; } // Function implementations for IfcSoundValue ::Ifc2x3::IfcTimeSeries Ifc2x3::IfcSoundValue::SoundLevelTimeSeries() const { if(get_attribute_value(4).isNull()) { return ::Ifc2x3::IfcTimeSeries{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc2x3::IfcTimeSeries>(); } @@ -10694,7 +10694,7 @@ void Ifc2x3::IfcSoundValue::setSoundLevelSingleValue(const ::Ifc2x3::IfcDerivedM const ifcopenshell::entity& Ifc2x3::IfcSoundValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[778]); } -void Ifc2x3::IfcSoundValue::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcTimeSeries v5_SoundLevelTimeSeries, double v6_Frequency, ::Ifc2x3::IfcDerivedMeasureValue v7_SoundLevelSingleValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_SoundLevelTimeSeries));set_attribute_value(5, (v6_Frequency));set_attribute_value(6, (v7_SoundLevelSingleValue)); } +Ifc2x3::IfcSoundValue Ifc2x3::IfcSoundValue::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcTimeSeries v5_SoundLevelTimeSeries, double v6_Frequency, ::Ifc2x3::IfcDerivedMeasureValue v7_SoundLevelSingleValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_SoundLevelTimeSeries));set_attribute_value(5, (v6_Frequency));set_attribute_value(6, (v7_SoundLevelSingleValue));; return *this; } // Function implementations for IfcSpace ::Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcSpace::InteriorOrExteriorSpace() const { return ::Ifc2x3::IfcInternalOrExternalEnum::FromString(get_attribute_value(9)); } @@ -10706,7 +10706,7 @@ std::vector<::Ifc2x3::IfcRelCoversSpaces> Ifc2x3::IfcSpace::HasCoverings() const std::vector<::Ifc2x3::IfcRelSpaceBoundary> Ifc2x3::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[716], 4)); } const ifcopenshell::entity& Ifc2x3::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC2X3_types[779]); } -void Ifc2x3::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, ::Ifc2x3::IfcInternalOrExternalEnum::Value v10_InteriorOrExteriorSpace, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v10_InteriorOrExteriorSpace))); if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc2x3::IfcSpace Ifc2x3::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, ::Ifc2x3::IfcInternalOrExternalEnum::Value v10_InteriorOrExteriorSpace, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v10_InteriorOrExteriorSpace))); if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value Ifc2x3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc2x3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -10714,7 +10714,7 @@ void Ifc2x3::IfcSpaceHeaterType::setPredefinedType(const ::Ifc2x3::IfcSpaceHeate const ifcopenshell::entity& Ifc2x3::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[780]); } -void Ifc2x3::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcSpaceHeaterType Ifc2x3::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceProgram std::string Ifc2x3::IfcSpaceProgram::SpaceProgramIdentifier() const { std::string v = get_attribute_value(5); return v; } @@ -10732,7 +10732,7 @@ std::vector<::Ifc2x3::IfcRelInteractionRequirements> Ifc2x3::IfcSpaceProgram::Ha std::vector<::Ifc2x3::IfcRelInteractionRequirements> Ifc2x3::IfcSpaceProgram::HasInteractionReqsTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[707], 8)); } const ifcopenshell::entity& Ifc2x3::IfcSpaceProgram::Class() { return *((ifcopenshell::entity*)IFC2X3_types[782]); } -void Ifc2x3::IfcSpaceProgram::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, std::optional< double > v7_MaxRequiredArea, std::optional< double > v8_MinRequiredArea, ::Ifc2x3::IfcSpatialStructureElement v9_RequestedLocation, double v10_StandardRequiredArea) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) {set_attribute_value(6, (*v7_MaxRequiredArea)); } if (v8_MinRequiredArea) {set_attribute_value(7, (*v8_MinRequiredArea)); }set_attribute_value(8, (v9_RequestedLocation));set_attribute_value(9, (v10_StandardRequiredArea)); } +Ifc2x3::IfcSpaceProgram Ifc2x3::IfcSpaceProgram::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, std::optional< double > v7_MaxRequiredArea, std::optional< double > v8_MinRequiredArea, ::Ifc2x3::IfcSpatialStructureElement v9_RequestedLocation, double v10_StandardRequiredArea) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) {set_attribute_value(6, (*v7_MaxRequiredArea)); } if (v8_MinRequiredArea) {set_attribute_value(7, (*v8_MinRequiredArea)); }set_attribute_value(8, (v9_RequestedLocation));set_attribute_value(9, (v10_StandardRequiredArea));; return *this; } // Function implementations for IfcSpaceThermalLoadProperties std::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10758,7 +10758,7 @@ void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadType(const ::Ifc2x3::I const ifcopenshell::entity& Ifc2x3::IfcSpaceThermalLoadProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[783]); } -void Ifc2x3::IfcSpaceThermalLoadProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_ApplicableValueRatio, ::Ifc2x3::IfcThermalLoadSourceEnum::Value v6_ThermalLoadSource, ::Ifc2x3::IfcPropertySourceEnum::Value v7_PropertySource, std::optional< std::string > v8_SourceDescription, double v9_MaximumValue, std::optional< double > v10_MinimumValue, ::Ifc2x3::IfcTimeSeries v11_ThermalLoadTimeSeriesValues, std::optional< std::string > v12_UserDefinedThermalLoadSource, std::optional< std::string > v13_UserDefinedPropertySource, ::Ifc2x3::IfcThermalLoadTypeEnum::Value v14_ThermalLoadType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableValueRatio) {set_attribute_value(4, (*v5_ApplicableValueRatio)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcThermalLoadSourceEnum::Class(),(size_t)v6_ThermalLoadSource)));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v7_PropertySource))); if (v8_SourceDescription) {set_attribute_value(7, (*v8_SourceDescription)); }set_attribute_value(8, (v9_MaximumValue)); if (v10_MinimumValue) {set_attribute_value(9, (*v10_MinimumValue)); }set_attribute_value(10, (v11_ThermalLoadTimeSeriesValues)); if (v12_UserDefinedThermalLoadSource) {set_attribute_value(11, (*v12_UserDefinedThermalLoadSource)); } if (v13_UserDefinedPropertySource) {set_attribute_value(12, (*v13_UserDefinedPropertySource)); }set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcThermalLoadTypeEnum::Class(),(size_t)v14_ThermalLoadType))); } +Ifc2x3::IfcSpaceThermalLoadProperties Ifc2x3::IfcSpaceThermalLoadProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_ApplicableValueRatio, ::Ifc2x3::IfcThermalLoadSourceEnum::Value v6_ThermalLoadSource, ::Ifc2x3::IfcPropertySourceEnum::Value v7_PropertySource, std::optional< std::string > v8_SourceDescription, double v9_MaximumValue, std::optional< double > v10_MinimumValue, ::Ifc2x3::IfcTimeSeries v11_ThermalLoadTimeSeriesValues, std::optional< std::string > v12_UserDefinedThermalLoadSource, std::optional< std::string > v13_UserDefinedPropertySource, ::Ifc2x3::IfcThermalLoadTypeEnum::Value v14_ThermalLoadType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableValueRatio) {set_attribute_value(4, (*v5_ApplicableValueRatio)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcThermalLoadSourceEnum::Class(),(size_t)v6_ThermalLoadSource)));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v7_PropertySource))); if (v8_SourceDescription) {set_attribute_value(7, (*v8_SourceDescription)); }set_attribute_value(8, (v9_MaximumValue)); if (v10_MinimumValue) {set_attribute_value(9, (*v10_MinimumValue)); }set_attribute_value(10, (v11_ThermalLoadTimeSeriesValues)); if (v12_UserDefinedThermalLoadSource) {set_attribute_value(11, (*v12_UserDefinedThermalLoadSource)); } if (v13_UserDefinedPropertySource) {set_attribute_value(12, (*v13_UserDefinedPropertySource)); }set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcThermalLoadTypeEnum::Class(),(size_t)v14_ThermalLoadType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc2x3::IfcSpaceTypeEnum::Value Ifc2x3::IfcSpaceType::PredefinedType() const { return ::Ifc2x3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -10766,7 +10766,7 @@ void Ifc2x3::IfcSpaceType::setPredefinedType(const ::Ifc2x3::IfcSpaceTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[784]); } -void Ifc2x3::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcSpaceType Ifc2x3::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< std::string > Ifc2x3::IfcSpatialStructureElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10779,13 +10779,13 @@ std::vector<::Ifc2x3::IfcRelServicesBuildings> Ifc2x3::IfcSpatialStructureElemen std::vector<::Ifc2x3::IfcRelContainedInSpatialStructure> Ifc2x3::IfcSpatialStructureElement::ContainsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[698], 5)); } const ifcopenshell::entity& Ifc2x3::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[786]); } -void Ifc2x3::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); } +Ifc2x3::IfcSpatialStructureElement Ifc2x3::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc2x3::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[787]); } -void Ifc2x3::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcSpatialStructureElementType Ifc2x3::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSphere double Ifc2x3::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -10793,7 +10793,7 @@ void Ifc2x3::IfcSphere::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc2x3::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC2X3_types[792]); } -void Ifc2x3::IfcSphere::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc2x3::IfcSphere Ifc2x3::IfcSphere::initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcStackTerminalType ::Ifc2x3::IfcStackTerminalTypeEnum::Value Ifc2x3::IfcStackTerminalType::PredefinedType() const { return ::Ifc2x3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10801,7 +10801,7 @@ void Ifc2x3::IfcStackTerminalType::setPredefinedType(const ::Ifc2x3::IfcStackTer const ifcopenshell::entity& Ifc2x3::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[793]); } -void Ifc2x3::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcStackTerminalType Ifc2x3::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair ::Ifc2x3::IfcStairTypeEnum::Value Ifc2x3::IfcStair::ShapeType() const { return ::Ifc2x3::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -10809,7 +10809,7 @@ void Ifc2x3::IfcStair::setShapeType(const ::Ifc2x3::IfcStairTypeEnum::Value& v) const ifcopenshell::entity& Ifc2x3::IfcStair::Class() { return *((ifcopenshell::entity*)IFC2X3_types[795]); } -void Ifc2x3::IfcStair::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcStairTypeEnum::Value v9_ShapeType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcStairTypeEnum::Class(),(size_t)v9_ShapeType))); } +Ifc2x3::IfcStair Ifc2x3::IfcStair::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcStairTypeEnum::Value v9_ShapeType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcStairTypeEnum::Class(),(size_t)v9_ShapeType)));; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc2x3::IfcStairFlight::NumberOfRiser() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -10823,7 +10823,7 @@ void Ifc2x3::IfcStairFlight::setTreadLength(const std::optional< double >& v) { const ifcopenshell::entity& Ifc2x3::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC2X3_types[796]); } -void Ifc2x3::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRiser, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRiser) {set_attribute_value(8, (*v9_NumberOfRiser)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } } +Ifc2x3::IfcStairFlight Ifc2x3::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRiser, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRiser) {set_attribute_value(8, (*v9_NumberOfRiser)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc2x3::IfcStairFlightTypeEnum::Value Ifc2x3::IfcStairFlightType::PredefinedType() const { return ::Ifc2x3::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -10831,7 +10831,7 @@ void Ifc2x3::IfcStairFlightType::setPredefinedType(const ::Ifc2x3::IfcStairFligh const ifcopenshell::entity& Ifc2x3::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[797]); } -void Ifc2x3::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcStairFlightType Ifc2x3::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction bool Ifc2x3::IfcStructuralAction::DestabilizingLoad() const { bool v = get_attribute_value(9); return v; } @@ -10841,7 +10841,7 @@ void Ifc2x3::IfcStructuralAction::setCausedBy(const ::Ifc2x3::IfcStructuralReact const ifcopenshell::entity& Ifc2x3::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[801]); } -void Ifc2x3::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy)); } +Ifc2x3::IfcStructuralAction Ifc2x3::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));; return *this; } // Function implementations for IfcStructuralActivity ::Ifc2x3::IfcStructuralLoad Ifc2x3::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcStructuralLoad>(); } @@ -10852,7 +10852,7 @@ void Ifc2x3::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc2x3::IfcGlobalOr std::vector<::Ifc2x3::IfcRelConnectsStructuralActivity> Ifc2x3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[693], 5)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC2X3_types[802]); } -void Ifc2x3::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc2x3::IfcStructuralActivity Ifc2x3::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc2x3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -10866,7 +10866,7 @@ void Ifc2x3::IfcStructuralAnalysisModel::setHasResults(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[804]); } -void Ifc2x3::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > > v9_HasResults) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); } } +Ifc2x3::IfcStructuralAnalysisModel Ifc2x3::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > > v9_HasResults) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }; return *this; } // Function implementations for IfcStructuralConnection ::Ifc2x3::IfcBoundaryCondition Ifc2x3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc2x3::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc2x3::IfcBoundaryCondition>(); } @@ -10875,7 +10875,7 @@ void Ifc2x3::IfcStructuralConnection::setAppliedCondition(const ::Ifc2x3::IfcBou std::vector<::Ifc2x3::IfcRelConnectsStructuralMember> Ifc2x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[695], 5)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[805]); } -void Ifc2x3::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc2x3::IfcStructuralConnection Ifc2x3::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc2x3::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10883,13 +10883,13 @@ void Ifc2x3::IfcStructuralConnectionCondition::setName(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC2X3_types[806]); } -void Ifc2x3::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc2x3::IfcStructuralConnectionCondition Ifc2x3::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveConnection const ifcopenshell::entity& Ifc2x3::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[807]); } -void Ifc2x3::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc2x3::IfcStructuralCurveConnection Ifc2x3::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc2x3::IfcStructuralCurveTypeEnum::Value Ifc2x3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralCurveTypeEnum::FromString(get_attribute_value(7)); } @@ -10897,20 +10897,20 @@ void Ifc2x3::IfcStructuralCurveMember::setPredefinedType(const ::Ifc2x3::IfcStru const ifcopenshell::entity& Ifc2x3::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC2X3_types[808]); } -void Ifc2x3::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType))); } +Ifc2x3::IfcStructuralCurveMember Ifc2x3::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc2x3::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC2X3_types[809]); } -void Ifc2x3::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType))); } +Ifc2x3::IfcStructuralCurveMemberVarying Ifc2x3::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc2x3::IfcRelConnectsStructuralActivity> Ifc2x3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[693], 4)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[811]); } -void Ifc2x3::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc2x3::IfcStructuralItem Ifc2x3::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcStructuralLinearAction::ProjectedOrTrue() const { return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(11)); } @@ -10918,7 +10918,7 @@ void Ifc2x3::IfcStructuralLinearAction::setProjectedOrTrue(const ::Ifc2x3::IfcPr const ifcopenshell::entity& Ifc2x3::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[812]); } -void Ifc2x3::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue))); } +Ifc2x3::IfcStructuralLinearAction Ifc2x3::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));; return *this; } // Function implementations for IfcStructuralLinearActionVarying ::Ifc2x3::IfcShapeAspect Ifc2x3::IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcShapeAspect>(); } @@ -10928,7 +10928,7 @@ void Ifc2x3::IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(const s const ifcopenshell::entity& Ifc2x3::IfcStructuralLinearActionVarying::Class() { return *((ifcopenshell::entity*)IFC2X3_types[813]); } -void Ifc2x3::IfcStructuralLinearActionVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, (v13_VaryingAppliedLoadLocation));set_attribute_value(13, cast_vector(v14_SubsequentAppliedLoads)); } +Ifc2x3::IfcStructuralLinearActionVarying Ifc2x3::IfcStructuralLinearActionVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, (v13_VaryingAppliedLoadLocation));set_attribute_value(13, cast_vector(v14_SubsequentAppliedLoads));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc2x3::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10936,7 +10936,7 @@ void Ifc2x3::IfcStructuralLoad::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc2x3::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC2X3_types[814]); } -void Ifc2x3::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc2x3::IfcStructuralLoad Ifc2x3::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc2x3::IfcLoadGroupTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc2x3::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -10954,7 +10954,7 @@ std::vector<::Ifc2x3::IfcStructuralResultGroup> Ifc2x3::IfcStructuralLoadGroup:: std::vector<::Ifc2x3::IfcStructuralAnalysisModel> Ifc2x3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[804], 7)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC2X3_types[815]); } -void Ifc2x3::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc2x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc2x3::IfcStructuralLoadGroup Ifc2x3::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc2x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10972,7 +10972,7 @@ void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC2X3_types[816]); } -void Ifc2x3::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc2x3::IfcStructuralLoadLinearForce Ifc2x3::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10984,7 +10984,7 @@ void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC2X3_types[817]); } -void Ifc2x3::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc2x3::IfcStructuralLoadPlanarForce Ifc2x3::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -11002,7 +11002,7 @@ void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(co const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[818]); } -void Ifc2x3::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc2x3::IfcStructuralLoadSingleDisplacement Ifc2x3::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -11010,7 +11010,7 @@ void Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(const const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC2X3_types[819]); } -void Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -11028,7 +11028,7 @@ void Ifc2x3::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< doubl const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC2X3_types[820]); } -void Ifc2x3::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc2x3::IfcStructuralLoadSingleForce Ifc2x3::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc2x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -11036,13 +11036,13 @@ void Ifc2x3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std::op const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC2X3_types[821]); } -void Ifc2x3::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc2x3::IfcStructuralLoadSingleForceWarping Ifc2x3::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC2X3_types[822]); } -void Ifc2x3::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc2x3::IfcStructuralLoadStatic Ifc2x3::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Constant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -11054,7 +11054,7 @@ void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Z(const std::optional< doub const ifcopenshell::entity& Ifc2x3::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC2X3_types[823]); } -void Ifc2x3::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaT_Constant, std::optional< double > v3_DeltaT_Y, std::optional< double > v4_DeltaT_Z) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaT_Constant) {set_attribute_value(1, (*v2_DeltaT_Constant)); } if (v3_DeltaT_Y) {set_attribute_value(2, (*v3_DeltaT_Y)); } if (v4_DeltaT_Z) {set_attribute_value(3, (*v4_DeltaT_Z)); } } +Ifc2x3::IfcStructuralLoadTemperature Ifc2x3::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaT_Constant, std::optional< double > v3_DeltaT_Y, std::optional< double > v4_DeltaT_Z) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaT_Constant) {set_attribute_value(1, (*v2_DeltaT_Constant)); } if (v3_DeltaT_Y) {set_attribute_value(2, (*v3_DeltaT_Y)); } if (v4_DeltaT_Z) {set_attribute_value(3, (*v4_DeltaT_Z)); }; return *this; } // Function implementations for IfcStructuralMember @@ -11062,7 +11062,7 @@ std::vector<::Ifc2x3::IfcRelConnectsStructuralElement> Ifc2x3::IfcStructuralMemb std::vector<::Ifc2x3::IfcRelConnectsStructuralMember> Ifc2x3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[695], 4)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC2X3_types[824]); } -void Ifc2x3::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc2x3::IfcStructuralMember Ifc2x3::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcStructuralPlanarAction::ProjectedOrTrue() const { return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(11)); } @@ -11070,7 +11070,7 @@ void Ifc2x3::IfcStructuralPlanarAction::setProjectedOrTrue(const ::Ifc2x3::IfcPr const ifcopenshell::entity& Ifc2x3::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[825]); } -void Ifc2x3::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue))); } +Ifc2x3::IfcStructuralPlanarAction Ifc2x3::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));; return *this; } // Function implementations for IfcStructuralPlanarActionVarying ::Ifc2x3::IfcShapeAspect Ifc2x3::IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return ((express::Base)(get_attribute_value(12))).as<::Ifc2x3::IfcShapeAspect>(); } @@ -11080,25 +11080,25 @@ void Ifc2x3::IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(const s const ifcopenshell::entity& Ifc2x3::IfcStructuralPlanarActionVarying::Class() { return *((ifcopenshell::entity*)IFC2X3_types[826]); } -void Ifc2x3::IfcStructuralPlanarActionVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, (v13_VaryingAppliedLoadLocation));set_attribute_value(13, cast_vector(v14_SubsequentAppliedLoads)); } +Ifc2x3::IfcStructuralPlanarActionVarying Ifc2x3::IfcStructuralPlanarActionVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));set_attribute_value(11, (enumeration_reference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, (v13_VaryingAppliedLoadLocation));set_attribute_value(13, cast_vector(v14_SubsequentAppliedLoads));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc2x3::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[827]); } -void Ifc2x3::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy)); } +Ifc2x3::IfcStructuralPointAction Ifc2x3::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, (v11_CausedBy));; return *this; } // Function implementations for IfcStructuralPointConnection const ifcopenshell::entity& Ifc2x3::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[828]); } -void Ifc2x3::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc2x3::IfcStructuralPointConnection Ifc2x3::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc2x3::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[829]); } -void Ifc2x3::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc2x3::IfcStructuralPointReaction Ifc2x3::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralProfileProperties std::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalConstantX() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -11136,14 +11136,14 @@ void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInY(const std::op const ifcopenshell::entity& Ifc2x3::IfcStructuralProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[830]); } -void Ifc2x3::IfcStructuralProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); } } +Ifc2x3::IfcStructuralProfileProperties Ifc2x3::IfcStructuralProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); }; return *this; } // Function implementations for IfcStructuralReaction std::vector<::Ifc2x3::IfcStructuralAction> Ifc2x3::IfcStructuralReaction::Causes() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[801], 10)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[831]); } -void Ifc2x3::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc2x3::IfcStructuralReaction Ifc2x3::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11156,7 +11156,7 @@ void Ifc2x3::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribut std::vector<::Ifc2x3::IfcStructuralAnalysisModel> Ifc2x3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[804], 8)); } const ifcopenshell::entity& Ifc2x3::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC2X3_types[832]); } -void Ifc2x3::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc2x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc2x3::IfcStructuralResultGroup Ifc2x3::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc2x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSteelProfileProperties std::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaZ() const { if(get_attribute_value(23).isNull()) { return std::nullopt; } double v = get_attribute_value(23); return v; } @@ -11170,13 +11170,13 @@ void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(const s const ifcopenshell::entity& Ifc2x3::IfcStructuralSteelProfileProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[833]); } -void Ifc2x3::IfcStructuralSteelProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY, std::optional< double > v24_ShearAreaZ, std::optional< double > v25_ShearAreaY, std::optional< double > v26_PlasticShapeFactorY, std::optional< double > v27_PlasticShapeFactorZ) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); } if (v24_ShearAreaZ) {set_attribute_value(23, (*v24_ShearAreaZ)); } if (v25_ShearAreaY) {set_attribute_value(24, (*v25_ShearAreaY)); } if (v26_PlasticShapeFactorY) {set_attribute_value(25, (*v26_PlasticShapeFactorY)); } if (v27_PlasticShapeFactorZ) {set_attribute_value(26, (*v27_PlasticShapeFactorZ)); } } +Ifc2x3::IfcStructuralSteelProfileProperties Ifc2x3::IfcStructuralSteelProfileProperties::initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY, std::optional< double > v24_ShearAreaZ, std::optional< double > v25_ShearAreaY, std::optional< double > v26_PlasticShapeFactorY, std::optional< double > v27_PlasticShapeFactorZ) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, (v2_ProfileDefinition)); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); } if (v24_ShearAreaZ) {set_attribute_value(23, (*v24_ShearAreaZ)); } if (v25_ShearAreaY) {set_attribute_value(24, (*v25_ShearAreaY)); } if (v26_PlasticShapeFactorY) {set_attribute_value(25, (*v26_PlasticShapeFactorY)); } if (v27_PlasticShapeFactorZ) {set_attribute_value(26, (*v27_PlasticShapeFactorZ)); }; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc2x3::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[834]); } -void Ifc2x3::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc2x3::IfcStructuralSurfaceConnection Ifc2x3::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value Ifc2x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::FromString(get_attribute_value(7)); } @@ -11186,7 +11186,7 @@ void Ifc2x3::IfcStructuralSurfaceMember::setThickness(const std::optional< doubl const ifcopenshell::entity& Ifc2x3::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC2X3_types[835]); } -void Ifc2x3::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc2x3::IfcStructuralSurfaceMember Ifc2x3::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying std::vector< double > /*[2:?]*/ Ifc2x3::IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } @@ -11196,19 +11196,19 @@ void Ifc2x3::IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(cons const ifcopenshell::entity& Ifc2x3::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC2X3_types[836]); } -void Ifc2x3::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, ::Ifc2x3::IfcShapeAspect v11_VaryingThicknessLocation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }set_attribute_value(9, (v10_SubsequentThickness));set_attribute_value(10, (v11_VaryingThicknessLocation)); } +Ifc2x3::IfcStructuralSurfaceMemberVarying Ifc2x3::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, ::Ifc2x3::IfcShapeAspect v11_VaryingThicknessLocation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }set_attribute_value(9, (v10_SubsequentThickness));set_attribute_value(10, (v11_VaryingThicknessLocation));; return *this; } // Function implementations for IfcStructuredDimensionCallout const ifcopenshell::entity& Ifc2x3::IfcStructuredDimensionCallout::Class() { return *((ifcopenshell::entity*)IFC2X3_types[838]); } -void Ifc2x3::IfcStructuredDimensionCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents)); } +Ifc2x3::IfcStructuredDimensionCallout Ifc2x3::IfcStructuredDimensionCallout::initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents) { set_attribute_value(0, cast_vector(v1_Contents));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc2x3::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[841]); } -void Ifc2x3::IfcStyleModel::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc2x3::IfcStyleModel Ifc2x3::IfcStyleModel::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc2x3::IfcRepresentationItem Ifc2x3::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc2x3::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcRepresentationItem>(); } @@ -11220,13 +11220,13 @@ void Ifc2x3::IfcStyledItem::setName(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc2x3::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[839]); } -void Ifc2x3::IfcStyledItem::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc2x3::IfcStyledItem Ifc2x3::IfcStyledItem::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc2x3::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[840]); } -void Ifc2x3::IfcStyledRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc2x3::IfcStyledRepresentation Ifc2x3::IfcStyledRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource ::Ifc2x3::IfcActorSelect Ifc2x3::IfcSubContractResource::SubContractor() const { if(get_attribute_value(9).isNull()) { return ::Ifc2x3::IfcActorSelect{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc2x3::IfcActorSelect>(); } @@ -11236,7 +11236,7 @@ void Ifc2x3::IfcSubContractResource::setJobDescription(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC2X3_types[842]); } -void Ifc2x3::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, ::Ifc2x3::IfcActorSelect v10_SubContractor, std::optional< std::string > v11_JobDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity));set_attribute_value(9, (v10_SubContractor)); if (v11_JobDescription) {set_attribute_value(10, (*v11_JobDescription)); } } +Ifc2x3::IfcSubContractResource Ifc2x3::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, ::Ifc2x3::IfcActorSelect v10_SubContractor, std::optional< std::string > v11_JobDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (enumeration_reference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, (v9_BaseQuantity));set_attribute_value(9, (v10_SubContractor)); if (v11_JobDescription) {set_attribute_value(10, (*v11_JobDescription)); }; return *this; } // Function implementations for IfcSubedge ::Ifc2x3::IfcEdge Ifc2x3::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcEdge>(); } @@ -11244,13 +11244,13 @@ void Ifc2x3::IfcSubedge::setParentEdge(const ::Ifc2x3::IfcEdge& v) { set_attribu const ifcopenshell::entity& Ifc2x3::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC2X3_types[843]); } -void Ifc2x3::IfcSubedge::initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc2x3::IfcSubedge Ifc2x3::IfcSubedge::initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc2x3::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[844]); } -void Ifc2x3::IfcSurface::initialize() { } +Ifc2x3::IfcSurface Ifc2x3::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc2x3::IfcCurve Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcCurve>(); } @@ -11264,7 +11264,7 @@ void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc2x3:: const ifcopenshell::entity& Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[845]); } -void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcCurve v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc2x3::IfcSurfaceCurveSweptAreaSolid Ifc2x3::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcCurve v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc2x3::IfcDirection Ifc2x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcDirection>(); } @@ -11274,7 +11274,7 @@ void Ifc2x3::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC2X3_types[846]); } -void Ifc2x3::IfcSurfaceOfLinearExtrusion::initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc2x3::IfcSurfaceOfLinearExtrusion Ifc2x3::IfcSurfaceOfLinearExtrusion::initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc2x3::IfcAxis1Placement Ifc2x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc2x3::IfcAxis1Placement>(); } @@ -11282,7 +11282,7 @@ void Ifc2x3::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc2x3::IfcAxis1Pla const ifcopenshell::entity& Ifc2x3::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC2X3_types[847]); } -void Ifc2x3::IfcSurfaceOfRevolution::initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc2x3::IfcSurfaceOfRevolution Ifc2x3::IfcSurfaceOfRevolution::initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceStyle::Side() const { return ::Ifc2x3::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -11292,7 +11292,7 @@ void Ifc2x3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc2x3::IfcSurfaceS const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[850]); } -void Ifc2x3::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc2x3::IfcSurfaceStyle Ifc2x3::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc2x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcColourRgb>(); } @@ -11306,7 +11306,7 @@ void Ifc2x3::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc2x3::IfcCo const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC2X3_types[852]); } -void Ifc2x3::IfcSurfaceStyleLighting::initialize(::Ifc2x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc2x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc2x3::IfcColourRgb v3_TransmissionColour, ::Ifc2x3::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc2x3::IfcSurfaceStyleLighting Ifc2x3::IfcSurfaceStyleLighting::initialize(::Ifc2x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc2x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc2x3::IfcColourRgb v3_TransmissionColour, ::Ifc2x3::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -11316,7 +11316,7 @@ void Ifc2x3::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC2X3_types[853]); } -void Ifc2x3::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc2x3::IfcSurfaceStyleRefraction Ifc2x3::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering std::optional< double > Ifc2x3::IfcSurfaceStyleRendering::Transparency() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -11338,7 +11338,7 @@ void Ifc2x3::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc2x3::IfcR const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC2X3_types[854]); } -void Ifc2x3::IfcSurfaceStyleRendering::initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc2x3::IfcSurfaceStyleRendering Ifc2x3::IfcSurfaceStyleRendering::initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc2x3::IfcColourRgb Ifc2x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcColourRgb>(); } @@ -11346,7 +11346,7 @@ void Ifc2x3::IfcSurfaceStyleShading::setSurfaceColour(const ::Ifc2x3::IfcColourR const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC2X3_types[855]); } -void Ifc2x3::IfcSurfaceStyleShading::initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour) { set_attribute_value(0, (v1_SurfaceColour)); } +Ifc2x3::IfcSurfaceStyleShading Ifc2x3::IfcSurfaceStyleShading::initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour) { set_attribute_value(0, (v1_SurfaceColour));; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc2x3::IfcSurfaceTexture > Ifc2x3::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcSurfaceTexture>(es); } @@ -11354,7 +11354,7 @@ void Ifc2x3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc2x const ifcopenshell::entity& Ifc2x3::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC2X3_types[856]); } -void Ifc2x3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc2x3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc2x3::IfcSurfaceStyleWithTextures Ifc2x3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc2x3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc2x3::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -11368,7 +11368,7 @@ void Ifc2x3::IfcSurfaceTexture::setTextureTransform(const ::Ifc2x3::IfcCartesian const ifcopenshell::entity& Ifc2x3::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC2X3_types[857]); } -void Ifc2x3::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform)); } +Ifc2x3::IfcSurfaceTexture Ifc2x3::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, (v4_TextureTransform));; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc2x3::IfcProfileDef Ifc2x3::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcProfileDef>(); } @@ -11378,7 +11378,7 @@ void Ifc2x3::IfcSweptAreaSolid::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc2x3::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[859]); } -void Ifc2x3::IfcSweptAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc2x3::IfcSweptAreaSolid Ifc2x3::IfcSweptAreaSolid::initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc2x3::IfcCurve Ifc2x3::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } @@ -11394,7 +11394,7 @@ void Ifc2x3::IfcSweptDiskSolid::setEndParam(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc2x3::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC2X3_types[860]); } -void Ifc2x3::IfcSweptDiskSolid::initialize(::Ifc2x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); }set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc2x3::IfcSweptDiskSolid Ifc2x3::IfcSweptDiskSolid::initialize(::Ifc2x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); }set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcSweptSurface ::Ifc2x3::IfcProfileDef Ifc2x3::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcProfileDef>(); } @@ -11404,7 +11404,7 @@ void Ifc2x3::IfcSweptSurface::setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v const ifcopenshell::entity& Ifc2x3::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC2X3_types[861]); } -void Ifc2x3::IfcSweptSurface::initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc2x3::IfcSweptSurface Ifc2x3::IfcSweptSurface::initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value Ifc2x3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11412,7 +11412,7 @@ void Ifc2x3::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc2x3::IfcSwitch const ifcopenshell::entity& Ifc2x3::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[862]); } -void Ifc2x3::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcSwitchingDeviceType Ifc2x3::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSymbolStyle ::Ifc2x3::IfcSymbolStyleSelect Ifc2x3::IfcSymbolStyle::StyleOfSymbol() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcSymbolStyleSelect>(); } @@ -11420,20 +11420,20 @@ void Ifc2x3::IfcSymbolStyle::setStyleOfSymbol(const ::Ifc2x3::IfcSymbolStyleSele const ifcopenshell::entity& Ifc2x3::IfcSymbolStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[864]); } -void Ifc2x3::IfcSymbolStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSymbolStyleSelect v2_StyleOfSymbol) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_StyleOfSymbol)); } +Ifc2x3::IfcSymbolStyle Ifc2x3::IfcSymbolStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSymbolStyleSelect v2_StyleOfSymbol) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_StyleOfSymbol));; return *this; } // Function implementations for IfcSystem std::vector<::Ifc2x3::IfcRelServicesBuildings> Ifc2x3::IfcSystem::ServicesBuildings() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[715], 4)); } const ifcopenshell::entity& Ifc2x3::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[866]); } -void Ifc2x3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcSystem Ifc2x3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElementType const ifcopenshell::entity& Ifc2x3::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[867]); } -void Ifc2x3::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc2x3::IfcSystemFurnitureElementType Ifc2x3::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc2x3::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11459,7 +11459,7 @@ void Ifc2x3::IfcTShapeProfileDef::setCentreOfGravityInY(const std::optional< dou const ifcopenshell::entity& Ifc2x3::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[928]); } -void Ifc2x3::IfcTShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope, std::optional< double > v13_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } if (v13_CentreOfGravityInY) {set_attribute_value(12, (*v13_CentreOfGravityInY)); } } +Ifc2x3::IfcTShapeProfileDef Ifc2x3::IfcTShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope, std::optional< double > v13_CentreOfGravityInY) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } if (v13_CentreOfGravityInY) {set_attribute_value(12, (*v13_CentreOfGravityInY)); }; return *this; } // Function implementations for IfcTable std::string Ifc2x3::IfcTable::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11469,7 +11469,7 @@ void Ifc2x3::IfcTable::setRows(const std::vector< ::Ifc2x3::IfcTableRow >& v) { const ifcopenshell::entity& Ifc2x3::IfcTable::Class() { return *((ifcopenshell::entity*)IFC2X3_types[868]); } -void Ifc2x3::IfcTable::initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcTableRow > v2_Rows) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_Rows)); } +Ifc2x3::IfcTable Ifc2x3::IfcTable::initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcTableRow > v2_Rows) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_Rows));; return *this; } // Function implementations for IfcTableRow std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcTableRow::RowCells() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcValue>(es); } @@ -11480,7 +11480,7 @@ void Ifc2x3::IfcTableRow::setIsHeading(const bool& v) { set_attribute_value(1, v std::vector<::Ifc2x3::IfcTable> Ifc2x3::IfcTableRow::OfTable() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[868], 1)); } const ifcopenshell::entity& Ifc2x3::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC2X3_types[869]); } -void Ifc2x3::IfcTableRow::initialize(std::vector< ::Ifc2x3::IfcValue > v1_RowCells, bool v2_IsHeading) { set_attribute_value(0, cast_vector(v1_RowCells));set_attribute_value(1, (v2_IsHeading)); } +Ifc2x3::IfcTableRow Ifc2x3::IfcTableRow::initialize(std::vector< ::Ifc2x3::IfcValue > v1_RowCells, bool v2_IsHeading) { set_attribute_value(0, cast_vector(v1_RowCells));set_attribute_value(1, (v2_IsHeading));; return *this; } // Function implementations for IfcTankType ::Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankType::PredefinedType() const { return ::Ifc2x3::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -11488,7 +11488,7 @@ void Ifc2x3::IfcTankType::setPredefinedType(const ::Ifc2x3::IfcTankTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[870]); } -void Ifc2x3::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcTankType Ifc2x3::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::string Ifc2x3::IfcTask::TaskId() const { std::string v = get_attribute_value(5); return v; } @@ -11504,7 +11504,7 @@ void Ifc2x3::IfcTask::setPriority(const std::optional< int >& v) { if (v) {set_a const ifcopenshell::entity& Ifc2x3::IfcTask::Class() { return *((ifcopenshell::entity*)IFC2X3_types[872]); } -void Ifc2x3::IfcTask::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); } } +Ifc2x3::IfcTask Ifc2x3::IfcTask::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -11520,7 +11520,7 @@ void Ifc2x3::IfcTelecomAddress::setWWWHomePageURL(const std::optional< std::stri const ifcopenshell::entity& Ifc2x3::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC2X3_types[873]); } -void Ifc2x3::IfcTelecomAddress::initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } } +Ifc2x3::IfcTelecomAddress Ifc2x3::IfcTelecomAddress::initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); }; return *this; } // Function implementations for IfcTendon ::Ifc2x3::IfcTendonTypeEnum::Value Ifc2x3::IfcTendon::PredefinedType() const { return ::Ifc2x3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -11542,13 +11542,13 @@ void Ifc2x3::IfcTendon::setMinCurvatureRadius(const std::optional< double >& v) const ifcopenshell::entity& Ifc2x3::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC2X3_types[875]); } -void Ifc2x3::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc2x3::IfcTendonTypeEnum::Value v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (v11_NominalDiameter));set_attribute_value(11, (v12_CrossSectionArea)); if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc2x3::IfcTendon Ifc2x3::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc2x3::IfcTendonTypeEnum::Value v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (v11_NominalDiameter));set_attribute_value(11, (v12_CrossSectionArea)); if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor const ifcopenshell::entity& Ifc2x3::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[876]); } -void Ifc2x3::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc2x3::IfcTendonAnchor Ifc2x3::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcTerminatorSymbol ::Ifc2x3::IfcAnnotationCurveOccurrence Ifc2x3::IfcTerminatorSymbol::AnnotatedCurve() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcAnnotationCurveOccurrence>(); } @@ -11556,7 +11556,7 @@ void Ifc2x3::IfcTerminatorSymbol::setAnnotatedCurve(const ::Ifc2x3::IfcAnnotatio const ifcopenshell::entity& Ifc2x3::IfcTerminatorSymbol::Class() { return *((ifcopenshell::entity*)IFC2X3_types[878]); } -void Ifc2x3::IfcTerminatorSymbol::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_AnnotatedCurve)); } +Ifc2x3::IfcTerminatorSymbol Ifc2x3::IfcTerminatorSymbol::initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_AnnotatedCurve));; return *this; } // Function implementations for IfcTextLiteral std::string Ifc2x3::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -11568,7 +11568,7 @@ void Ifc2x3::IfcTextLiteral::setPath(const ::Ifc2x3::IfcTextPath::Value& v) { se const ifcopenshell::entity& Ifc2x3::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC2X3_types[884]); } -void Ifc2x3::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc2x3::IfcTextLiteral Ifc2x3::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc2x3::IfcPlanarExtent Ifc2x3::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc2x3::IfcPlanarExtent>(); } @@ -11578,7 +11578,7 @@ void Ifc2x3::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { s const ifcopenshell::entity& Ifc2x3::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC2X3_types[885]); } -void Ifc2x3::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc2x3::IfcTextLiteralWithExtent Ifc2x3::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc2x3::IfcCharacterStyleSelect Ifc2x3::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc2x3::IfcCharacterStyleSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcCharacterStyleSelect>(); } @@ -11590,7 +11590,7 @@ void Ifc2x3::IfcTextStyle::setTextFontStyle(const ::Ifc2x3::IfcTextFontSelect& v const ifcopenshell::entity& Ifc2x3::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[887]); } -void Ifc2x3::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCharacterStyleSelect v2_TextCharacterAppearance, ::Ifc2x3::IfcTextStyleSelect v3_TextStyle, ::Ifc2x3::IfcTextFontSelect v4_TextFontStyle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); } +Ifc2x3::IfcTextStyle Ifc2x3::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCharacterStyleSelect v2_TextCharacterAppearance, ::Ifc2x3::IfcTextStyleSelect v3_TextStyle, ::Ifc2x3::IfcTextFontSelect v4_TextFontStyle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle));; return *this; } // Function implementations for IfcTextStyleFontModel std::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTextStyleFontModel::FontFamily() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -11606,7 +11606,7 @@ void Ifc2x3::IfcTextStyleFontModel::setFontSize(const ::Ifc2x3::IfcSizeSelect& v const ifcopenshell::entity& Ifc2x3::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[888]); } -void Ifc2x3::IfcTextStyleFontModel::initialize(std::string v1_Name, std::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name)); if (v2_FontFamily) {set_attribute_value(1, (*v2_FontFamily)); } if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc2x3::IfcTextStyleFontModel Ifc2x3::IfcTextStyleFontModel::initialize(std::string v1_Name, std::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name)); if (v2_FontFamily) {set_attribute_value(1, (*v2_FontFamily)); } if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc2x3::IfcColour Ifc2x3::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcColour>(); } @@ -11616,7 +11616,7 @@ void Ifc2x3::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc2x3::Ifc const ifcopenshell::entity& Ifc2x3::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC2X3_types[889]); } -void Ifc2x3::IfcTextStyleForDefinedFont::initialize(::Ifc2x3::IfcColour v1_Colour, ::Ifc2x3::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc2x3::IfcTextStyleForDefinedFont Ifc2x3::IfcTextStyleForDefinedFont::initialize(::Ifc2x3::IfcColour v1_Colour, ::Ifc2x3::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc2x3::IfcSizeSelect Ifc2x3::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc2x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcSizeSelect>(); } @@ -11636,7 +11636,7 @@ void Ifc2x3::IfcTextStyleTextModel::setLineHeight(const ::Ifc2x3::IfcSizeSelect& const ifcopenshell::entity& Ifc2x3::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC2X3_types[891]); } -void Ifc2x3::IfcTextStyleTextModel::initialize(::Ifc2x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc2x3::IfcSizeSelect v4_LetterSpacing, ::Ifc2x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc2x3::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc2x3::IfcTextStyleTextModel Ifc2x3::IfcTextStyleTextModel::initialize(::Ifc2x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc2x3::IfcSizeSelect v4_LetterSpacing, ::Ifc2x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc2x3::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextStyleWithBoxCharacteristics std::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxHeight() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -11652,14 +11652,14 @@ void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(const ::Ifc const ifcopenshell::entity& Ifc2x3::IfcTextStyleWithBoxCharacteristics::Class() { return *((ifcopenshell::entity*)IFC2X3_types[892]); } -void Ifc2x3::IfcTextStyleWithBoxCharacteristics::initialize(std::optional< double > v1_BoxHeight, std::optional< double > v2_BoxWidth, std::optional< double > v3_BoxSlantAngle, std::optional< double > v4_BoxRotateAngle, ::Ifc2x3::IfcSizeSelect v5_CharacterSpacing) { if (v1_BoxHeight) {set_attribute_value(0, (*v1_BoxHeight)); } if (v2_BoxWidth) {set_attribute_value(1, (*v2_BoxWidth)); } if (v3_BoxSlantAngle) {set_attribute_value(2, (*v3_BoxSlantAngle)); } if (v4_BoxRotateAngle) {set_attribute_value(3, (*v4_BoxRotateAngle)); }set_attribute_value(4, (v5_CharacterSpacing)); } +Ifc2x3::IfcTextStyleWithBoxCharacteristics Ifc2x3::IfcTextStyleWithBoxCharacteristics::initialize(std::optional< double > v1_BoxHeight, std::optional< double > v2_BoxWidth, std::optional< double > v3_BoxSlantAngle, std::optional< double > v4_BoxRotateAngle, ::Ifc2x3::IfcSizeSelect v5_CharacterSpacing) { if (v1_BoxHeight) {set_attribute_value(0, (*v1_BoxHeight)); } if (v2_BoxWidth) {set_attribute_value(1, (*v2_BoxWidth)); } if (v3_BoxSlantAngle) {set_attribute_value(2, (*v3_BoxSlantAngle)); } if (v4_BoxRotateAngle) {set_attribute_value(3, (*v4_BoxRotateAngle)); }set_attribute_value(4, (v5_CharacterSpacing));; return *this; } // Function implementations for IfcTextureCoordinate std::vector<::Ifc2x3::IfcAnnotationSurface> Ifc2x3::IfcTextureCoordinate::AnnotatedSurface() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[32], 1)); } const ifcopenshell::entity& Ifc2x3::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC2X3_types[894]); } -void Ifc2x3::IfcTextureCoordinate::initialize() { } +Ifc2x3::IfcTextureCoordinate Ifc2x3::IfcTextureCoordinate::initialize() { ; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc2x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(0); return v; } @@ -11669,7 +11669,7 @@ void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(const std::vector< ::If const ifcopenshell::entity& Ifc2x3::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC2X3_types[895]); } -void Ifc2x3::IfcTextureCoordinateGenerator::initialize(std::string v1_Mode, std::vector< ::Ifc2x3::IfcSimpleValue > v2_Parameter) { set_attribute_value(0, (v1_Mode));set_attribute_value(1, cast_vector(v2_Parameter)); } +Ifc2x3::IfcTextureCoordinateGenerator Ifc2x3::IfcTextureCoordinateGenerator::initialize(std::string v1_Mode, std::vector< ::Ifc2x3::IfcSimpleValue > v2_Parameter) { set_attribute_value(0, (v1_Mode));set_attribute_value(1, cast_vector(v2_Parameter));; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > Ifc2x3::IfcTextureMap::TextureMaps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcVertexBasedTextureMap>(es); } @@ -11677,7 +11677,7 @@ void Ifc2x3::IfcTextureMap::setTextureMaps(const std::vector< ::Ifc2x3::IfcVerte const ifcopenshell::entity& Ifc2x3::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC2X3_types[896]); } -void Ifc2x3::IfcTextureMap::initialize(std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > v1_TextureMaps) { set_attribute_value(0, cast_vector(v1_TextureMaps)); } +Ifc2x3::IfcTextureMap Ifc2x3::IfcTextureMap::initialize(std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > v1_TextureMaps) { set_attribute_value(0, cast_vector(v1_TextureMaps));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc2x3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -11685,7 +11685,7 @@ void Ifc2x3::IfcTextureVertex::setCoordinates(const std::vector< double > /*[2:2 const ifcopenshell::entity& Ifc2x3::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC2X3_types[897]); } -void Ifc2x3::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc2x3::IfcTextureVertex Ifc2x3::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcThermalMaterialProperties std::optional< double > Ifc2x3::IfcThermalMaterialProperties::SpecificHeatCapacity() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -11699,7 +11699,7 @@ void Ifc2x3::IfcThermalMaterialProperties::setThermalConductivity(const std::opt const ifcopenshell::entity& Ifc2x3::IfcThermalMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[903]); } -void Ifc2x3::IfcThermalMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_BoilingPoint, std::optional< double > v4_FreezingPoint, std::optional< double > v5_ThermalConductivity) { set_attribute_value(0, (v1_Material)); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_BoilingPoint) {set_attribute_value(2, (*v3_BoilingPoint)); } if (v4_FreezingPoint) {set_attribute_value(3, (*v4_FreezingPoint)); } if (v5_ThermalConductivity) {set_attribute_value(4, (*v5_ThermalConductivity)); } } +Ifc2x3::IfcThermalMaterialProperties Ifc2x3::IfcThermalMaterialProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_BoilingPoint, std::optional< double > v4_FreezingPoint, std::optional< double > v5_ThermalConductivity) { set_attribute_value(0, (v1_Material)); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_BoilingPoint) {set_attribute_value(2, (*v3_BoilingPoint)); } if (v4_FreezingPoint) {set_attribute_value(3, (*v4_FreezingPoint)); } if (v5_ThermalConductivity) {set_attribute_value(4, (*v5_ThermalConductivity)); }; return *this; } // Function implementations for IfcTimeSeries std::string Ifc2x3::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11722,7 +11722,7 @@ void Ifc2x3::IfcTimeSeries::setUnit(const ::Ifc2x3::IfcUnit& v) { set_attribute_ std::vector<::Ifc2x3::IfcTimeSeriesReferenceRelationship> Ifc2x3::IfcTimeSeries::DocumentedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[910], 0)); } const ifcopenshell::entity& Ifc2x3::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC2X3_types[908]); } -void Ifc2x3::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc2x3::IfcTimeSeries Ifc2x3::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesReferenceRelationship ::Ifc2x3::IfcTimeSeries Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcTimeSeries>(); } @@ -11732,7 +11732,7 @@ void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(const s const ifcopenshell::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC2X3_types[910]); } -void Ifc2x3::IfcTimeSeriesReferenceRelationship::initialize(::Ifc2x3::IfcTimeSeries v1_ReferencedTimeSeries, std::vector< ::Ifc2x3::IfcDocumentSelect > v2_TimeSeriesReferences) { set_attribute_value(0, (v1_ReferencedTimeSeries));set_attribute_value(1, cast_vector(v2_TimeSeriesReferences)); } +Ifc2x3::IfcTimeSeriesReferenceRelationship Ifc2x3::IfcTimeSeriesReferenceRelationship::initialize(::Ifc2x3::IfcTimeSeries v1_ReferencedTimeSeries, std::vector< ::Ifc2x3::IfcDocumentSelect > v2_TimeSeriesReferences) { set_attribute_value(0, (v1_ReferencedTimeSeries));set_attribute_value(1, cast_vector(v2_TimeSeriesReferences));; return *this; } // Function implementations for IfcTimeSeriesSchedule std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(5); return cast_vector<::Ifc2x3::IfcDateTimeSelect>(es); } @@ -11744,7 +11744,7 @@ void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeries(const ::Ifc2x3::IfcTimeSeries& const ifcopenshell::entity& Ifc2x3::IfcTimeSeriesSchedule::Class() { return *((ifcopenshell::entity*)IFC2X3_types[911]); } -void Ifc2x3::IfcTimeSeriesSchedule::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries v8_TimeSeries) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ApplicableDates) {set_attribute_value(5, cast_vector(*v6_ApplicableDates)); }set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class(),(size_t)v7_TimeSeriesScheduleType)));set_attribute_value(7, (v8_TimeSeries)); } +Ifc2x3::IfcTimeSeriesSchedule Ifc2x3::IfcTimeSeriesSchedule::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries v8_TimeSeries) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ApplicableDates) {set_attribute_value(5, cast_vector(*v6_ApplicableDates)); }set_attribute_value(6, (enumeration_reference(&::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class(),(size_t)v7_TimeSeriesScheduleType)));set_attribute_value(7, (v8_TimeSeries));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc2x3::IfcValue > Ifc2x3::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcValue>(es); } @@ -11752,19 +11752,19 @@ void Ifc2x3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc2x3::IfcV const ifcopenshell::entity& Ifc2x3::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC2X3_types[913]); } -void Ifc2x3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc2x3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc2x3::IfcTimeSeriesValue Ifc2x3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc2x3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc2x3::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC2X3_types[915]); } -void Ifc2x3::IfcTopologicalRepresentationItem::initialize() { } +Ifc2x3::IfcTopologicalRepresentationItem Ifc2x3::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc2x3::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC2X3_types[916]); } -void Ifc2x3::IfcTopologyRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc2x3::IfcTopologyRepresentation Ifc2x3::IfcTopologyRepresentation::initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcTransformerType ::Ifc2x3::IfcTransformerTypeEnum::Value Ifc2x3::IfcTransformerType::PredefinedType() const { return ::Ifc2x3::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -11772,7 +11772,7 @@ void Ifc2x3::IfcTransformerType::setPredefinedType(const ::Ifc2x3::IfcTransforme const ifcopenshell::entity& Ifc2x3::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[918]); } -void Ifc2x3::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcTransformerType Ifc2x3::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > Ifc2x3::IfcTransportElement::OperationType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11784,7 +11784,7 @@ void Ifc2x3::IfcTransportElement::setCapacityByNumber(const std::optional< doubl const ifcopenshell::entity& Ifc2x3::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[921]); } -void Ifc2x3::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v9_OperationType, std::optional< double > v10_CapacityByWeight, std::optional< double > v11_CapacityByNumber) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OperationType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_OperationType))); } if (v10_CapacityByWeight) {set_attribute_value(9, (*v10_CapacityByWeight)); } if (v11_CapacityByNumber) {set_attribute_value(10, (*v11_CapacityByNumber)); } } +Ifc2x3::IfcTransportElement Ifc2x3::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v9_OperationType, std::optional< double > v10_CapacityByWeight, std::optional< double > v11_CapacityByNumber) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OperationType) {set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_OperationType))); } if (v10_CapacityByWeight) {set_attribute_value(9, (*v10_CapacityByWeight)); } if (v11_CapacityByNumber) {set_attribute_value(10, (*v11_CapacityByNumber)); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc2x3::IfcTransportElementTypeEnum::Value Ifc2x3::IfcTransportElementType::PredefinedType() const { return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11792,7 +11792,7 @@ void Ifc2x3::IfcTransportElementType::setPredefinedType(const ::Ifc2x3::IfcTrans const ifcopenshell::entity& Ifc2x3::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[922]); } -void Ifc2x3::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcTransportElementType Ifc2x3::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc2x3::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -11806,7 +11806,7 @@ void Ifc2x3::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_attrib const ifcopenshell::entity& Ifc2x3::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[924]); } -void Ifc2x3::IfcTrapeziumProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc2x3::IfcTrapeziumProfileDef Ifc2x3::IfcTrapeziumProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc2x3::IfcCurve Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcCurve>(); } @@ -11822,7 +11822,7 @@ void Ifc2x3::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc2x3::IfcTrimmin const ifcopenshell::entity& Ifc2x3::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC2X3_types[925]); } -void Ifc2x3::IfcTrimmedCurve::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc2x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc2x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc2x3::IfcTrimmedCurve Ifc2x3::IfcTrimmedCurve::initialize(::Ifc2x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc2x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc2x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundleType ::Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc2x3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -11830,7 +11830,7 @@ void Ifc2x3::IfcTubeBundleType::setPredefinedType(const ::Ifc2x3::IfcTubeBundleT const ifcopenshell::entity& Ifc2x3::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[929]); } -void Ifc2x3::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcTubeBundleType Ifc2x3::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTwoDirectionRepeatFactor ::Ifc2x3::IfcVector Ifc2x3::IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc2x3::IfcVector>(); } @@ -11838,7 +11838,7 @@ void Ifc2x3::IfcTwoDirectionRepeatFactor::setSecondRepeatFactor(const ::Ifc2x3:: const ifcopenshell::entity& Ifc2x3::IfcTwoDirectionRepeatFactor::Class() { return *((ifcopenshell::entity*)IFC2X3_types[931]); } -void Ifc2x3::IfcTwoDirectionRepeatFactor::initialize(::Ifc2x3::IfcVector v1_RepeatFactor, ::Ifc2x3::IfcVector v2_SecondRepeatFactor) { set_attribute_value(0, (v1_RepeatFactor));set_attribute_value(1, (v2_SecondRepeatFactor)); } +Ifc2x3::IfcTwoDirectionRepeatFactor Ifc2x3::IfcTwoDirectionRepeatFactor::initialize(::Ifc2x3::IfcVector v1_RepeatFactor, ::Ifc2x3::IfcVector v2_SecondRepeatFactor) { set_attribute_value(0, (v1_RepeatFactor));set_attribute_value(1, (v2_SecondRepeatFactor));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc2x3::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -11849,7 +11849,7 @@ void Ifc2x3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< std::vector<::Ifc2x3::IfcRelDefinesByType> Ifc2x3::IfcTypeObject::ObjectTypeOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC2X3_types[704], 5)); } const ifcopenshell::entity& Ifc2x3::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC2X3_types[932]); } -void Ifc2x3::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc2x3::IfcTypeObject Ifc2x3::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > Ifc2x3::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc2x3::IfcRepresentationMap>(es); } @@ -11859,7 +11859,7 @@ void Ifc2x3::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc2x3::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC2X3_types[933]); } -void Ifc2x3::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcTypeProduct Ifc2x3::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc2x3::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11881,7 +11881,7 @@ void Ifc2x3::IfcUShapeProfileDef::setCentreOfGravityInX(const std::optional< dou const ifcopenshell::entity& Ifc2x3::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[939]); } -void Ifc2x3::IfcUShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope, std::optional< double > v11_CentreOfGravityInX) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } if (v11_CentreOfGravityInX) {set_attribute_value(10, (*v11_CentreOfGravityInX)); } } +Ifc2x3::IfcUShapeProfileDef Ifc2x3::IfcUShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope, std::optional< double > v11_CentreOfGravityInX) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } if (v11_CentreOfGravityInX) {set_attribute_value(10, (*v11_CentreOfGravityInX)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc2x3::IfcUnit > Ifc2x3::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcUnit>(es); } @@ -11889,7 +11889,7 @@ void Ifc2x3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc2x3::IfcUnit >& const ifcopenshell::entity& Ifc2x3::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC2X3_types[937]); } -void Ifc2x3::IfcUnitAssignment::initialize(std::vector< ::Ifc2x3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc2x3::IfcUnitAssignment Ifc2x3::IfcUnitAssignment::initialize(std::vector< ::Ifc2x3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -11897,7 +11897,7 @@ void Ifc2x3::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc2x3::IfcUnita const ifcopenshell::entity& Ifc2x3::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[935]); } -void Ifc2x3::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcUnitaryEquipmentType Ifc2x3::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValveType ::Ifc2x3::IfcValveTypeEnum::Value Ifc2x3::IfcValveType::PredefinedType() const { return ::Ifc2x3::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -11905,7 +11905,7 @@ void Ifc2x3::IfcValveType::setPredefinedType(const ::Ifc2x3::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc2x3::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[941]); } -void Ifc2x3::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcValveType Ifc2x3::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc2x3::IfcDirection Ifc2x3::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcDirection>(); } @@ -11915,13 +11915,13 @@ void Ifc2x3::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v const ifcopenshell::entity& Ifc2x3::IfcVector::Class() { return *((ifcopenshell::entity*)IFC2X3_types[944]); } -void Ifc2x3::IfcVector::initialize(::Ifc2x3::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc2x3::IfcVector Ifc2x3::IfcVector::initialize(::Ifc2x3::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc2x3::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC2X3_types[946]); } -void Ifc2x3::IfcVertex::initialize() { } +Ifc2x3::IfcVertex Ifc2x3::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexBasedTextureMap std::vector< ::Ifc2x3::IfcTextureVertex > Ifc2x3::IfcVertexBasedTextureMap::TextureVertices() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcTextureVertex>(es); } @@ -11931,7 +11931,7 @@ void Ifc2x3::IfcVertexBasedTextureMap::setTexturePoints(const std::vector< ::Ifc const ifcopenshell::entity& Ifc2x3::IfcVertexBasedTextureMap::Class() { return *((ifcopenshell::entity*)IFC2X3_types[947]); } -void Ifc2x3::IfcVertexBasedTextureMap::initialize(std::vector< ::Ifc2x3::IfcTextureVertex > v1_TextureVertices, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_TexturePoints) { set_attribute_value(0, cast_vector(v1_TextureVertices));set_attribute_value(1, cast_vector(v2_TexturePoints)); } +Ifc2x3::IfcVertexBasedTextureMap Ifc2x3::IfcVertexBasedTextureMap::initialize(std::vector< ::Ifc2x3::IfcTextureVertex > v1_TextureVertices, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_TexturePoints) { set_attribute_value(0, cast_vector(v1_TextureVertices));set_attribute_value(1, cast_vector(v2_TexturePoints));; return *this; } // Function implementations for IfcVertexLoop ::Ifc2x3::IfcVertex Ifc2x3::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcVertex>(); } @@ -11939,7 +11939,7 @@ void Ifc2x3::IfcVertexLoop::setLoopVertex(const ::Ifc2x3::IfcVertex& v) { set_at const ifcopenshell::entity& Ifc2x3::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC2X3_types[948]); } -void Ifc2x3::IfcVertexLoop::initialize(::Ifc2x3::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc2x3::IfcVertexLoop Ifc2x3::IfcVertexLoop::initialize(::Ifc2x3::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc2x3::IfcPoint Ifc2x3::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc2x3::IfcPoint>(); } @@ -11947,7 +11947,7 @@ void Ifc2x3::IfcVertexPoint::setVertexGeometry(const ::Ifc2x3::IfcPoint& v) { se const ifcopenshell::entity& Ifc2x3::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC2X3_types[949]); } -void Ifc2x3::IfcVertexPoint::initialize(::Ifc2x3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc2x3::IfcVertexPoint Ifc2x3::IfcVertexPoint::initialize(::Ifc2x3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value Ifc2x3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -11955,13 +11955,13 @@ void Ifc2x3::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc2x3::IfcVibr const ifcopenshell::entity& Ifc2x3::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[950]); } -void Ifc2x3::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcVibrationIsolatorType Ifc2x3::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc2x3::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC2X3_types[952]); } -void Ifc2x3::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcVirtualElement Ifc2x3::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc2x3::IfcGridAxis > Ifc2x3::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc2x3::IfcGridAxis>(es); } @@ -11971,19 +11971,19 @@ void Ifc2x3::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< d const ifcopenshell::entity& Ifc2x3::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC2X3_types[953]); } -void Ifc2x3::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc2x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc2x3::IfcVirtualGridIntersection Ifc2x3::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc2x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcWall const ifcopenshell::entity& Ifc2x3::IfcWall::Class() { return *((ifcopenshell::entity*)IFC2X3_types[956]); } -void Ifc2x3::IfcWall::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcWall Ifc2x3::IfcWall::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc2x3::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC2X3_types[957]); } -void Ifc2x3::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc2x3::IfcWallStandardCase Ifc2x3::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcWallType ::Ifc2x3::IfcWallTypeEnum::Value Ifc2x3::IfcWallType::PredefinedType() const { return ::Ifc2x3::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -11991,7 +11991,7 @@ void Ifc2x3::IfcWallType::setPredefinedType(const ::Ifc2x3::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc2x3::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[958]); } -void Ifc2x3::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcWallType Ifc2x3::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc2x3::IfcWasteTerminalTypeEnum::Value Ifc2x3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc2x3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11999,7 +11999,7 @@ void Ifc2x3::IfcWasteTerminalType::setPredefinedType(const ::Ifc2x3::IfcWasteTer const ifcopenshell::entity& Ifc2x3::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC2X3_types[962]); } -void Ifc2x3::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc2x3::IfcWasteTerminalType Ifc2x3::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWaterProperties std::optional< bool > Ifc2x3::IfcWaterProperties::IsPotable() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12019,7 +12019,7 @@ void Ifc2x3::IfcWaterProperties::setDissolvedSolidsContent(const std::optional< const ifcopenshell::entity& Ifc2x3::IfcWaterProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[964]); } -void Ifc2x3::IfcWaterProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< bool > v2_IsPotable, std::optional< double > v3_Hardness, std::optional< double > v4_AlkalinityConcentration, std::optional< double > v5_AcidityConcentration, std::optional< double > v6_ImpuritiesContent, std::optional< double > v7_PHLevel, std::optional< double > v8_DissolvedSolidsContent) { set_attribute_value(0, (v1_Material)); if (v2_IsPotable) {set_attribute_value(1, (*v2_IsPotable)); } if (v3_Hardness) {set_attribute_value(2, (*v3_Hardness)); } if (v4_AlkalinityConcentration) {set_attribute_value(3, (*v4_AlkalinityConcentration)); } if (v5_AcidityConcentration) {set_attribute_value(4, (*v5_AcidityConcentration)); } if (v6_ImpuritiesContent) {set_attribute_value(5, (*v6_ImpuritiesContent)); } if (v7_PHLevel) {set_attribute_value(6, (*v7_PHLevel)); } if (v8_DissolvedSolidsContent) {set_attribute_value(7, (*v8_DissolvedSolidsContent)); } } +Ifc2x3::IfcWaterProperties Ifc2x3::IfcWaterProperties::initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< bool > v2_IsPotable, std::optional< double > v3_Hardness, std::optional< double > v4_AlkalinityConcentration, std::optional< double > v5_AcidityConcentration, std::optional< double > v6_ImpuritiesContent, std::optional< double > v7_PHLevel, std::optional< double > v8_DissolvedSolidsContent) { set_attribute_value(0, (v1_Material)); if (v2_IsPotable) {set_attribute_value(1, (*v2_IsPotable)); } if (v3_Hardness) {set_attribute_value(2, (*v3_Hardness)); } if (v4_AlkalinityConcentration) {set_attribute_value(3, (*v4_AlkalinityConcentration)); } if (v5_AcidityConcentration) {set_attribute_value(4, (*v5_AcidityConcentration)); } if (v6_ImpuritiesContent) {set_attribute_value(5, (*v6_ImpuritiesContent)); } if (v7_PHLevel) {set_attribute_value(6, (*v7_PHLevel)); } if (v8_DissolvedSolidsContent) {set_attribute_value(7, (*v8_DissolvedSolidsContent)); }; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc2x3::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12029,7 +12029,7 @@ void Ifc2x3::IfcWindow::setOverallWidth(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc2x3::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC2X3_types[965]); } -void Ifc2x3::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } } +Ifc2x3::IfcWindow Ifc2x3::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -12053,7 +12053,7 @@ void Ifc2x3::IfcWindowLiningProperties::setShapeAspectStyle(const ::Ifc2x3::IfcS const ifcopenshell::entity& Ifc2x3::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[966]); } -void Ifc2x3::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc2x3::IfcShapeAspect v13_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); } +Ifc2x3::IfcWindowLiningProperties Ifc2x3::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc2x3::IfcShapeAspect v13_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc2x3::IfcWindowPanelOperationEnum::Value Ifc2x3::IfcWindowPanelProperties::OperationType() const { return ::Ifc2x3::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -12069,7 +12069,7 @@ void Ifc2x3::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc2x3::IfcSh const ifcopenshell::entity& Ifc2x3::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC2X3_types[969]); } -void Ifc2x3::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc2x3::IfcWindowPanelProperties Ifc2x3::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc2x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStyle ::Ifc2x3::IfcWindowStyleConstructionEnum::Value Ifc2x3::IfcWindowStyle::ConstructionType() const { return ::Ifc2x3::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -12083,7 +12083,7 @@ void Ifc2x3::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_value(11 const ifcopenshell::entity& Ifc2x3::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC2X3_types[970]); } -void Ifc2x3::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc2x3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc2x3::IfcWindowStyle Ifc2x3::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc2x3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc2x3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc2x3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWorkControl std::string Ifc2x3::IfcWorkControl::Identifier() const { std::string v = get_attribute_value(5); return v; } @@ -12109,19 +12109,19 @@ void Ifc2x3::IfcWorkControl::setUserDefinedControlType(const std::optional< std: const ifcopenshell::entity& Ifc2x3::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC2X3_types[973]); } -void Ifc2x3::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime));set_attribute_value(12, (v13_FinishTime)); if (v14_WorkControlType) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); } } +Ifc2x3::IfcWorkControl Ifc2x3::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime));set_attribute_value(12, (v13_FinishTime)); if (v14_WorkControlType) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; return *this; } // Function implementations for IfcWorkPlan const ifcopenshell::entity& Ifc2x3::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC2X3_types[975]); } -void Ifc2x3::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime));set_attribute_value(12, (v13_FinishTime)); if (v14_WorkControlType) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); } } +Ifc2x3::IfcWorkPlan Ifc2x3::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime));set_attribute_value(12, (v13_FinishTime)); if (v14_WorkControlType) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; return *this; } // Function implementations for IfcWorkSchedule const ifcopenshell::entity& Ifc2x3::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC2X3_types[976]); } -void Ifc2x3::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime));set_attribute_value(12, (v13_FinishTime)); if (v14_WorkControlType) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); } } +Ifc2x3::IfcWorkSchedule Ifc2x3::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime));set_attribute_value(12, (v13_FinishTime)); if (v14_WorkControlType) {set_attribute_value(13, (enumeration_reference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc2x3::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -12139,11 +12139,11 @@ void Ifc2x3::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double >& v const ifcopenshell::entity& Ifc2x3::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC2X3_types[979]); } -void Ifc2x3::IfcZShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc2x3::IfcZShapeProfileDef Ifc2x3::IfcZShapeProfileDef::initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone const ifcopenshell::entity& Ifc2x3::IfcZone::Class() { return *((ifcopenshell::entity*)IFC2X3_types[978]); } -void Ifc2x3::IfcZone::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc2x3::IfcZone Ifc2x3::IfcZone::initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc2x3.h b/src/ifcparse/schemas/Ifc2x3.h index ddc6a29556..3a13f0a19c 100644 --- a/src/ifcparse/schemas/Ifc2x3.h +++ b/src/ifcparse/schemas/Ifc2x3.h @@ -67,8 +67,7 @@ class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActo /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -136,8 +134,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -171,8 +168,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -210,8 +206,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. class IFC_PARSE_API IfcCharacterStyleSelect : public express::Select { public: - IfcCharacterStyleSelect() {} - explicit IfcCharacterStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -224,8 +219,7 @@ public: class IFC_PARSE_API IfcClassificationNotationSelect : public express::Select { public: - IfcClassificationNotationSelect() {} - explicit IfcClassificationNotationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -248,8 +242,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -270,8 +263,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -290,8 +282,7 @@ public: class IFC_PARSE_API IfcConditionCriterionSelect : public express::Select { public: - IfcConditionCriterionSelect() {} - explicit IfcConditionCriterionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -315,8 +306,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -339,8 +329,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -378,8 +367,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -402,8 +390,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -422,8 +409,7 @@ public: class IFC_PARSE_API IfcDateTimeSelect : public express::Select { public: - IfcDateTimeSelect() {} - explicit IfcDateTimeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -452,8 +438,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcDefinedSymbolSelect : public express::Select { public: - IfcDefinedSymbolSelect() {} - explicit IfcDefinedSymbolSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -545,8 +530,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -968,8 +952,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -988,8 +971,7 @@ public: class IFC_PARSE_API IfcDraughtingCalloutElement : public express::Select { public: - IfcDraughtingCalloutElement() {} - explicit IfcDraughtingCalloutElement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1020,8 +1002,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTileShapeSelect : public express::Select { public: - IfcFillAreaStyleTileShapeSelect() {} - explicit IfcFillAreaStyleTileShapeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1039,8 +1020,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1087,8 +1067,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1115,8 +1094,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1141,8 +1119,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1170,8 +1147,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1211,8 +1187,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1256,8 +1231,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1302,8 +1276,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1453,8 +1426,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1517,8 +1489,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1603,8 +1574,7 @@ public: class IFC_PARSE_API IfcOrientationSelect : public express::Select { public: - IfcOrientationSelect() {} - explicit IfcOrientationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1629,8 +1599,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1656,8 +1625,7 @@ public: /// IFC2x4 CHANGE The select type has been deprecated. class IFC_PARSE_API IfcPresentationStyleSelect : public express::Select { public: - IfcPresentationStyleSelect() {} - explicit IfcPresentationStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1710,8 +1678,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1748,8 +1715,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1809,8 +1775,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1862,8 +1827,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1890,8 +1854,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1918,8 +1881,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1952,8 +1914,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1996,8 +1957,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcSymbolStyleSelect : public express::Select { public: - IfcSymbolStyleSelect() {} - explicit IfcSymbolStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2028,8 +1988,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2056,8 +2015,7 @@ public: /// IFC2x3 CHANGE  The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. class IFC_PARSE_API IfcTextStyleSelect : public express::Select { public: - IfcTextStyleSelect() {} - explicit IfcTextStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2080,8 +2038,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2112,8 +2069,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2147,8 +2103,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2762,8 +2717,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2786,16 +2740,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -2807,16 +2760,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -2837,16 +2789,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -2862,31 +2813,29 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAheadOrBehind : public express::DeclaredType { public: - IfcAheadOrBehind() {} - explicit IfcAheadOrBehind (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAheadOrBehind_AHEAD, IfcAheadOrBehind_BEHIND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAheadOrBehind initialize(Value v); + IfcAheadOrBehind initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -2902,16 +2851,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -2929,16 +2877,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_GRILLE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_EYEBALL, IfcAirTerminalType_IRIS, IfcAirTerminalType_LINEARGRILLE, IfcAirTerminalType_LINEARDIFFUSER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -2959,16 +2906,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -2987,16 +2933,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -3007,16 +2952,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -3028,16 +2972,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -3054,16 +2997,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -3080,16 +3022,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -3108,16 +3049,15 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -3161,16 +3101,15 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -3215,16 +3154,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -3238,16 +3176,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -3261,16 +3198,15 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -3286,16 +3222,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -3310,16 +3245,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -3334,16 +3268,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -3360,16 +3293,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -3385,16 +3317,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIEDADDED, IfcChangeAction_MODIFIEDDELETED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -3409,16 +3340,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -3445,16 +3375,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -3473,16 +3402,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -3509,16 +3437,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -3536,16 +3463,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -3570,16 +3496,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -3601,16 +3526,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -3629,16 +3553,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROPORTIONAL, IfcControllerType_PROPORTIONALINTEGRAL, IfcControllerType_PROPORTIONALINTEGRALDERIVATIVE, IfcControllerType_TIMEDTWOPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -3662,16 +3585,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -3688,16 +3610,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -3715,16 +3636,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -3772,31 +3692,29 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCurrencyEnum : public express::DeclaredType { public: - IfcCurrencyEnum() {} - explicit IfcCurrencyEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurrency_AED, IfcCurrency_AES, IfcCurrency_ATS, IfcCurrency_AUD, IfcCurrency_BBD, IfcCurrency_BEG, IfcCurrency_BGL, IfcCurrency_BHD, IfcCurrency_BMD, IfcCurrency_BND, IfcCurrency_BRL, IfcCurrency_BSD, IfcCurrency_BWP, IfcCurrency_BZD, IfcCurrency_CAD, IfcCurrency_CBD, IfcCurrency_CHF, IfcCurrency_CLP, IfcCurrency_CNY, IfcCurrency_CYS, IfcCurrency_CZK, IfcCurrency_DDP, IfcCurrency_DEM, IfcCurrency_DKK, IfcCurrency_EGL, IfcCurrency_EST, IfcCurrency_EUR, IfcCurrency_FAK, IfcCurrency_FIM, IfcCurrency_FJD, IfcCurrency_FKP, IfcCurrency_FRF, IfcCurrency_GBP, IfcCurrency_GIP, IfcCurrency_GMD, IfcCurrency_GRX, IfcCurrency_HKD, IfcCurrency_HUF, IfcCurrency_ICK, IfcCurrency_IDR, IfcCurrency_ILS, IfcCurrency_INR, IfcCurrency_IRP, IfcCurrency_ITL, IfcCurrency_JMD, IfcCurrency_JOD, IfcCurrency_JPY, IfcCurrency_KES, IfcCurrency_KRW, IfcCurrency_KWD, IfcCurrency_KYD, IfcCurrency_LKR, IfcCurrency_LUF, IfcCurrency_MTL, IfcCurrency_MUR, IfcCurrency_MXN, IfcCurrency_MYR, IfcCurrency_NLG, IfcCurrency_NZD, IfcCurrency_OMR, IfcCurrency_PGK, IfcCurrency_PHP, IfcCurrency_PKR, IfcCurrency_PLN, IfcCurrency_PTN, IfcCurrency_QAR, IfcCurrency_RUR, IfcCurrency_SAR, IfcCurrency_SCR, IfcCurrency_SEK, IfcCurrency_SGD, IfcCurrency_SKP, IfcCurrency_THB, IfcCurrency_TRL, IfcCurrency_TTD, IfcCurrency_TWD, IfcCurrency_USD, IfcCurrency_VEB, IfcCurrency_VND, IfcCurrency_XEU, IfcCurrency_ZAR, IfcCurrency_ZWD, IfcCurrency_NOK} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurrencyEnum initialize(Value v); + IfcCurrencyEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -3810,16 +3728,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -3841,16 +3758,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -3863,16 +3779,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -3934,31 +3849,29 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDimensionExtentUsage : public express::DeclaredType { public: - IfcDimensionExtentUsage() {} - explicit IfcDimensionExtentUsage (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDimensionExtentUsage_ORIGIN, IfcDimensionExtentUsage_TARGET} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDimensionExtentUsage initialize(Value v); + IfcDimensionExtentUsage initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -3971,16 +3884,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -4001,16 +3913,15 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -4027,16 +3938,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -4044,16 +3954,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -4091,16 +4000,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -4112,16 +4020,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -4133,16 +4040,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -4316,16 +4222,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -4363,16 +4268,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -4392,16 +4296,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -4416,16 +4319,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -4459,46 +4361,43 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_COMPUTER, IfcElectricApplianceType_DIRECTWATERHEATER, IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_ELECTRICHEATER, IfcElectricApplianceType_FACSIMILE, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_INDIRECTWATERHEATER, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_PRINTER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_RADIANTHEATER, IfcElectricApplianceType_SCANNER, IfcElectricApplianceType_TELEPHONE, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_TV, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_WATERHEATER, IfcElectricApplianceType_WATERCOOLER, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricCurrentEnum : public express::DeclaredType { public: - IfcElectricCurrentEnum() {} - explicit IfcElectricCurrentEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricCurrent_ALTERNATING, IfcElectricCurrent_DIRECT, IfcElectricCurrent_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricCurrentEnum initialize(Value v); + IfcElectricCurrentEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricDistributionPointFunctionEnum : public express::DeclaredType { public: - IfcElectricDistributionPointFunctionEnum() {} - explicit IfcElectricDistributionPointFunctionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionPointFunction_ALARMPANEL, IfcElectricDistributionPointFunction_CONSUMERUNIT, IfcElectricDistributionPointFunction_CONTROLPANEL, IfcElectricDistributionPointFunction_DISTRIBUTIONBOARD, IfcElectricDistributionPointFunction_GASDETECTORPANEL, IfcElectricDistributionPointFunction_INDICATORPANEL, IfcElectricDistributionPointFunction_MIMICPANEL, IfcElectricDistributionPointFunction_MOTORCONTROLCENTRE, IfcElectricDistributionPointFunction_SWITCHBOARD, IfcElectricDistributionPointFunction_USERDEFINED, IfcElectricDistributionPointFunction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionPointFunctionEnum initialize(Value v); + IfcElectricDistributionPointFunctionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -4513,16 +4412,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -4537,31 +4435,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricHeaterTypeEnum : public express::DeclaredType { public: - IfcElectricHeaterTypeEnum() {} - explicit IfcElectricHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricHeaterType_ELECTRICPOINTHEATER, IfcElectricHeaterType_ELECTRICCABLEHEATER, IfcElectricHeaterType_ELECTRICMATHEATER, IfcElectricHeaterType_USERDEFINED, IfcElectricHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricHeaterTypeEnum initialize(Value v); + IfcElectricHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -4577,16 +4473,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -4600,16 +4495,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -4633,16 +4527,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -4659,46 +4552,43 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEnergySequenceEnum : public express::DeclaredType { public: - IfcEnergySequenceEnum() {} - explicit IfcEnergySequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEnergySequence_PRIMARY, IfcEnergySequence_SECONDARY, IfcEnergySequence_TERTIARY, IfcEnergySequence_AUXILIARY, IfcEnergySequence_USERDEFINED, IfcEnergySequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEnergySequenceEnum initialize(Value v); + IfcEnergySequenceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEnvironmentalImpactCategoryEnum : public express::DeclaredType { public: - IfcEnvironmentalImpactCategoryEnum() {} - explicit IfcEnvironmentalImpactCategoryEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEnvironmentalImpactCategory_COMBINEDVALUE, IfcEnvironmentalImpactCategory_DISPOSAL, IfcEnvironmentalImpactCategory_EXTRACTION, IfcEnvironmentalImpactCategory_INSTALLATION, IfcEnvironmentalImpactCategory_MANUFACTURE, IfcEnvironmentalImpactCategory_TRANSPORTATION, IfcEnvironmentalImpactCategory_USERDEFINED, IfcEnvironmentalImpactCategory_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEnvironmentalImpactCategoryEnum initialize(Value v); + IfcEnvironmentalImpactCategoryEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -4719,16 +4609,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -4746,16 +4635,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -4774,16 +4662,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -4801,16 +4688,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -4828,16 +4714,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -4850,16 +4735,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -4880,16 +4764,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -4909,16 +4792,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ELECTRICMETER, IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_FLOWMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -4937,31 +4819,29 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGasTerminalTypeEnum : public express::DeclaredType { public: - IfcGasTerminalTypeEnum() {} - explicit IfcGasTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGasTerminalType_GASAPPLIANCE, IfcGasTerminalType_GASBOOSTER, IfcGasTerminalType_GASBURNER, IfcGasTerminalType_USERDEFINED, IfcGasTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGasTerminalTypeEnum initialize(Value v); + IfcGasTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -5007,16 +4887,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -5027,16 +4906,15 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -5050,16 +4928,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -5084,16 +4961,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5153,16 +5029,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -5176,16 +5051,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -5197,16 +5071,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -5228,16 +5101,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_METALHALIDE, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -5251,16 +5123,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -5279,16 +5150,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -5310,16 +5180,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -5335,16 +5204,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -5370,16 +5238,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION_GROUP, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -5628,16 +5495,15 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5685,16 +5551,15 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -5708,16 +5573,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-46:1992: The null style type specifies, that a representation item is not styled. @@ -5730,16 +5594,15 @@ public: /// IFC2x4 CHANGE  The enumeration is deprecated. class IFC_PARSE_API IfcNullStyle : public express::DeclaredType { public: - IfcNullStyle() {} - explicit IfcNullStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNullStyle_NULL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNullStyle initialize(Value v); + IfcNullStyle initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -5747,16 +5610,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -5790,16 +5652,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_DESIGNINTENT, IfcObjective_HEALTHANDSAFETY, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -5817,16 +5678,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -5844,16 +5704,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -5880,16 +5739,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5917,16 +5775,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -5953,16 +5810,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -5980,16 +5836,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -6025,16 +5880,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -6054,16 +5908,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -6086,16 +5939,15 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -6114,16 +5966,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -6136,31 +5987,29 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcProjectOrderRecordTypeEnum : public express::DeclaredType { public: - IfcProjectOrderRecordTypeEnum() {} - explicit IfcProjectOrderRecordTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderRecordType_CHANGE, IfcProjectOrderRecordType_MAINTENANCE, IfcProjectOrderRecordType_MOVE, IfcProjectOrderRecordType_PURCHASE, IfcProjectOrderRecordType_WORK, IfcProjectOrderRecordType_USERDEFINED, IfcProjectOrderRecordType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderRecordTypeEnum initialize(Value v); + IfcProjectOrderRecordTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -6176,16 +6025,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -6196,31 +6044,29 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPropertySourceEnum : public express::DeclaredType { public: - IfcPropertySourceEnum() {} - explicit IfcPropertySourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySource_DESIGN, IfcPropertySource_DESIGNMAXIMUM, IfcPropertySource_DESIGNMINIMUM, IfcPropertySource_SIMULATED, IfcPropertySource_ASBUILT, IfcPropertySource_COMMISSIONING, IfcPropertySource_MEASURED, IfcPropertySource_USERDEFINED, IfcPropertySource_NOTKNOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySourceEnum initialize(Value v); + IfcPropertySourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -6240,16 +6086,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHFAILUREDEVICE, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -6282,16 +6127,15 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -6316,16 +6160,15 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -6341,16 +6184,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -6403,16 +6245,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -6433,16 +6274,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -6466,16 +6306,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -6489,16 +6328,15 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcResourceConsumptionEnum indicates how a construction resource is consumed during its use. The IfcResourceConsumptionEnum contains the following: @@ -6515,31 +6353,29 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0. class IFC_PARSE_API IfcResourceConsumptionEnum : public express::DeclaredType { public: - IfcResourceConsumptionEnum() {} - explicit IfcResourceConsumptionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcResourceConsumption_CONSUMED, IfcResourceConsumption_PARTIALLYCONSUMED, IfcResourceConsumption_NOTCONSUMED, IfcResourceConsumption_OCCUPIED, IfcResourceConsumption_PARTIALLYOCCUPIED, IfcResourceConsumption_NOTOCCUPIED, IfcResourceConsumption_USERDEFINED, IfcResourceConsumption_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcResourceConsumptionEnum initialize(Value v); + IfcResourceConsumptionEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRibPlateDirectionEnum : public express::DeclaredType { public: - IfcRibPlateDirectionEnum() {} - explicit IfcRibPlateDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRibPlateDirection_DIRECTION_X, IfcRibPlateDirection_DIRECTION_Y} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRibPlateDirectionEnum initialize(Value v); + IfcRibPlateDirectionEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -6573,16 +6409,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -6653,16 +6488,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -6694,16 +6528,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -6747,16 +6580,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -6780,16 +6612,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -6804,16 +6635,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -6846,16 +6676,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -6865,46 +6694,43 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcServiceLifeFactorTypeEnum : public express::DeclaredType { public: - IfcServiceLifeFactorTypeEnum() {} - explicit IfcServiceLifeFactorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcServiceLifeFactorType_A_QUALITYOFCOMPONENTS, IfcServiceLifeFactorType_B_DESIGNLEVEL, IfcServiceLifeFactorType_C_WORKEXECUTIONLEVEL, IfcServiceLifeFactorType_D_INDOORENVIRONMENT, IfcServiceLifeFactorType_E_OUTDOORENVIRONMENT, IfcServiceLifeFactorType_F_INUSECONDITIONS, IfcServiceLifeFactorType_G_MAINTENANCELEVEL, IfcServiceLifeFactorType_USERDEFINED, IfcServiceLifeFactorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcServiceLifeFactorTypeEnum initialize(Value v); + IfcServiceLifeFactorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcServiceLifeTypeEnum : public express::DeclaredType { public: - IfcServiceLifeTypeEnum() {} - explicit IfcServiceLifeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcServiceLifeType_ACTUALSERVICELIFE, IfcServiceLifeType_EXPECTEDSERVICELIFE, IfcServiceLifeType_OPTIMISTICREFERENCESERVICELIFE, IfcServiceLifeType_PESSIMISTICREFERENCESERVICELIFE, IfcServiceLifeType_REFERENCESERVICELIFE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcServiceLifeTypeEnum initialize(Value v); + IfcServiceLifeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6941,31 +6767,29 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSoundScaleEnum : public express::DeclaredType { public: - IfcSoundScaleEnum() {} - explicit IfcSoundScaleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSoundScale_DBA, IfcSoundScale_DBB, IfcSoundScale_DBC, IfcSoundScale_NC, IfcSoundScale_NR, IfcSoundScale_USERDEFINED, IfcSoundScale_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSoundScaleEnum initialize(Value v); + IfcSoundScaleEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -6982,16 +6806,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_SECTIONALRADIATOR, IfcSpaceHeaterType_PANELRADIATOR, IfcSpaceHeaterType_TUBULARRADIATOR, IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_BASEBOARDHEATER, IfcSpaceHeaterType_FINNEDTUBEUNIT, IfcSpaceHeaterType_UNITHEATER, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7031,16 +6854,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -7054,16 +6876,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -7083,16 +6904,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -7190,16 +7010,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -7217,46 +7036,43 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcStructuralCurveTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveTypeEnum() {} - explicit IfcStructuralCurveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveType_RIGID_JOINED_MEMBER, IfcStructuralCurveType_PIN_JOINED_MEMBER, IfcStructuralCurveType_CABLE, IfcStructuralCurveType_TENSION_MEMBER, IfcStructuralCurveType_COMPRESSION_MEMBER, IfcStructuralCurveType_USERDEFINED, IfcStructuralCurveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveTypeEnum initialize(Value v); + IfcStructuralCurveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcStructuralSurfaceTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceTypeEnum() {} - explicit IfcStructuralSurfaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceType_BENDING_ELEMENT, IfcStructuralSurfaceType_MEMBRANE_ELEMENT, IfcStructuralSurfaceType_SHELL, IfcStructuralSurfaceType_USERDEFINED, IfcStructuralSurfaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceTypeEnum initialize(Value v); + IfcStructuralSurfaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -7272,31 +7088,29 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSurfaceTextureEnum : public express::DeclaredType { public: - IfcSurfaceTextureEnum() {} - explicit IfcSurfaceTextureEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceTexture_BUMP, IfcSurfaceTexture_OPACITY, IfcSurfaceTexture_REFLECTION, IfcSurfaceTexture_SELFILLUMINATION, IfcSurfaceTexture_SHININESS, IfcSurfaceTexture_SPECULAR, IfcSurfaceTexture_TEXTURE, IfcSurfaceTexture_TRANSPARENCYMAP, IfcSurfaceTexture_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceTextureEnum initialize(Value v); + IfcSurfaceTextureEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -7317,16 +7131,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -7354,31 +7167,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_PREFORMED, IfcTankType_SECTIONAL, IfcTankType_EXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -7390,46 +7201,43 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcThermalLoadSourceEnum : public express::DeclaredType { public: - IfcThermalLoadSourceEnum() {} - explicit IfcThermalLoadSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcThermalLoadSource_PEOPLE, IfcThermalLoadSource_LIGHTING, IfcThermalLoadSource_EQUIPMENT, IfcThermalLoadSource_VENTILATIONINDOORAIR, IfcThermalLoadSource_VENTILATIONOUTSIDEAIR, IfcThermalLoadSource_RECIRCULATEDAIR, IfcThermalLoadSource_EXHAUSTAIR, IfcThermalLoadSource_AIREXCHANGERATE, IfcThermalLoadSource_DRYBULBTEMPERATURE, IfcThermalLoadSource_RELATIVEHUMIDITY, IfcThermalLoadSource_INFILTRATION, IfcThermalLoadSource_USERDEFINED, IfcThermalLoadSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcThermalLoadSourceEnum initialize(Value v); + IfcThermalLoadSourceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcThermalLoadTypeEnum : public express::DeclaredType { public: - IfcThermalLoadTypeEnum() {} - explicit IfcThermalLoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcThermalLoadType_SENSIBLE, IfcThermalLoadType_LATENT, IfcThermalLoadType_RADIANT, IfcThermalLoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcThermalLoadTypeEnum initialize(Value v); + IfcThermalLoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -7445,31 +7253,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTimeSeriesScheduleTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesScheduleTypeEnum() {} - explicit IfcTimeSeriesScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesScheduleType_ANNUAL, IfcTimeSeriesScheduleType_MONTHLY, IfcTimeSeriesScheduleType_WEEKLY, IfcTimeSeriesScheduleType_DAILY, IfcTimeSeriesScheduleType_USERDEFINED, IfcTimeSeriesScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesScheduleTypeEnum initialize(Value v); + IfcTimeSeriesScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -7485,16 +7291,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -7515,16 +7320,15 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -7553,16 +7357,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -7578,16 +7381,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -7600,16 +7402,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -7650,16 +7451,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -7676,16 +7476,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -7733,16 +7532,15 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -7756,16 +7554,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7807,16 +7604,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_SHEAR, IfcWallType_ELEMENTEDWALL, IfcWallType_PLUMBINGWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -7835,16 +7631,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_GREASEINTERCEPTOR, IfcWasteTerminalType_OILINTERCEPTOR, IfcWasteTerminalType_PETROLINTERCEPTOR, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -7933,16 +7728,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -8011,16 +7805,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8032,16 +7825,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -8120,31 +7912,29 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcWorkControlTypeEnum : public express::DeclaredType { public: - IfcWorkControlTypeEnum() {} - explicit IfcWorkControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkControlType_ACTUAL, IfcWorkControlType_BASELINE, IfcWorkControlType_PLANNED, IfcWorkControlType_USERDEFINED, IfcWorkControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkControlTypeEnum initialize(Value v); + IfcWorkControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -8154,11 +7944,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -8168,11 +7957,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -8185,11 +7973,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -8199,11 +7986,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -8215,11 +8001,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -8229,11 +8014,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -8249,11 +8033,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -8306,11 +8089,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -8321,11 +8103,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -8336,11 +8117,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -8352,11 +8132,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -8373,21 +8152,19 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; class IFC_PARSE_API IfcDaylightSavingHour : public express::DeclaredType { public: - IfcDaylightSavingHour() {} - explicit IfcDaylightSavingHour (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDaylightSavingHour initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -8398,11 +8175,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -8414,11 +8190,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -8428,11 +8203,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -8443,11 +8217,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -8457,11 +8230,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -8471,11 +8243,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -8485,11 +8256,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -8501,11 +8271,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -8515,11 +8284,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -8529,11 +8297,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -8543,11 +8310,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -8566,11 +8332,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -8587,11 +8352,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -8619,11 +8383,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -8633,11 +8396,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -8647,11 +8409,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -8669,11 +8430,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -8683,11 +8443,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -8695,21 +8454,19 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcHourInDay : public express::DeclaredType { public: - IfcHourInDay() {} - explicit IfcHourInDay (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcHourInDay initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -8728,11 +8485,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -8742,11 +8498,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -8756,11 +8511,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -8772,11 +8526,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -8788,11 +8541,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -8800,11 +8552,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -8814,11 +8565,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -8828,11 +8578,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -8851,11 +8600,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -8867,11 +8615,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -8881,11 +8628,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -8895,11 +8641,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -8909,11 +8654,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -8923,11 +8667,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -8951,11 +8693,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -8967,11 +8708,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -8983,11 +8723,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -8997,11 +8736,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -9011,11 +8749,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -9025,11 +8762,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -9039,11 +8775,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -9055,11 +8790,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -9071,21 +8805,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcMinuteInHour : public express::DeclaredType { public: - IfcMinuteInHour() {} - explicit IfcMinuteInHour (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMinuteInHour initialize(int v); operator int() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -9095,11 +8827,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -9109,11 +8840,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -9123,11 +8853,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -9141,11 +8870,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -9155,11 +8883,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -9169,11 +8896,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -9183,11 +8909,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -9196,11 +8921,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -9261,11 +8985,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -9276,11 +8999,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -9288,11 +9010,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -9304,11 +9025,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -9318,11 +9038,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -9338,11 +9057,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -9353,11 +9071,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -9368,11 +9085,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -9382,11 +9098,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -9400,11 +9115,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -9414,11 +9128,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -9428,11 +9141,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -9447,11 +9159,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -9463,11 +9174,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -9477,11 +9187,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -9492,11 +9201,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -9506,21 +9214,19 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSecondInMinute : public express::DeclaredType { public: - IfcSecondInMinute() {} - explicit IfcSecondInMinute (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSecondInMinute initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -9530,11 +9236,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -9544,11 +9249,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -9558,11 +9262,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -9574,11 +9277,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -9588,11 +9290,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -9602,11 +9303,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -9616,11 +9316,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -9632,11 +9331,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -9650,11 +9348,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -9664,11 +9361,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -9684,11 +9380,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -9703,11 +9398,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -9725,11 +9419,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -9753,11 +9446,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -9772,11 +9464,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -9786,11 +9477,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -9800,11 +9490,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -9813,11 +9502,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -9826,11 +9514,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -9840,11 +9527,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -9856,11 +9542,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -9872,11 +9557,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -9885,11 +9569,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -9899,11 +9582,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -9913,11 +9595,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -9929,11 +9610,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -9943,11 +9623,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -9957,11 +9636,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -9971,21 +9649,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcYearNumber : public express::DeclaredType { public: - IfcYearNumber() {} - explicit IfcYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcYearNumber initialize(int v); operator int() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -10015,11 +9691,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -10029,11 +9704,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -10044,11 +9718,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -10065,8 +9738,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -10083,7 +9755,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc2x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -10092,8 +9764,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Purpose() const; @@ -10111,15 +9782,14 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc2x3::IfcOrganization ApplicationDeveloper() const; @@ -10135,7 +9805,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc2x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -10153,8 +9823,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -10187,7 +9856,7 @@ public: std::vector< IfcAppliedValueRelationship > IsComponentIn() const; // INVERSE IfcAppliedValueRelationship::Components static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate); }; /// An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value. /// @@ -10215,8 +9884,7 @@ public: /// Figure 240 — Applied value relationship multiple level class IFC_PARSE_API IfcAppliedValueRelationship : public express::Entity { public: - IfcAppliedValueRelationship() {} - explicit IfcAppliedValueRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The applied value (total or subtotal) of which the value being considered is a component. ::Ifc2x3::IfcAppliedValue ComponentOfTotal() const; @@ -10233,7 +9901,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAppliedValue v1_ComponentOfTotal, std::vector< ::Ifc2x3::IfcAppliedValue > v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description); + IfcAppliedValueRelationship initialize(::Ifc2x3::IfcAppliedValue v1_ComponentOfTotal, std::vector< ::Ifc2x3::IfcAppliedValue > v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -10242,8 +9910,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A general textual description of a design, work task, plan, etc. that is being approved for. std::optional< std::string > Description() const; @@ -10267,13 +9934,12 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect v2_ApprovalDateTime, std::optional< std::string > v3_ApprovalStatus, std::optional< std::string > v4_ApprovalLevel, std::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier); + IfcApproval initialize(std::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect v2_ApprovalDateTime, std::optional< std::string > v3_ApprovalStatus, std::optional< std::string > v4_ApprovalLevel, std::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier); }; class IFC_PARSE_API IfcApprovalActorRelationship : public express::Entity { public: - IfcApprovalActorRelationship() {} - explicit IfcApprovalActorRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcActorSelect Actor() const; void setActor(const ::Ifc2x3::IfcActorSelect& v); @@ -10283,13 +9949,12 @@ public: void setRole(const ::Ifc2x3::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcActorSelect v1_Actor, ::Ifc2x3::IfcApproval v2_Approval, ::Ifc2x3::IfcActorRole v3_Role); + IfcApprovalActorRelationship initialize(::Ifc2x3::IfcActorSelect v1_Actor, ::Ifc2x3::IfcApproval v2_Approval, ::Ifc2x3::IfcActorRole v3_Role); }; class IFC_PARSE_API IfcApprovalPropertyRelationship : public express::Entity { public: - IfcApprovalPropertyRelationship() {} - explicit IfcApprovalPropertyRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< ::Ifc2x3::IfcProperty > ApprovedProperties() const; void setApprovedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v); @@ -10297,7 +9962,7 @@ public: void setApproval(const ::Ifc2x3::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcProperty > v1_ApprovedProperties, ::Ifc2x3::IfcApproval v2_Approval); + IfcApprovalPropertyRelationship initialize(std::vector< ::Ifc2x3::IfcProperty > v1_ApprovedProperties, ::Ifc2x3::IfcApproval v2_Approval); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -10308,8 +9973,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public express::Entity { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcApproval RelatedApproval() const; void setRelatedApproval(const ::Ifc2x3::IfcApproval& v); @@ -10322,7 +9986,7 @@ public: void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcApproval v1_RelatedApproval, ::Ifc2x3::IfcApproval v2_RelatingApproval, std::optional< std::string > v3_Description, std::string v4_Name); + IfcApprovalRelationship initialize(::Ifc2x3::IfcApproval v1_RelatedApproval, ::Ifc2x3::IfcApproval v2_RelatingApproval, std::optional< std::string > v3_Description, std::string v4_Name); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -10341,15 +10005,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -10363,8 +10026,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; std::optional< double > LinearStiffnessByLengthX() const; void setLinearStiffnessByLengthX(const std::optional< double >& v); @@ -10383,7 +10045,7 @@ public: void setRotationalStiffnessByLengthZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByLengthX, std::optional< double > v3_LinearStiffnessByLengthY, std::optional< double > v4_LinearStiffnessByLengthZ, std::optional< double > v5_RotationalStiffnessByLengthX, std::optional< double > v6_RotationalStiffnessByLengthY, std::optional< double > v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByLengthX, std::optional< double > v3_LinearStiffnessByLengthY, std::optional< double > v4_LinearStiffnessByLengthZ, std::optional< double > v5_RotationalStiffnessByLengthX, std::optional< double > v6_RotationalStiffnessByLengthY, std::optional< double > v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -10397,8 +10059,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; std::optional< double > LinearStiffnessByAreaX() const; void setLinearStiffnessByAreaX(const std::optional< double >& v); @@ -10408,7 +10069,7 @@ public: void setLinearStiffnessByAreaZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByAreaX, std::optional< double > v3_LinearStiffnessByAreaY, std::optional< double > v4_LinearStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessByAreaX, std::optional< double > v3_LinearStiffnessByAreaY, std::optional< double > v4_LinearStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -10422,8 +10083,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; std::optional< double > LinearStiffnessX() const; void setLinearStiffnessX(const std::optional< double >& v); @@ -10442,7 +10102,7 @@ public: void setRotationalStiffnessZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -10455,21 +10115,19 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. std::optional< double > WarpingStiffness() const; void setWarpingStiffness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ, std::optional< double > v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearStiffnessX, std::optional< double > v3_LinearStiffnessY, std::optional< double > v4_LinearStiffnessZ, std::optional< double > v5_RotationalStiffnessX, std::optional< double > v6_RotationalStiffnessY, std::optional< double > v7_RotationalStiffnessZ, std::optional< double > v8_WarpingStiffness); }; class IFC_PARSE_API IfcCalendarDate : public express::Entity { public: - IfcCalendarDate() {} - explicit IfcCalendarDate (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; int DayComponent() const; void setDayComponent(const int& v); @@ -10479,7 +10137,7 @@ public: void setYearComponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent); + IfcCalendarDate initialize(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -10498,8 +10156,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public express::Entity { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source (or publisher) for this classification. /// @@ -10528,13 +10185,12 @@ public: std::vector< IfcClassificationItem > Contains() const; // INVERSE IfcClassificationItem::ItemOf static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate v3_EditionDate, std::string v4_Name); + IfcClassification initialize(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate v3_EditionDate, std::string v4_Name); }; class IFC_PARSE_API IfcClassificationItem : public express::Entity { public: - IfcClassificationItem() {} - explicit IfcClassificationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcClassificationNotationFacet Notation() const; void setNotation(const ::Ifc2x3::IfcClassificationNotationFacet& v); @@ -10546,13 +10202,12 @@ public: std::vector< IfcClassificationItemRelationship > IsClassifyingItemIn() const; // INVERSE IfcClassificationItemRelationship::RelatingItem static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcClassificationNotationFacet v1_Notation, ::Ifc2x3::IfcClassification v2_ItemOf, std::string v3_Title); + IfcClassificationItem initialize(::Ifc2x3::IfcClassificationNotationFacet v1_Notation, ::Ifc2x3::IfcClassification v2_ItemOf, std::string v3_Title); }; class IFC_PARSE_API IfcClassificationItemRelationship : public express::Entity { public: - IfcClassificationItemRelationship() {} - explicit IfcClassificationItemRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcClassificationItem RelatingItem() const; void setRelatingItem(const ::Ifc2x3::IfcClassificationItem& v); @@ -10560,31 +10215,29 @@ public: void setRelatedItems(const std::vector< ::Ifc2x3::IfcClassificationItem >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcClassificationItem v1_RelatingItem, std::vector< ::Ifc2x3::IfcClassificationItem > v2_RelatedItems); + IfcClassificationItemRelationship initialize(::Ifc2x3::IfcClassificationItem v1_RelatingItem, std::vector< ::Ifc2x3::IfcClassificationItem > v2_RelatedItems); }; class IFC_PARSE_API IfcClassificationNotation : public express::Entity { public: - IfcClassificationNotation() {} - explicit IfcClassificationNotation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< ::Ifc2x3::IfcClassificationNotationFacet > NotationFacets() const; void setNotationFacets(const std::vector< ::Ifc2x3::IfcClassificationNotationFacet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcClassificationNotationFacet > v1_NotationFacets); + IfcClassificationNotation initialize(std::vector< ::Ifc2x3::IfcClassificationNotationFacet > v1_NotationFacets); }; class IFC_PARSE_API IfcClassificationNotationFacet : public express::Entity { public: - IfcClassificationNotationFacet() {} - explicit IfcClassificationNotationFacet (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::string NotationValue() const; void setNotationValue(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_NotationValue); + IfcClassificationNotationFacet initialize(std::string v1_NotationValue); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -10593,8 +10246,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public express::Entity { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -10604,7 +10256,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -10622,12 +10274,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -10647,8 +10298,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc2x3::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -10658,13 +10308,12 @@ public: void setPointOnRelatedElement(const ::Ifc2x3::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; class IFC_PARSE_API IfcConnectionPortGeometry : public IfcConnectionGeometry { public: - IfcConnectionPortGeometry() {} - explicit IfcConnectionPortGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; ::Ifc2x3::IfcAxis2Placement LocationAtRelatingElement() const; void setLocationAtRelatingElement(const ::Ifc2x3::IfcAxis2Placement& v); @@ -10674,7 +10323,7 @@ public: void setProfileOfPort(const ::Ifc2x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef v3_ProfileOfPort); + IfcConnectionPortGeometry initialize(::Ifc2x3::IfcAxis2Placement v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef v3_ProfileOfPort); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -10686,8 +10335,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc2x3::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -10697,7 +10345,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc2x3::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc2x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -10713,8 +10361,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -10748,7 +10395,7 @@ public: std::vector< IfcConstraintAggregationRelationship > IsAggregatedIn() const; // INVERSE IfcConstraintAggregationRelationship::RelatedConstraints static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically. /// @@ -10763,8 +10410,7 @@ public: /// Figure 237 — Constraint aggregation class IFC_PARSE_API IfcConstraintAggregationRelationship : public express::Entity { public: - IfcConstraintAggregationRelationship() {} - explicit IfcConstraintAggregationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -10779,13 +10425,12 @@ public: void setLogicalAggregator(const ::Ifc2x3::IfcLogicalOperatorEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator); + IfcConstraintAggregationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator); }; class IFC_PARSE_API IfcConstraintClassificationRelationship : public express::Entity { public: - IfcConstraintClassificationRelationship() {} - explicit IfcConstraintClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcConstraint ClassifiedConstraint() const; void setClassifiedConstraint(const ::Ifc2x3::IfcConstraint& v); @@ -10793,7 +10438,7 @@ public: void setRelatedClassifications(const std::vector< ::Ifc2x3::IfcClassificationNotationSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcConstraint v1_ClassifiedConstraint, std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v2_RelatedClassifications); + IfcConstraintClassificationRelationship initialize(::Ifc2x3::IfcConstraint v1_ClassifiedConstraint, std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v2_RelatedClassifications); }; /// An IfcConstraintRelationship is an objectified relationship that enables instances of IfcConstraint and its /// subtypes to be associated to each other. Logical aggregation of instances of IfcConstraint and its subtypes is handled by the subtype IfcConstraintAggregationRelationship. @@ -10806,8 +10451,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship. class IFC_PARSE_API IfcConstraintRelationship : public express::Entity { public: - IfcConstraintRelationship() {} - explicit IfcConstraintRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -10821,13 +10465,12 @@ public: void setRelatedConstraints(const std::vector< ::Ifc2x3::IfcConstraint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints); + IfcConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc2x3::IfcConstraint > v4_RelatedConstraints); }; class IFC_PARSE_API IfcCoordinatedUniversalTimeOffset : public express::Entity { public: - IfcCoordinatedUniversalTimeOffset() {} - explicit IfcCoordinatedUniversalTimeOffset (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; int HourOffset() const; void setHourOffset(const int& v); @@ -10837,7 +10480,7 @@ public: void setSense(const ::Ifc2x3::IfcAheadOrBehind::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_HourOffset, std::optional< int > v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense); + IfcCoordinatedUniversalTimeOffset initialize(int v1_HourOffset, std::optional< int > v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -10883,8 +10526,7 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; /// Specification of the type of cost type used. /// @@ -10898,7 +10540,7 @@ public: void setCondition(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_CostType, std::optional< std::string > v8_Condition); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_CostType, std::optional< std::string > v8_Condition); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -10913,8 +10555,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public express::Entity { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc2x3::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -10935,7 +10576,7 @@ public: void setRateSource(const ::Ifc2x3::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMonetaryUnit v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation v5_RateSource); + IfcCurrencyRelationship initialize(::Ifc2x3::IfcMonetaryUnit v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation v5_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -10944,8 +10585,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public express::Entity { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -10955,7 +10595,7 @@ public: void setPatternList(const std::vector< ::Ifc2x3::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -10970,8 +10610,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public express::Entity { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -10984,7 +10623,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -10993,8 +10632,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public express::Entity { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The length of the visible segment in the pattern definition. /// @@ -11008,13 +10646,12 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; class IFC_PARSE_API IfcDateAndTime : public express::Entity { public: - IfcDateAndTime() {} - explicit IfcDateAndTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcCalendarDate DateComponent() const; void setDateComponent(const ::Ifc2x3::IfcCalendarDate& v); @@ -11022,7 +10659,7 @@ public: void setTimeComponent(const ::Ifc2x3::IfcLocalTime& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCalendarDate v1_DateComponent, ::Ifc2x3::IfcLocalTime v2_TimeComponent); + IfcDateAndTime initialize(::Ifc2x3::IfcCalendarDate v1_DateComponent, ::Ifc2x3::IfcLocalTime v2_TimeComponent); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -11033,8 +10670,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc2x3::IfcDerivedUnitElement > Elements() const; @@ -11046,7 +10682,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDerivedUnitElement > v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc2x3::IfcDerivedUnitElement > v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -11059,8 +10695,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc2x3::IfcNamedUnit Unit() const; @@ -11070,7 +10705,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc2x3::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -11091,8 +10726,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -11117,15 +10751,14 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation. /// /// HISTORY: New entity in IFC 2x class IFC_PARSE_API IfcDocumentElectronicFormat : public express::Entity { public: - IfcDocumentElectronicFormat() {} - explicit IfcDocumentElectronicFormat (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// File extension of electronic document used by computer operating system. std::optional< std::string > FileExtension() const; @@ -11138,15 +10771,14 @@ public: void setMimeSubtype(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_FileExtension, std::optional< std::string > v2_MimeContentType, std::optional< std::string > v3_MimeSubtype); + IfcDocumentElectronicFormat initialize(std::optional< std::string > v1_FileExtension, std::optional< std::string > v2_MimeContentType, std::optional< std::string > v3_MimeSubtype); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public express::Entity { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifier that uniquely identifies a document. std::string DocumentId() const; @@ -11214,7 +10846,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_DocumentId, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > > v4_DocumentReferences, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Editors, ::Ifc2x3::IfcDateAndTime v11_CreationTime, ::Ifc2x3::IfcDateAndTime v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate v14_ValidFrom, ::Ifc2x3::IfcCalendarDate v15_ValidUntil, std::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_DocumentId, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcDocumentReference > > v4_DocumentReferences, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Editors, ::Ifc2x3::IfcDateAndTime v11_CreationTime, ::Ifc2x3::IfcDateAndTime v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate v14_ValidFrom, ::Ifc2x3::IfcCalendarDate v15_ValidUntil, std::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -11226,8 +10858,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public express::Entity { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc2x3::IfcDocumentInformation RelatingDocument() const; @@ -11240,13 +10871,12 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDocumentInformation v1_RelatingDocument, std::vector< ::Ifc2x3::IfcDocumentInformation > v2_RelatedDocuments, std::optional< std::string > v3_RelationshipType); + IfcDocumentInformationRelationship initialize(::Ifc2x3::IfcDocumentInformation v1_RelatingDocument, std::vector< ::Ifc2x3::IfcDocumentInformation > v2_RelatedDocuments, std::optional< std::string > v3_RelationshipType); }; class IFC_PARSE_API IfcDraughtingCalloutRelationship : public express::Entity { public: - IfcDraughtingCalloutRelationship() {} - explicit IfcDraughtingCalloutRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -11258,13 +10888,12 @@ public: void setRelatedDraughtingCallout(const ::Ifc2x3::IfcDraughtingCallout& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout); + IfcDraughtingCalloutRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout); }; class IFC_PARSE_API IfcEnvironmentalImpactValue : public IfcAppliedValue { public: - IfcEnvironmentalImpactValue() {} - explicit IfcEnvironmentalImpactValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; std::string ImpactType() const; void setImpactType(const std::string& v); @@ -11274,7 +10903,7 @@ public: void setUserDefinedCategory(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, std::optional< std::string > v9_UserDefinedCategory); + IfcEnvironmentalImpactValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, std::optional< std::string > v9_UserDefinedCategory); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -11287,8 +10916,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -11302,7 +10930,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -11314,12 +10942,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -11330,12 +10957,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// An externally defined symbol is a symbol that gets its shape information by an agreed reference to an external source. /// @@ -11348,12 +10974,11 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedSymbol : public IfcExternalReference { public: - IfcExternallyDefinedSymbol() {} - explicit IfcExternallyDefinedSymbol (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcExternallyDefinedSymbol initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -11364,12 +10989,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -11396,8 +11020,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -11414,15 +11037,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. ::Ifc2x3::IfcDateTimeSelect TimeStamp() const; @@ -11432,7 +11054,7 @@ public: void setListValues(const std::vector< ::Ifc2x3::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDateTimeSelect v1_TimeStamp, std::vector< ::Ifc2x3::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(::Ifc2x3::IfcDateTimeSelect v1_TimeStamp, std::vector< ::Ifc2x3::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -11444,8 +11066,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public express::Entity { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name which is used to identify the library. std::string Name() const; @@ -11465,7 +11086,7 @@ public: void setLibraryReference(const std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc2x3::IfcOrganization v3_Publisher, ::Ifc2x3::IfcCalendarDate v4_VersionDate, std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > > v5_LibraryReference); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc2x3::IfcOrganization v3_Publisher, ::Ifc2x3::IfcCalendarDate v4_VersionDate, std::optional< std::vector< ::Ifc2x3::IfcLibraryReference > > v5_LibraryReference); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -11476,13 +11097,12 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; std::vector< IfcLibraryInformation > ReferenceIntoLibrary() const; // INVERSE IfcLibraryInformation::LibraryReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -11501,8 +11121,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -11517,15 +11136,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc2x3::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -11535,13 +11153,12 @@ public: void setDistributionData(const std::vector< ::Ifc2x3::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc2x3::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc2x3::IfcLightDistributionData > v2_DistributionData); }; class IFC_PARSE_API IfcLocalTime : public express::Entity { public: - IfcLocalTime() {} - explicit IfcLocalTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; int HourComponent() const; void setHourComponent(const int& v); @@ -11555,7 +11172,7 @@ public: void setDaylightSavingOffset(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_HourComponent, std::optional< int > v2_MinuteComponent, std::optional< double > v3_SecondComponent, ::Ifc2x3::IfcCoordinatedUniversalTimeOffset v4_Zone, std::optional< int > v5_DaylightSavingOffset); + IfcLocalTime initialize(int v1_HourComponent, std::optional< int > v2_MinuteComponent, std::optional< double > v3_SecondComponent, ::Ifc2x3::IfcCoordinatedUniversalTimeOffset v4_Zone, std::optional< int > v5_DaylightSavingOffset); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -11586,8 +11203,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public express::Entity { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the material. /// @@ -11600,7 +11216,7 @@ public: std::vector< IfcMaterialClassificationRelationship > ClassifiedAs() const; // INVERSE IfcMaterialClassificationRelationship::ClassifiedMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcMaterial initialize(std::string v1_Name); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -11609,8 +11225,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc2x3::IfcClassificationNotationSelect > MaterialClassifications() const; @@ -11620,7 +11235,7 @@ public: void setClassifiedMaterial(const ::Ifc2x3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v1_MaterialClassifications, ::Ifc2x3::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc2x3::IfcClassificationNotationSelect > v1_MaterialClassifications, ::Ifc2x3::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -11647,8 +11262,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public express::Entity { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc2x3::IfcMaterial Material() const; @@ -11670,7 +11284,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated); + IfcMaterialLayer initialize(::Ifc2x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -11707,8 +11321,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public express::Entity { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc2x3::IfcMaterialLayer > MaterialLayers() const; @@ -11718,7 +11331,7 @@ public: void setLayerSetName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName); + IfcMaterialLayerSet initialize(std::vector< ::Ifc2x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -11822,8 +11435,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public express::Entity { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc2x3::IfcMaterialLayerSet ForLayerSet() const; @@ -11844,7 +11456,7 @@ public: void setOffsetFromReferenceLine(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc2x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc2x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine); + IfcMaterialLayerSetUsage initialize(::Ifc2x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc2x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc2x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -11865,15 +11477,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc2x3::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc2x3::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc2x3::IfcMaterial > v1_Materials); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -11899,8 +11510,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public express::Entity { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Reference to the material definition to which the set of properties is assigned. /// @@ -11909,7 +11519,7 @@ public: void setMaterial(const ::Ifc2x3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material); + IfcMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -11923,8 +11533,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc2x3::IfcValue ValueComponent() const; @@ -11934,13 +11543,12 @@ public: void setUnitComponent(const ::Ifc2x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcValue v1_ValueComponent, ::Ifc2x3::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc2x3::IfcValue v1_ValueComponent, ::Ifc2x3::IfcUnit v2_UnitComponent); }; class IFC_PARSE_API IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: - IfcMechanicalMaterialProperties() {} - explicit IfcMechanicalMaterialProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > DynamicViscosity() const; void setDynamicViscosity(const std::optional< double >& v); @@ -11954,13 +11562,12 @@ public: void setThermalExpansionCoefficient(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient); + IfcMechanicalMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient); }; class IFC_PARSE_API IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { public: - IfcMechanicalSteelMaterialProperties() {} - explicit IfcMechanicalSteelMaterialProperties (const std::weak_ptr& data) : IfcMechanicalMaterialProperties(data) {} + using IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties; std::optional< double > YieldStress() const; void setYieldStress(const std::optional< double >& v); @@ -11978,7 +11585,7 @@ public: void setRelaxations(const std::optional< std::vector< ::Ifc2x3::IfcRelaxation > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_YieldStress, std::optional< double > v8_UltimateStress, std::optional< double > v9_UltimateStrain, std::optional< double > v10_HardeningModule, std::optional< double > v11_ProportionalStress, std::optional< double > v12_PlasticStrain, std::optional< std::vector< ::Ifc2x3::IfcRelaxation > > v13_Relaxations); + IfcMechanicalSteelMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_YieldStress, std::optional< double > v8_UltimateStress, std::optional< double > v9_UltimateStrain, std::optional< double > v10_HardeningModule, std::optional< double > v11_ProportionalStress, std::optional< double > v12_PlasticStrain, std::optional< std::vector< ::Ifc2x3::IfcRelaxation > > v13_Relaxations); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -12034,8 +11641,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc2x3::IfcBenchmarkEnum::Value Benchmark() const; @@ -12048,7 +11654,7 @@ public: void setDataValue(const ::Ifc2x3::IfcMetricValueSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect v10_DataValue); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect v10_DataValue); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -12057,15 +11663,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. ::Ifc2x3::IfcCurrencyEnum::Value Currency() const; void setCurrency(const ::Ifc2x3::IfcCurrencyEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurrencyEnum::Value v1_Currency); + IfcMonetaryUnit initialize(::Ifc2x3::IfcCurrencyEnum::Value v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -12074,8 +11679,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc2x3::IfcDimensionalExponents Dimensions() const; @@ -12085,7 +11689,7 @@ public: void setUnitType(const ::Ifc2x3::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -12100,14 +11704,13 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement std::vector< IfcLocalPlacement > ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(); + IfcObjectPlacement initialize(); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -12120,8 +11723,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. ::Ifc2x3::IfcMetric BenchmarkValues() const; @@ -12137,13 +11739,12 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcMetric v8_BenchmarkValues, ::Ifc2x3::IfcMetric v9_ResultValues, ::Ifc2x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcMetric v8_BenchmarkValues, ::Ifc2x3::IfcMetric v9_ResultValues, ::Ifc2x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; class IFC_PARSE_API IfcOpticalMaterialProperties : public IfcMaterialProperties { public: - IfcOpticalMaterialProperties() {} - explicit IfcOpticalMaterialProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > VisibleTransmittance() const; void setVisibleTransmittance(const std::optional< double >& v); @@ -12165,7 +11766,7 @@ public: void setSolarReflectanceBack(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_VisibleTransmittance, std::optional< double > v3_SolarTransmittance, std::optional< double > v4_ThermalIrTransmittance, std::optional< double > v5_ThermalIrEmissivityBack, std::optional< double > v6_ThermalIrEmissivityFront, std::optional< double > v7_VisibleReflectanceBack, std::optional< double > v8_VisibleReflectanceFront, std::optional< double > v9_SolarReflectanceFront, std::optional< double > v10_SolarReflectanceBack); + IfcOpticalMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_VisibleTransmittance, std::optional< double > v3_SolarTransmittance, std::optional< double > v4_ThermalIrTransmittance, std::optional< double > v5_ThermalIrEmissivityBack, std::optional< double > v6_ThermalIrEmissivityFront, std::optional< double > v7_VisibleReflectanceBack, std::optional< double > v8_VisibleReflectanceFront, std::optional< double > v9_SolarReflectanceFront, std::optional< double > v10_SolarReflectanceBack); }; /// A named and structured grouping with a corporate identity. /// @@ -12177,8 +11778,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > Id() const; void setId(const std::optional< std::string >& v); @@ -12200,7 +11800,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Id, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Id, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v5_Addresses); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -12210,8 +11810,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public express::Entity { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the relationship is referred to. std::string Name() const; @@ -12227,7 +11826,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc2x3::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc2x3::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc2x3::IfcOrganization > v4_RelatedOrganizations); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -12241,8 +11840,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc2x3::IfcPersonAndOrganization OwningUser() const; @@ -12270,7 +11868,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc2x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc2x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc2x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc2x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc2x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -12283,8 +11881,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > Id() const; void setId(const std::optional< std::string >& v); @@ -12318,7 +11915,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Id, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Id, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc2x3::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -12327,8 +11924,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc2x3::IfcPerson ThePerson() const; @@ -12341,7 +11937,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc2x3::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcPerson v1_ThePerson, ::Ifc2x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc2x3::IfcPerson v1_ThePerson, ::Ifc2x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc2x3::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -12350,8 +11946,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -12362,7 +11957,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -12375,23 +11970,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc2x3::IfcNamedUnit Unit() const; void setUnit(const ::Ifc2x3::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -12422,7 +12015,7 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -12433,15 +12026,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public express::Entity { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; /// A predefined symbol is a symbol that gets its shape information by a conforming name that is specified within subtypes of the entity. /// @@ -12452,22 +12044,20 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedSymbol : public IfcPreDefinedItem { public: - IfcPreDefinedSymbol() {} - explicit IfcPreDefinedSymbol (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedSymbol initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { public: - IfcPreDefinedTerminatorSymbol() {} - explicit IfcPreDefinedTerminatorSymbol (const std::weak_ptr& data) : IfcPreDefinedSymbol(data) {} + using IfcPreDefinedSymbol::IfcPreDefinedSymbol; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTerminatorSymbol initialize(std::string v1_Name); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -12482,12 +12072,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -12506,8 +12095,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -12523,7 +12111,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -12540,8 +12128,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -12561,7 +12148,7 @@ public: void setLayerStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -12570,15 +12157,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -12587,15 +12173,14 @@ public: /// HISTORY New entity in Release IFC2x2. class IFC_PARSE_API IfcPresentationStyleAssignment : public express::Entity { public: - IfcPresentationStyleAssignment() {} - explicit IfcPresentationStyleAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc2x3::IfcPresentationStyleSelect > Styles() const; void setStyles(const std::vector< ::Ifc2x3::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v1_Styles); + IfcPresentationStyleAssignment initialize(std::vector< ::Ifc2x3::IfcPresentationStyleSelect > v1_Styles); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -12616,8 +12201,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -12630,13 +12214,12 @@ public: void setRepresentations(const std::vector< ::Ifc2x3::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations); }; class IFC_PARSE_API IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: - IfcProductsOfCombustionProperties() {} - explicit IfcProductsOfCombustionProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > SpecificHeatCapacity() const; void setSpecificHeatCapacity(const std::optional< double >& v); @@ -12648,7 +12231,7 @@ public: void setCO2Content(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_N20Content, std::optional< double > v4_COContent, std::optional< double > v5_CO2Content); + IfcProductsOfCombustionProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_N20Content, std::optional< double > v4_COContent, std::optional< double > v5_CO2Content); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -12822,8 +12405,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc2x3::IfcProfileTypeEnum::Value ProfileType() const; @@ -12833,7 +12415,7 @@ public: void setProfileName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -12848,8 +12430,7 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public express::Entity { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > ProfileName() const; void setProfileName(const std::optional< std::string >& v); @@ -12858,15 +12439,14 @@ public: void setProfileDefinition(const ::Ifc2x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public express::Entity { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -12879,13 +12459,12 @@ public: std::vector< IfcComplexProperty > PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; class IFC_PARSE_API IfcPropertyConstraintRelationship : public express::Entity { public: - IfcPropertyConstraintRelationship() {} - explicit IfcPropertyConstraintRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcConstraint RelatingConstraint() const; void setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v); @@ -12897,7 +12476,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcConstraint v1_RelatingConstraint, std::vector< ::Ifc2x3::IfcProperty > v2_RelatedProperties, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyConstraintRelationship initialize(::Ifc2x3::IfcConstraint v1_RelatingConstraint, std::vector< ::Ifc2x3::IfcProperty > v2_RelatedProperties, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -12909,8 +12488,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public express::Entity { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The property on which the relationship depends. ::Ifc2x3::IfcProperty DependingProperty() const; @@ -12927,7 +12505,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProperty v1_DependingProperty, ::Ifc2x3::IfcProperty v2_DependantProperty, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(::Ifc2x3::IfcProperty v1_DependingProperty, ::Ifc2x3::IfcProperty v2_DependantProperty, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Expression); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -12977,8 +12555,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public express::Entity { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of this enumeration. std::string Name() const; @@ -12991,7 +12568,7 @@ public: void setUnit(const ::Ifc2x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcValue > v2_EnumerationValues, ::Ifc2x3::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcValue > v2_EnumerationValues, ::Ifc2x3::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -13000,15 +12577,14 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; void setAreaValue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_AreaValue); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_AreaValue); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -13017,15 +12593,14 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; void setCountValue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_CountValue); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_CountValue); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -13034,15 +12609,14 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; void setLengthValue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_LengthValue); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_LengthValue); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -13051,15 +12625,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; void setTimeValue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_TimeValue); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_TimeValue); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -13068,15 +12641,14 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; void setVolumeValue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_VolumeValue); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_VolumeValue); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -13085,21 +12657,19 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; void setWeightValue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_WeightValue); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit v3_Unit, double v4_WeightValue); }; class IFC_PARSE_API IfcReferencesValueDocument : public express::Entity { public: - IfcReferencesValueDocument() {} - explicit IfcReferencesValueDocument (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcDocumentSelect ReferencedDocument() const; void setReferencedDocument(const ::Ifc2x3::IfcDocumentSelect& v); @@ -13111,7 +12681,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDocumentSelect v1_ReferencedDocument, std::vector< ::Ifc2x3::IfcAppliedValue > v2_ReferencingValues, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcReferencesValueDocument initialize(::Ifc2x3::IfcDocumentSelect v1_ReferencedDocument, std::vector< ::Ifc2x3::IfcAppliedValue > v2_ReferencingValues, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -13120,8 +12690,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public express::Entity { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -13143,13 +12712,12 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; class IFC_PARSE_API IfcRelaxation : public express::Entity { public: - IfcRelaxation() {} - explicit IfcRelaxation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; double RelaxationValue() const; void setRelaxationValue(const double& v); @@ -13157,7 +12725,7 @@ public: void setInitialStress(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_RelaxationValue, double v2_InitialStress); + IfcRelaxation initialize(double v1_RelaxationValue, double v2_InitialStress); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -13207,8 +12775,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc2x3::IfcRepresentationContext ContextOfItems() const; @@ -13228,7 +12795,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -13242,8 +12809,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -13254,7 +12820,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -13290,14 +12856,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -13312,8 +12877,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -13325,13 +12889,12 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc2x3::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc2x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc2x3::IfcRepresentation v2_MappedRepresentation); }; class IFC_PARSE_API IfcRibPlateProfileProperties : public IfcProfileProperties { public: - IfcRibPlateProfileProperties() {} - explicit IfcRibPlateProfileProperties (const std::weak_ptr& data) : IfcProfileProperties(data) {} + using IfcProfileProperties::IfcProfileProperties; std::optional< double > Thickness() const; void setThickness(const std::optional< double >& v); @@ -13345,7 +12908,7 @@ public: void setDirection(const ::Ifc2x3::IfcRibPlateDirectionEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_Thickness, std::optional< double > v4_RibHeight, std::optional< double > v5_RibWidth, std::optional< double > v6_RibSpacing, ::Ifc2x3::IfcRibPlateDirectionEnum::Value v7_Direction); + IfcRibPlateProfileProperties initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_Thickness, std::optional< double > v4_RibHeight, std::optional< double > v5_RibWidth, std::optional< double > v6_RibSpacing, ::Ifc2x3::IfcRibPlateDirectionEnum::Value v7_Direction); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -13358,8 +12921,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -13379,7 +12941,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -13390,8 +12952,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc2x3::IfcSIPrefix::Value > Prefix() const; @@ -13403,7 +12964,7 @@ public: void setName(const ::Ifc2x3::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc2x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc2x3::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc2x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc2x3::IfcSIUnitName::Value v4_Name); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -13412,8 +12973,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public express::Entity { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc2x3::IfcSectionTypeEnum::Value SectionType() const; @@ -13426,7 +12986,7 @@ public: void setEndProfile(const ::Ifc2x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc2x3::IfcProfileDef v2_StartProfile, ::Ifc2x3::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc2x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc2x3::IfcProfileDef v2_StartProfile, ::Ifc2x3::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -13437,8 +12997,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public express::Entity { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -13460,7 +13019,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc2x3::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc2x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc2x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -13501,8 +13060,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -13525,7 +13083,7 @@ public: void setPartOfProductDefinitionShape(const ::Ifc2x3::IfcProductDefinitionShape& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc2x3::IfcProductDefinitionShape v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc2x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc2x3::IfcProductDefinitionShape v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -13547,13 +13105,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -13692,66 +13249,61 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoad { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -13760,8 +13312,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; std::optional< double > DeltaT_Constant() const; void setDeltaT_Constant(const std::optional< double >& v); @@ -13771,7 +13322,7 @@ public: void setDeltaT_Z(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaT_Constant, std::optional< double > v3_DeltaT_Y, std::optional< double > v4_DeltaT_Z); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaT_Constant, std::optional< double > v3_DeltaT_Y, std::optional< double > v4_DeltaT_Z); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -13780,12 +13331,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -13817,8 +13367,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -13838,7 +13387,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -13849,12 +13398,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -13865,8 +13413,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc2x3::IfcSurfaceSide::Value Side() const; @@ -13876,7 +13423,7 @@ public: void setStyles(const std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc2x3::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -13891,8 +13438,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public express::Entity { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -13912,7 +13458,7 @@ public: void setReflectanceColour(const ::Ifc2x3::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc2x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc2x3::IfcColourRgb v3_TransmissionColour, ::Ifc2x3::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc2x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc2x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc2x3::IfcColourRgb v3_TransmissionColour, ::Ifc2x3::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -13921,8 +13467,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public express::Entity { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -13932,7 +13477,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -13943,15 +13488,14 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public express::Entity { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc2x3::IfcColourRgb SurfaceColour() const; void setSurfaceColour(const ::Ifc2x3::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour); + IfcSurfaceStyleShading initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -13973,15 +13517,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public express::Entity { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc2x3::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc2x3::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc2x3::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -14077,8 +13620,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public express::Entity { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -14095,7 +13637,7 @@ public: void setTextureTransform(const ::Ifc2x3::IfcCartesianTransformationOperator2D& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform); }; /// Definition from ISO/CD 10303-46:1992: The symbol style is the presentation style that indicates the presentation of annotation symbols. /// @@ -14104,15 +13646,14 @@ public: /// HISTORY: New entity in Release IFC2x2. class IFC_PARSE_API IfcSymbolStyle : public IfcPresentationStyle { public: - IfcSymbolStyle() {} - explicit IfcSymbolStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The style applied to the symbol for its visual appearance. ::Ifc2x3::IfcSymbolStyleSelect StyleOfSymbol() const; void setStyleOfSymbol(const ::Ifc2x3::IfcSymbolStyleSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSymbolStyleSelect v2_StyleOfSymbol); + IfcSymbolStyle initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcSymbolStyleSelect v2_StyleOfSymbol); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -14131,8 +13672,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::string Name() const; @@ -14142,7 +13682,7 @@ public: void setRows(const std::vector< ::Ifc2x3::IfcTableRow >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcTableRow > v2_Rows); + IfcTable initialize(std::string v1_Name, std::vector< ::Ifc2x3::IfcTableRow > v2_Rows); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -14159,8 +13699,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::vector< ::Ifc2x3::IfcValue > RowCells() const; @@ -14171,7 +13710,7 @@ public: std::vector< IfcTable > OfTable() const; // INVERSE IfcTable::Rows static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcValue > v1_RowCells, bool v2_IsHeading); + IfcTableRow initialize(std::vector< ::Ifc2x3::IfcValue > v1_RowCells, bool v2_IsHeading); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -14181,8 +13720,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -14204,7 +13742,7 @@ public: void setWWWHomePageURL(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL); + IfcTelecomAddress initialize(std::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -14236,8 +13774,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc2x3::IfcCharacterStyleSelect TextCharacterAppearance() const; @@ -14256,7 +13793,7 @@ public: void setTextFontStyle(const ::Ifc2x3::IfcTextFontSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCharacterStyleSelect v2_TextCharacterAppearance, ::Ifc2x3::IfcTextStyleSelect v3_TextStyle, ::Ifc2x3::IfcTextFontSelect v4_TextFontStyle); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCharacterStyleSelect v2_TextCharacterAppearance, ::Ifc2x3::IfcTextStyleSelect v3_TextStyle, ::Ifc2x3::IfcTextFontSelect v4_TextFontStyle); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -14325,8 +13862,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::optional< std::vector< std::string > /*[1:?]*/ > FontFamily() const; @@ -14348,7 +13884,7 @@ public: void setFontSize(const ::Ifc2x3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect v6_FontSize); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -14369,8 +13905,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public express::Entity { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc2x3::IfcColour Colour() const; @@ -14380,7 +13915,7 @@ public: void setBackgroundColour(const ::Ifc2x3::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcColour v1_Colour, ::Ifc2x3::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc2x3::IfcColour v1_Colour, ::Ifc2x3::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -14391,8 +13926,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public express::Entity { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -14424,7 +13958,7 @@ public: void setLineHeight(const ::Ifc2x3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc2x3::IfcSizeSelect v4_LetterSpacing, ::Ifc2x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc2x3::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc2x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc2x3::IfcSizeSelect v4_LetterSpacing, ::Ifc2x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc2x3::IfcSizeSelect v7_LineHeight); }; /// The text style with box characteristics allows the presentation of annotated text by specifying the characteristics of the character boxes of the text and the spacing between the character boxes. /// @@ -14445,8 +13979,7 @@ public: /// IFC2x3 CHANGE  The attribute item CharacterSpacing has been added. class IFC_PARSE_API IfcTextStyleWithBoxCharacteristics : public express::Entity { public: - IfcTextStyleWithBoxCharacteristics() {} - explicit IfcTextStyleWithBoxCharacteristics (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// It is the height scaling factor in the definition of a character glyph. std::optional< double > BoxHeight() const; @@ -14465,7 +13998,7 @@ public: void setCharacterSpacing(const ::Ifc2x3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_BoxHeight, std::optional< double > v2_BoxWidth, std::optional< double > v3_BoxSlantAngle, std::optional< double > v4_BoxRotateAngle, ::Ifc2x3::IfcSizeSelect v5_CharacterSpacing); + IfcTextStyleWithBoxCharacteristics initialize(std::optional< double > v1_BoxHeight, std::optional< double > v2_BoxWidth, std::optional< double > v3_BoxSlantAngle, std::optional< double > v4_BoxRotateAngle, ::Ifc2x3::IfcSizeSelect v5_CharacterSpacing); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -14480,13 +14013,12 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public express::Entity { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcAnnotationSurface > AnnotatedSurface() const; // INVERSE IfcAnnotationSurface::TextureCoordinates static const ifcopenshell::entity& Class(); - void initialize(); + IfcTextureCoordinate initialize(); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -14516,8 +14048,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -14531,7 +14062,7 @@ public: void setParameter(const std::vector< ::Ifc2x3::IfcSimpleValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Mode, std::vector< ::Ifc2x3::IfcSimpleValue > v2_Parameter); + IfcTextureCoordinateGenerator initialize(std::string v1_Mode, std::vector< ::Ifc2x3::IfcSimpleValue > v2_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -14586,14 +14117,13 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > TextureMaps() const; void setTextureMaps(const std::vector< ::Ifc2x3::IfcVertexBasedTextureMap >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > v1_TextureMaps); + IfcTextureMap initialize(std::vector< ::Ifc2x3::IfcVertexBasedTextureMap > v1_TextureMaps); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -14624,21 +14154,19 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public express::Entity { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcThermalMaterialProperties : public IfcMaterialProperties { public: - IfcThermalMaterialProperties() {} - explicit IfcThermalMaterialProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > SpecificHeatCapacity() const; void setSpecificHeatCapacity(const std::optional< double >& v); @@ -14650,7 +14178,7 @@ public: void setThermalConductivity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_BoilingPoint, std::optional< double > v4_FreezingPoint, std::optional< double > v5_ThermalConductivity); + IfcThermalMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_SpecificHeatCapacity, std::optional< double > v3_BoilingPoint, std::optional< double > v4_FreezingPoint, std::optional< double > v5_ThermalConductivity); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -14659,8 +14187,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -14689,13 +14216,12 @@ public: std::vector< IfcTimeSeriesReferenceRelationship > DocumentedBy() const; // INVERSE IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit); }; class IFC_PARSE_API IfcTimeSeriesReferenceRelationship : public express::Entity { public: - IfcTimeSeriesReferenceRelationship() {} - explicit IfcTimeSeriesReferenceRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc2x3::IfcTimeSeries ReferencedTimeSeries() const; void setReferencedTimeSeries(const ::Ifc2x3::IfcTimeSeries& v); @@ -14703,7 +14229,7 @@ public: void setTimeSeriesReferences(const std::vector< ::Ifc2x3::IfcDocumentSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcTimeSeries v1_ReferencedTimeSeries, std::vector< ::Ifc2x3::IfcDocumentSelect > v2_TimeSeriesReferences); + IfcTimeSeriesReferenceRelationship initialize(::Ifc2x3::IfcTimeSeries v1_ReferencedTimeSeries, std::vector< ::Ifc2x3::IfcDocumentSelect > v2_TimeSeriesReferences); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -14716,15 +14242,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc2x3::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc2x3::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc2x3::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -14733,12 +14258,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -14776,12 +14300,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc2x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc2x3::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -14790,15 +14313,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc2x3::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc2x3::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc2x3::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -14812,18 +14334,16 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; class IFC_PARSE_API IfcVertexBasedTextureMap : public express::Entity { public: - IfcVertexBasedTextureMap() {} - explicit IfcVertexBasedTextureMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< ::Ifc2x3::IfcTextureVertex > TextureVertices() const; void setTextureVertices(const std::vector< ::Ifc2x3::IfcTextureVertex >& v); @@ -14831,7 +14351,7 @@ public: void setTexturePoints(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcTextureVertex > v1_TextureVertices, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_TexturePoints); + IfcVertexBasedTextureMap initialize(std::vector< ::Ifc2x3::IfcTextureVertex > v1_TextureVertices, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_TexturePoints); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -14844,15 +14364,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc2x3::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc2x3::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc2x3::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -14915,8 +14434,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc2x3::IfcGridAxis > IntersectingAxes() const; @@ -14926,13 +14444,12 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc2x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; class IFC_PARSE_API IfcWaterProperties : public IfcMaterialProperties { public: - IfcWaterProperties() {} - explicit IfcWaterProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< bool > IsPotable() const; void setIsPotable(const std::optional< bool >& v); @@ -14950,47 +14467,43 @@ public: void setDissolvedSolidsContent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< bool > v2_IsPotable, std::optional< double > v3_Hardness, std::optional< double > v4_AlkalinityConcentration, std::optional< double > v5_AcidityConcentration, std::optional< double > v6_ImpuritiesContent, std::optional< double > v7_PHLevel, std::optional< double > v8_DissolvedSolidsContent); + IfcWaterProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< bool > v2_IsPotable, std::optional< double > v3_Hardness, std::optional< double > v4_AlkalinityConcentration, std::optional< double > v5_AcidityConcentration, std::optional< double > v6_ImpuritiesContent, std::optional< double > v7_PHLevel, std::optional< double > v8_DissolvedSolidsContent); }; class IFC_PARSE_API IfcAnnotationOccurrence : public IfcStyledItem { public: - IfcAnnotationOccurrence() {} - explicit IfcAnnotationOccurrence (const std::weak_ptr& data) : IfcStyledItem(data) {} + using IfcStyledItem::IfcStyledItem; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcAnnotationOccurrence initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; class IFC_PARSE_API IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { public: - IfcAnnotationSurfaceOccurrence() {} - explicit IfcAnnotationSurfaceOccurrence (const std::weak_ptr& data) : IfcAnnotationOccurrence(data) {} + using IfcAnnotationOccurrence::IfcAnnotationOccurrence; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcAnnotationSurfaceOccurrence initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; class IFC_PARSE_API IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence { public: - IfcAnnotationSymbolOccurrence() {} - explicit IfcAnnotationSymbolOccurrence (const std::weak_ptr& data) : IfcAnnotationOccurrence(data) {} + using IfcAnnotationOccurrence::IfcAnnotationOccurrence; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcAnnotationSymbolOccurrence initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; class IFC_PARSE_API IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence { public: - IfcAnnotationTextOccurrence() {} - explicit IfcAnnotationTextOccurrence (const std::weak_ptr& data) : IfcAnnotationOccurrence(data) {} + using IfcAnnotationOccurrence::IfcAnnotationOccurrence; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcAnnotationTextOccurrence initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -15012,15 +14525,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc2x3::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc2x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -15039,15 +14551,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc2x3::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc2x3::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -15070,15 +14581,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc2x3::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc2x3::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc2x3::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc2x3::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -15091,8 +14601,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -15102,7 +14611,7 @@ public: void setRasterCode(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -15135,15 +14644,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -15168,15 +14676,14 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc2x3::IfcClassification ReferencedSource() const; void setReferencedSource(const ::Ifc2x3::IfcClassification& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name, ::Ifc2x3::IfcClassification v4_ReferencedSource); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name, ::Ifc2x3::IfcClassification v4_ReferencedSource); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -15188,8 +14695,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -15208,7 +14714,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -15217,8 +14723,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -15229,7 +14734,7 @@ public: void setHasProperties(const std::vector< ::Ifc2x3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc2x3::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc2x3::IfcProperty > v4_HasProperties); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -15269,8 +14774,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc2x3::IfcProfileDef > Profiles() const; @@ -15280,7 +14784,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc2x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc2x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -15293,15 +14797,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc2x3::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc2x3::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -15318,8 +14821,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc2x3::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -15329,7 +14831,7 @@ public: void setCurveOnRelatedElement(const ::Ifc2x3::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc2x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -15352,8 +14854,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -15366,7 +14867,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc2x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -15377,15 +14878,14 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -15436,8 +14936,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -15447,7 +14946,7 @@ public: void setConversionFactor(const ::Ifc2x3::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc2x3::IfcDimensionalExponents v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit v4_ConversionFactor); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -15468,8 +14967,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -15482,7 +14980,7 @@ public: void setCurveColour(const ::Ifc2x3::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc2x3::IfcSizeSelect v3_CurveWidth, ::Ifc2x3::IfcColour v4_CurveColour); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc2x3::IfcSizeSelect v3_CurveWidth, ::Ifc2x3::IfcColour v4_CurveColour); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -15570,8 +15068,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc2x3::IfcProfileDef ParentProfile() const; @@ -15584,27 +15081,25 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcProfileDef v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcProfileDef v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; class IFC_PARSE_API IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { public: - IfcDimensionCalloutRelationship() {} - explicit IfcDimensionCalloutRelationship (const std::weak_ptr& data) : IfcDraughtingCalloutRelationship(data) {} + using IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout); + IfcDimensionCalloutRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout); }; class IFC_PARSE_API IfcDimensionPair : public IfcDraughtingCalloutRelationship { public: - IfcDimensionPair() {} - explicit IfcDimensionPair (const std::weak_ptr& data) : IfcDraughtingCalloutRelationship(data) {} + using IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout); + IfcDimensionPair initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout v4_RelatedDraughtingCallout); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -15619,13 +15114,12 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; std::vector< IfcDocumentInformation > ReferenceToDocument() const; // INVERSE IfcDocumentInformation::DocumentReferences static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_ItemReference, std::optional< std::string > v3_Name); }; /// The draughting pre defined text font is a pre defined text font for the purpose to identify a font by name. Allowable names are: /// @@ -15639,12 +15133,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedTextFont : public IfcPreDefinedTextFont { public: - IfcDraughtingPreDefinedTextFont() {} - explicit IfcDraughtingPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedTextFont initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -15697,8 +15190,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc2x3::IfcVertex EdgeStart() const; @@ -15708,7 +15200,7 @@ public: void setEdgeEnd(const ::Ifc2x3::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -15745,8 +15237,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc2x3::IfcCurve EdgeGeometry() const; @@ -15756,7 +15247,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// The IfcExtendedMaterialProperties assign a set of /// defined material properties to associated material definitions. @@ -15795,8 +15286,7 @@ public: /// General Energy Calculation Properties class IFC_PARSE_API IfcExtendedMaterialProperties : public IfcMaterialProperties { public: - IfcExtendedMaterialProperties() {} - explicit IfcExtendedMaterialProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::vector< ::Ifc2x3::IfcProperty > ExtendedProperties() const; void setExtendedProperties(const std::vector< ::Ifc2x3::IfcProperty >& v); @@ -15806,7 +15296,7 @@ public: void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::vector< ::Ifc2x3::IfcProperty > v2_ExtendedProperties, std::optional< std::string > v3_Description, std::string v4_Name); + IfcExtendedMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::vector< ::Ifc2x3::IfcProperty > v2_ExtendedProperties, std::optional< std::string > v3_Description, std::string v4_Name); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -15854,15 +15344,14 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc2x3::IfcFaceBound > Bounds() const; void setBounds(const std::vector< ::Ifc2x3::IfcFaceBound >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -15871,8 +15360,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc2x3::IfcLoop Bound() const; @@ -15882,7 +15370,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -15891,12 +15379,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc2x3::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -15936,8 +15423,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc2x3::IfcSurface FaceSurface() const; @@ -15947,7 +15433,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds, ::Ifc2x3::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc2x3::IfcFaceBound > v1_Bounds, ::Ifc2x3::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -15958,8 +15444,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -15981,7 +15466,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -16019,21 +15504,19 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc2x3::IfcFillStyleSelect > FillStyles() const; void setFillStyles(const std::vector< ::Ifc2x3::IfcFillStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcFillStyleSelect > v2_FillStyles); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc2x3::IfcFillStyleSelect > v2_FillStyles); }; class IFC_PARSE_API IfcFuelProperties : public IfcMaterialProperties { public: - IfcFuelProperties() {} - explicit IfcFuelProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > CombustionTemperature() const; void setCombustionTemperature(const std::optional< double >& v); @@ -16045,13 +15528,12 @@ public: void setHigherHeatingValue(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_CombustionTemperature, std::optional< double > v3_CarbonContent, std::optional< double > v4_LowerHeatingValue, std::optional< double > v5_HigherHeatingValue); + IfcFuelProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_CombustionTemperature, std::optional< double > v3_CarbonContent, std::optional< double > v4_LowerHeatingValue, std::optional< double > v5_HigherHeatingValue); }; class IFC_PARSE_API IfcGeneralMaterialProperties : public IfcMaterialProperties { public: - IfcGeneralMaterialProperties() {} - explicit IfcGeneralMaterialProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > MolecularWeight() const; void setMolecularWeight(const std::optional< double >& v); @@ -16061,13 +15543,12 @@ public: void setMassDensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_MolecularWeight, std::optional< double > v3_Porosity, std::optional< double > v4_MassDensity); + IfcGeneralMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_MolecularWeight, std::optional< double > v3_Porosity, std::optional< double > v4_MassDensity); }; class IFC_PARSE_API IfcGeneralProfileProperties : public IfcProfileProperties { public: - IfcGeneralProfileProperties() {} - explicit IfcGeneralProfileProperties (const std::weak_ptr& data) : IfcProfileProperties(data) {} + using IfcProfileProperties::IfcProfileProperties; std::optional< double > PhysicalWeight() const; void setPhysicalWeight(const std::optional< double >& v); @@ -16081,7 +15562,7 @@ public: void setCrossSectionArea(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea); + IfcGeneralProfileProperties initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -16132,8 +15613,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -16152,7 +15632,7 @@ public: std::vector< IfcGeometricRepresentationSubContext > HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc2x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc2x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -16175,12 +15655,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -16197,8 +15676,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc2x3::IfcGeometricRepresentationContext ParentContext() const; @@ -16224,7 +15702,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -16235,15 +15713,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc2x3::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc2x3::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -16292,8 +15769,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc2x3::IfcVirtualGridIntersection PlacementLocation() const; @@ -16305,7 +15781,7 @@ public: void setPlacementRefDirection(const ::Ifc2x3::IfcVirtualGridIntersection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection v2_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc2x3::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection v2_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -16324,8 +15800,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc2x3::IfcSurface BaseSurface() const; @@ -16335,13 +15810,12 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; class IFC_PARSE_API IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: - IfcHygroscopicMaterialProperties() {} - explicit IfcHygroscopicMaterialProperties (const std::weak_ptr& data) : IfcMaterialProperties(data) {} + using IfcMaterialProperties::IfcMaterialProperties; std::optional< double > UpperVaporResistanceFactor() const; void setUpperVaporResistanceFactor(const std::optional< double >& v); @@ -16355,7 +15829,7 @@ public: void setMoistureDiffusivity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_UpperVaporResistanceFactor, std::optional< double > v3_LowerVaporResistanceFactor, std::optional< double > v4_IsothermalMoistureCapacity, std::optional< double > v5_VaporPermeability, std::optional< double > v6_MoistureDiffusivity); + IfcHygroscopicMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_UpperVaporResistanceFactor, std::optional< double > v3_LowerVaporResistanceFactor, std::optional< double > v4_IsothermalMoistureCapacity, std::optional< double > v5_VaporPermeability, std::optional< double > v6_MoistureDiffusivity); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -16394,15 +15868,14 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string UrlReference() const; void setUrlReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_UrlReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::string v5_UrlReference); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -16411,15 +15884,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, std::vector< ::Ifc2x3::IfcIrregularTimeSeriesValue > v9_Values); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -16430,8 +15902,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -16448,7 +15919,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -16459,12 +15930,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -16477,8 +15947,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -16486,7 +15955,7 @@ public: void setOrientation(const ::Ifc2x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -16497,8 +15966,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc2x3::IfcAxis2Placement3D Position() const; @@ -16520,7 +15988,7 @@ public: void setLightDistributionDataSource(const ::Ifc2x3::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D v5_Position, ::Ifc2x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D v5_Position, ::Ifc2x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -16539,8 +16007,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -16561,7 +16028,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -16580,8 +16047,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -16600,7 +16066,7 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -16656,8 +16122,7 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. ::Ifc2x3::IfcObjectPlacement PlacementRelTo() const; @@ -16667,7 +16132,7 @@ public: void setRelativePlacement(const ::Ifc2x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc2x3::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc2x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc2x3::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -16697,12 +16162,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -16725,8 +16189,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc2x3::IfcRepresentationMap MappingSource() const; @@ -16736,7 +16199,7 @@ public: void setMappingTarget(const ::Ifc2x3::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationMap v1_MappingSource, ::Ifc2x3::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc2x3::IfcRepresentationMap v1_MappingSource, ::Ifc2x3::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -16770,21 +16233,19 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc2x3::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc2x3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations, ::Ifc2x3::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations, ::Ifc2x3::IfcMaterial v4_RepresentedMaterial); }; class IFC_PARSE_API IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { public: - IfcMechanicalConcreteMaterialProperties() {} - explicit IfcMechanicalConcreteMaterialProperties (const std::weak_ptr& data) : IfcMechanicalMaterialProperties(data) {} + using IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties; std::optional< double > CompressiveStrength() const; void setCompressiveStrength(const std::optional< double >& v); @@ -16800,7 +16261,7 @@ public: void setWaterImpermeability(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_CompressiveStrength, std::optional< double > v8_MaxAggregateSize, std::optional< std::string > v9_AdmixturesDescription, std::optional< std::string > v10_Workability, std::optional< double > v11_ProtectivePoreRatio, std::optional< std::string > v12_WaterImpermeability); + IfcMechanicalConcreteMaterialProperties initialize(::Ifc2x3::IfcMaterial v1_Material, std::optional< double > v2_DynamicViscosity, std::optional< double > v3_YoungModulus, std::optional< double > v4_ShearModulus, std::optional< double > v5_PoissonRatio, std::optional< double > v6_ThermalExpansionCoefficient, std::optional< double > v7_CompressiveStrength, std::optional< double > v8_MaxAggregateSize, std::optional< std::string > v9_AdmixturesDescription, std::optional< std::string > v10_Workability, std::optional< double > v11_ProtectivePoreRatio, std::optional< std::string > v12_WaterImpermeability); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -16854,8 +16315,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelDecomposes > IsDecomposedBy() const; // INVERSE IfcRelDecomposes::RelatingObject @@ -16863,7 +16323,7 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-46:1992: A one time repeat factor is a vector used in the fill area style hatching and fill area style tiles entities for determining the origin of the repeated hatch line relative to the origin of the previous hatch line, Given the initial position of any hatch line, the one direction repeat factor determines two new positions according to the equation: /// @@ -16874,15 +16334,14 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem { public: - IfcOneDirectionRepeatFactor() {} - explicit IfcOneDirectionRepeatFactor (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A vector which specifies the relative positioning of hatch lines. ::Ifc2x3::IfcVector RepeatFactor() const; void setRepeatFactor(const ::Ifc2x3::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVector v1_RepeatFactor); + IfcOneDirectionRepeatFactor initialize(::Ifc2x3::IfcVector v1_RepeatFactor); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -16945,12 +16404,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -16961,8 +16419,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc2x3::IfcEdge EdgeElement() const; @@ -16972,7 +16429,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc2x3::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -17018,15 +16475,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc2x3::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc2x3::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -17044,15 +16500,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc2x3::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -17065,8 +16520,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc2x3::IfcPhysicalQuantity > HasQuantities() const; @@ -17082,7 +16536,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -17104,8 +16558,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -17123,7 +16576,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -17136,15 +16589,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc2x3::IfcCartesianPoint Location() const; void setLocation(const ::Ifc2x3::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCartesianPoint v1_Location); + IfcPlacement initialize(::Ifc2x3::IfcCartesianPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -17153,8 +16605,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -17164,7 +16615,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -17173,12 +16624,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -17191,8 +16641,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc2x3::IfcCurve BasisCurve() const; @@ -17202,7 +16651,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -17215,8 +16664,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc2x3::IfcSurface BasisSurface() const; @@ -17229,7 +16677,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -17272,15 +16720,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc2x3::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -17340,8 +16787,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc2x3::IfcAxis2Placement3D Position() const; @@ -17353,7 +16799,7 @@ public: void setPolygonalBoundary(const ::Ifc2x3::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcAxis2Placement3D v3_Position, ::Ifc2x3::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcAxis2Placement3D v3_Position, ::Ifc2x3::IfcBoundedCurve v4_PolygonalBoundary); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -17362,12 +16808,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -17378,32 +16823,29 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { public: - IfcPreDefinedDimensionSymbol() {} - explicit IfcPreDefinedDimensionSymbol (const std::weak_ptr& data) : IfcPreDefinedSymbol(data) {} + using IfcPreDefinedSymbol::IfcPreDefinedSymbol; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedDimensionSymbol initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { public: - IfcPreDefinedPointMarkerSymbol() {} - explicit IfcPreDefinedPointMarkerSymbol (const std::weak_ptr& data) : IfcPreDefinedSymbol(data) {} + using IfcPreDefinedSymbol::IfcPreDefinedSymbol; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedPointMarkerSymbol initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -17419,14 +16861,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcRepresentation > v3_Representations); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -17534,8 +16975,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc2x3::IfcValue UpperBoundValue() const; @@ -17548,7 +16988,7 @@ public: void setUnit(const ::Ifc2x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_UpperBoundValue, ::Ifc2x3::IfcValue v4_LowerBoundValue, ::Ifc2x3::IfcUnit v5_Unit); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_UpperBoundValue, ::Ifc2x3::IfcValue v4_LowerBoundValue, ::Ifc2x3::IfcUnit v5_Unit); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -17602,13 +17042,12 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -17689,8 +17128,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -17702,7 +17140,7 @@ public: void setEnumerationReference(const ::Ifc2x3::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -17771,8 +17209,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -17784,7 +17221,7 @@ public: void setUnit(const ::Ifc2x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_ListValues, ::Ifc2x3::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_ListValues, ::Ifc2x3::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -17803,8 +17240,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -17816,7 +17252,7 @@ public: void setPropertyReference(const ::Ifc2x3::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc2x3::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc2x3::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -17862,14 +17298,13 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcRelDefinesByProperties > PropertyDefinitionOf() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -17917,8 +17352,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -17932,7 +17366,7 @@ public: void setUnit(const ::Ifc2x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_NominalValue, ::Ifc2x3::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcValue v3_NominalValue, ::Ifc2x3::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -18052,8 +17486,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -18076,7 +17509,7 @@ public: void setDefinedUnit(const ::Ifc2x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_DefiningValues, std::vector< ::Ifc2x3::IfcValue > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit v6_DefiningUnit, ::Ifc2x3::IfcUnit v7_DefinedUnit); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc2x3::IfcValue > v3_DefiningValues, std::vector< ::Ifc2x3::IfcValue > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit v6_DefiningUnit, ::Ifc2x3::IfcUnit v7_DefinedUnit); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -18114,8 +17547,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -18125,7 +17557,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -18134,8 +17566,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -18145,7 +17576,7 @@ public: void setValues(const std::vector< ::Ifc2x3::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc2x3::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect v3_StartTime, ::Ifc2x3::IfcDateTimeSelect v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc2x3::IfcTimeSeriesValue > v10_Values); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -18175,8 +17606,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -18186,7 +17616,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc2x3::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc2x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc2x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -18198,12 +17628,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -18244,15 +17673,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -18309,8 +17737,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc2x3::IfcCompositeCurve SpineCurve() const; @@ -18323,13 +17750,12 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc2x3::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc2x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc2x3::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc2x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc2x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc2x3::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcServiceLifeFactor : public IfcPropertySetDefinition { public: - IfcServiceLifeFactor() {} - explicit IfcServiceLifeFactor (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value& v); @@ -18341,7 +17767,7 @@ public: void setLowerValue(const ::Ifc2x3::IfcMeasureValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v5_PredefinedType, ::Ifc2x3::IfcMeasureValue v6_UpperValue, ::Ifc2x3::IfcMeasureValue v7_MostUsedValue, ::Ifc2x3::IfcMeasureValue v8_LowerValue); + IfcServiceLifeFactor initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v5_PredefinedType, ::Ifc2x3::IfcMeasureValue v6_UpperValue, ::Ifc2x3::IfcMeasureValue v7_MostUsedValue, ::Ifc2x3::IfcMeasureValue v8_LowerValue); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -18357,14 +17783,13 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc2x3::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc2x3::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc2x3::IfcShell > v1_SbsmBoundary); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -18377,8 +17802,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -18391,7 +17815,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -18400,18 +17824,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; class IFC_PARSE_API IfcSoundProperties : public IfcPropertySetDefinition { public: - IfcSoundProperties() {} - explicit IfcSoundProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; bool IsAttenuating() const; void setIsAttenuating(const bool& v); @@ -18421,13 +17843,12 @@ public: void setSoundValues(const std::vector< ::Ifc2x3::IfcSoundValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, bool v5_IsAttenuating, std::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, std::vector< ::Ifc2x3::IfcSoundValue > v7_SoundValues); + IfcSoundProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, bool v5_IsAttenuating, std::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, std::vector< ::Ifc2x3::IfcSoundValue > v7_SoundValues); }; class IFC_PARSE_API IfcSoundValue : public IfcPropertySetDefinition { public: - IfcSoundValue() {} - explicit IfcSoundValue (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; ::Ifc2x3::IfcTimeSeries SoundLevelTimeSeries() const; void setSoundLevelTimeSeries(const ::Ifc2x3::IfcTimeSeries& v); @@ -18437,13 +17858,12 @@ public: void setSoundLevelSingleValue(const ::Ifc2x3::IfcDerivedMeasureValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcTimeSeries v5_SoundLevelTimeSeries, double v6_Frequency, ::Ifc2x3::IfcDerivedMeasureValue v7_SoundLevelSingleValue); + IfcSoundValue initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcTimeSeries v5_SoundLevelTimeSeries, double v6_Frequency, ::Ifc2x3::IfcDerivedMeasureValue v7_SoundLevelSingleValue); }; class IFC_PARSE_API IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: - IfcSpaceThermalLoadProperties() {} - explicit IfcSpaceThermalLoadProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; std::optional< double > ApplicableValueRatio() const; void setApplicableValueRatio(const std::optional< double >& v); @@ -18467,7 +17887,7 @@ public: void setThermalLoadType(const ::Ifc2x3::IfcThermalLoadTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_ApplicableValueRatio, ::Ifc2x3::IfcThermalLoadSourceEnum::Value v6_ThermalLoadSource, ::Ifc2x3::IfcPropertySourceEnum::Value v7_PropertySource, std::optional< std::string > v8_SourceDescription, double v9_MaximumValue, std::optional< double > v10_MinimumValue, ::Ifc2x3::IfcTimeSeries v11_ThermalLoadTimeSeriesValues, std::optional< std::string > v12_UserDefinedThermalLoadSource, std::optional< std::string > v13_UserDefinedPropertySource, ::Ifc2x3::IfcThermalLoadTypeEnum::Value v14_ThermalLoadType); + IfcSpaceThermalLoadProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_ApplicableValueRatio, ::Ifc2x3::IfcThermalLoadSourceEnum::Value v6_ThermalLoadSource, ::Ifc2x3::IfcPropertySourceEnum::Value v7_PropertySource, std::optional< std::string > v8_SourceDescription, double v9_MaximumValue, std::optional< double > v10_MinimumValue, ::Ifc2x3::IfcTimeSeries v11_ThermalLoadTimeSeriesValues, std::optional< std::string > v12_UserDefinedThermalLoadSource, std::optional< std::string > v13_UserDefinedPropertySource, ::Ifc2x3::IfcThermalLoadTypeEnum::Value v14_ThermalLoadType); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -18476,8 +17896,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -18499,7 +17918,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -18508,8 +17927,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -18522,7 +17940,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -18531,8 +17949,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -18554,22 +17971,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -18579,8 +17995,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -18602,7 +18017,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -18614,21 +18029,19 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; class IFC_PARSE_API IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: - IfcStructuralProfileProperties() {} - explicit IfcStructuralProfileProperties (const std::weak_ptr& data) : IfcGeneralProfileProperties(data) {} + using IfcGeneralProfileProperties::IfcGeneralProfileProperties; std::optional< double > TorsionalConstantX() const; void setTorsionalConstantX(const std::optional< double >& v); @@ -18664,13 +18077,12 @@ public: void setCentreOfGravityInY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY); + IfcStructuralProfileProperties initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY); }; class IFC_PARSE_API IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { public: - IfcStructuralSteelProfileProperties() {} - explicit IfcStructuralSteelProfileProperties (const std::weak_ptr& data) : IfcStructuralProfileProperties(data) {} + using IfcStructuralProfileProperties::IfcStructuralProfileProperties; std::optional< double > ShearAreaZ() const; void setShearAreaZ(const std::optional< double >& v); @@ -18682,7 +18094,7 @@ public: void setPlasticShapeFactorZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY, std::optional< double > v24_ShearAreaZ, std::optional< double > v25_ShearAreaY, std::optional< double > v26_PlasticShapeFactorY, std::optional< double > v27_PlasticShapeFactorZ); + IfcStructuralSteelProfileProperties initialize(std::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef v2_ProfileDefinition, std::optional< double > v3_PhysicalWeight, std::optional< double > v4_Perimeter, std::optional< double > v5_MinimumPlateThickness, std::optional< double > v6_MaximumPlateThickness, std::optional< double > v7_CrossSectionArea, std::optional< double > v8_TorsionalConstantX, std::optional< double > v9_MomentOfInertiaYZ, std::optional< double > v10_MomentOfInertiaY, std::optional< double > v11_MomentOfInertiaZ, std::optional< double > v12_WarpingConstant, std::optional< double > v13_ShearCentreZ, std::optional< double > v14_ShearCentreY, std::optional< double > v15_ShearDeformationAreaZ, std::optional< double > v16_ShearDeformationAreaY, std::optional< double > v17_MaximumSectionModulusY, std::optional< double > v18_MinimumSectionModulusY, std::optional< double > v19_MaximumSectionModulusZ, std::optional< double > v20_MinimumSectionModulusZ, std::optional< double > v21_TorsionalSectionModulus, std::optional< double > v22_CentreOfGravityInX, std::optional< double > v23_CentreOfGravityInY, std::optional< double > v24_ShearAreaZ, std::optional< double > v25_ShearAreaY, std::optional< double > v26_PlasticShapeFactorY, std::optional< double > v27_PlasticShapeFactorZ); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -18696,15 +18108,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc2x3::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc2x3::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc2x3::IfcVertex v1_EdgeStart, ::Ifc2x3::IfcVertex v2_EdgeEnd, ::Ifc2x3::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -18718,12 +18129,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -18772,8 +18182,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. @@ -18812,7 +18221,7 @@ public: void setReflectanceMethod(const ::Ifc2x3::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc2x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -18834,8 +18243,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc2x3::IfcProfileDef SweptArea() const; @@ -18845,7 +18253,7 @@ public: void setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -18902,8 +18310,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc2x3::IfcCurve Directrix() const; @@ -18926,7 +18333,7 @@ public: void setEndParam(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc2x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -18935,8 +18342,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc2x3::IfcProfileDef SweptCurve() const; @@ -18946,7 +18352,7 @@ public: void setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -18978,8 +18384,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -19012,19 +18417,18 @@ public: void setCentreOfGravityInY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope, std::optional< double > v13_CentreOfGravityInY); + IfcTShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope, std::optional< double > v13_CentreOfGravityInY); }; class IFC_PARSE_API IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { public: - IfcTerminatorSymbol() {} - explicit IfcTerminatorSymbol (const std::weak_ptr& data) : IfcAnnotationSymbolOccurrence(data) {} + using IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence; ::Ifc2x3::IfcAnnotationCurveOccurrence AnnotatedCurve() const; void setAnnotatedCurve(const ::Ifc2x3::IfcAnnotationCurveOccurrence& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve); + IfcTerminatorSymbol initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -19038,8 +18442,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -19053,7 +18456,7 @@ public: void setPath(const ::Ifc2x3::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -19066,8 +18469,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc2x3::IfcPlanarExtent Extent() const; @@ -19077,7 +18479,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -19119,8 +18521,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -19136,7 +18537,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// Definition from ISO/CD 10303-46:1992: A two direction repeat factor combines two vectors which are used in the fill area style tiles entity for determining the shape and relative location of tiles. Given the initial position of any tile, the two direction repeat factor determines eight new positions according to the equation: /// @@ -19148,15 +18549,14 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { public: - IfcTwoDirectionRepeatFactor() {} - explicit IfcTwoDirectionRepeatFactor (const std::weak_ptr& data) : IfcOneDirectionRepeatFactor(data) {} + using IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor; /// A vector which specifies the relative positioning of tiles in the second direction. ::Ifc2x3::IfcVector SecondRepeatFactor() const; void setSecondRepeatFactor(const ::Ifc2x3::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVector v1_RepeatFactor, ::Ifc2x3::IfcVector v2_SecondRepeatFactor); + IfcTwoDirectionRepeatFactor initialize(::Ifc2x3::IfcVector v1_RepeatFactor, ::Ifc2x3::IfcVector v2_SecondRepeatFactor); }; /// The object type defines the /// specific information about a type, being common to all @@ -19191,8 +18591,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -19211,7 +18610,7 @@ public: std::vector< IfcRelDefinesByType > ObjectTypeOf() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -19281,8 +18680,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > RepresentationMaps() const; @@ -19292,7 +18690,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -19324,8 +18722,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -19352,7 +18749,7 @@ public: void setCentreOfGravityInX(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope, std::optional< double > v11_CentreOfGravityInX); + IfcUShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope, std::optional< double > v11_CentreOfGravityInX); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -19363,8 +18760,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc2x3::IfcDirection Orientation() const; @@ -19374,7 +18770,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc2x3::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -19390,15 +18786,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc2x3::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc2x3::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc2x3::IfcVertex v1_LoopVertex); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -19500,8 +18895,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPropertySetDefinition { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -19534,7 +18928,7 @@ public: void setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc2x3::IfcShapeAspect v13_ShapeAspectStyle); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc2x3::IfcShapeAspect v13_ShapeAspectStyle); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -19583,8 +18977,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPropertySetDefinition { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc2x3::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -19605,7 +18998,7 @@ public: void setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -19627,8 +19020,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc2x3::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -19644,7 +19036,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc2x3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc2x3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -19673,8 +19065,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -19696,17 +19087,16 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; class IFC_PARSE_API IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence { public: - IfcAnnotationCurveOccurrence() {} - explicit IfcAnnotationCurveOccurrence (const std::weak_ptr& data) : IfcAnnotationOccurrence(data) {} + using IfcAnnotationOccurrence::IfcAnnotationOccurrence; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcAnnotationCurveOccurrence initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -19730,8 +19120,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -19745,13 +19134,12 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc2x3::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc2x3::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc2x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc2x3::IfcCurve > > v2_InnerBoundaries); }; class IFC_PARSE_API IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { public: - IfcAnnotationFillAreaOccurrence() {} - explicit IfcAnnotationFillAreaOccurrence (const std::weak_ptr& data) : IfcAnnotationOccurrence(data) {} + using IfcAnnotationOccurrence::IfcAnnotationOccurrence; ::Ifc2x3::IfcPoint FillStyleTarget() const; void setFillStyleTarget(const ::Ifc2x3::IfcPoint& v); @@ -19759,13 +19147,12 @@ public: void setGlobalOrLocal(const std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcPoint v4_FillStyleTarget, std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v5_GlobalOrLocal); + IfcAnnotationFillAreaOccurrence initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcPoint v4_FillStyleTarget, std::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v5_GlobalOrLocal); }; class IFC_PARSE_API IfcAnnotationSurface : public IfcGeometricRepresentationItem { public: - IfcAnnotationSurface() {} - explicit IfcAnnotationSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc2x3::IfcGeometricRepresentationItem Item() const; void setItem(const ::Ifc2x3::IfcGeometricRepresentationItem& v); @@ -19773,7 +19160,7 @@ public: void setTextureCoordinates(const ::Ifc2x3::IfcTextureCoordinate& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcGeometricRepresentationItem v1_Item, ::Ifc2x3::IfcTextureCoordinate v2_TextureCoordinates); + IfcAnnotationSurface initialize(::Ifc2x3::IfcGeometricRepresentationItem v1_Item, ::Ifc2x3::IfcTextureCoordinate v2_TextureCoordinates); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -19786,15 +19173,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc2x3::IfcDirection Axis() const; void setAxis(const ::Ifc2x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -19809,15 +19195,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc2x3::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc2x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -19834,8 +19219,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc2x3::IfcDirection Axis() const; @@ -19845,7 +19229,7 @@ public: void setRefDirection(const ::Ifc2x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis, ::Ifc2x3::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc2x3::IfcCartesianPoint v1_Location, ::Ifc2x3::IfcDirection v2_Axis, ::Ifc2x3::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -19875,8 +19259,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc2x3::IfcBooleanOperator::Value Operator() const; @@ -19889,7 +19272,7 @@ public: void setSecondOperand(const ::Ifc2x3::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -19905,12 +19288,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -19936,8 +19318,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc2x3::IfcCartesianPoint Corner() const; @@ -19953,7 +19334,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc2x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -19987,15 +19368,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc2x3::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc2x3::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc2x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -20021,8 +19401,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -20043,7 +19422,7 @@ public: void setCentreOfGravityInX(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius, std::optional< double > v9_CentreOfGravityInX); + IfcCShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius, std::optional< double > v9_CentreOfGravityInX); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -20054,15 +19433,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -20096,8 +19474,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc2x3::IfcDirection Axis1() const; @@ -20113,7 +19490,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -20122,12 +19499,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -20141,15 +19517,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -20158,15 +19533,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc2x3::IfcDirection Axis3() const; void setAxis3(const ::Ifc2x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -20181,8 +19555,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -20192,7 +19565,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc2x3::IfcDirection v1_Axis1, ::Ifc2x3::IfcDirection v2_Axis2, ::Ifc2x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc2x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -20208,15 +19581,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -20269,12 +19641,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc2x3::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -20285,8 +19656,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. ::Ifc2x3::IfcTransitionCode::Value Transition() const; @@ -20302,13 +19672,12 @@ public: std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve v3_ParentCurve); }; class IFC_PARSE_API IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCraneRailAShapeProfileDef() {} - explicit IfcCraneRailAShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double OverallHeight() const; void setOverallHeight(const double& v); @@ -20336,13 +19705,12 @@ public: void setCentreOfGravityInY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_BaseWidth2, std::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, std::optional< double > v15_CentreOfGravityInY); + IfcCraneRailAShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_BaseWidth2, std::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, std::optional< double > v15_CentreOfGravityInY); }; class IFC_PARSE_API IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCraneRailFShapeProfileDef() {} - explicit IfcCraneRailFShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double OverallHeight() const; void setOverallHeight(const double& v); @@ -20364,7 +19732,7 @@ public: void setCentreOfGravityInY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_HeadWidth, std::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, std::optional< double > v12_CentreOfGravityInY); + IfcCraneRailFShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallHeight, double v5_HeadWidth, std::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, std::optional< double > v12_CentreOfGravityInY); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -20373,15 +19741,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc2x3::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -20426,15 +19793,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc2x3::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc2x3::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc2x3::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -20448,12 +19814,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -20470,8 +19835,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc2x3::IfcPlane BasisSurface() const; @@ -20484,7 +19848,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc2x3::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcPlane v1_BasisSurface, ::Ifc2x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc2x3::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc2x3::IfcPlane v1_BasisSurface, ::Ifc2x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc2x3::IfcCurve > v3_InnerBoundaries); }; /// A defined symbol is a symbolic representation that gets its shape information by an established convention, either through a predefined symbol, or an externally defined symbol. /// @@ -20495,8 +19859,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcDefinedSymbol : public IfcGeometricRepresentationItem { public: - IfcDefinedSymbol() {} - explicit IfcDefinedSymbol (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// An implicit description of the symbol, either predefined or externally defined. ::Ifc2x3::IfcDefinedSymbolSelect Definition() const; @@ -20506,30 +19869,28 @@ public: void setTarget(const ::Ifc2x3::IfcCartesianTransformationOperator2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcDefinedSymbolSelect v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D v2_Target); + IfcDefinedSymbol initialize(::Ifc2x3::IfcDefinedSymbolSelect v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D v2_Target); }; class IFC_PARSE_API IfcDimensionCurve : public IfcAnnotationCurveOccurrence { public: - IfcDimensionCurve() {} - explicit IfcDimensionCurve (const std::weak_ptr& data) : IfcAnnotationCurveOccurrence(data) {} + using IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence; std::vector< IfcTerminatorSymbol > AnnotatedBySymbols() const; // INVERSE IfcTerminatorSymbol::AnnotatedCurve static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcDimensionCurve initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; class IFC_PARSE_API IfcDimensionCurveTerminator : public IfcTerminatorSymbol { public: - IfcDimensionCurveTerminator() {} - explicit IfcDimensionCurveTerminator (const std::weak_ptr& data) : IfcTerminatorSymbol(data) {} + using IfcTerminatorSymbol::IfcTerminatorSymbol; ::Ifc2x3::IfcDimensionExtentUsage::Value Role() const; void setRole(const ::Ifc2x3::IfcDimensionExtentUsage::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role); + IfcDimensionCurveTerminator initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -20540,15 +19901,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -20647,8 +20007,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPropertySetDefinition { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -20687,7 +20046,7 @@ public: void setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc2x3::IfcShapeAspect v15_ShapeAspectStyle); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc2x3::IfcShapeAspect v15_ShapeAspectStyle); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -20736,8 +20095,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPropertySetDefinition { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -20758,7 +20116,7 @@ public: void setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -20788,8 +20146,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc2x3::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -20805,13 +20162,12 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; class IFC_PARSE_API IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: - IfcDraughtingCallout() {} - explicit IfcDraughtingCallout (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > Contents() const; void setContents(const std::vector< ::Ifc2x3::IfcDraughtingCalloutElement >& v); @@ -20819,7 +20175,7 @@ public: std::vector< IfcDraughtingCalloutRelationship > IsRelatedToCallout() const; // INVERSE IfcDraughtingCalloutRelationship::RelatingDraughtingCallout static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcDraughtingCallout initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -20895,12 +20251,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -20917,12 +20272,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -20937,15 +20291,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc2x3::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc2x3::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc2x3::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -21026,8 +20379,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcPropertySetDefinition { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -21039,7 +20391,7 @@ public: void setQuantities(const std::vector< ::Ifc2x3::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc2x3::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -21065,15 +20417,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -21082,15 +20433,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc2x3::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc2x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -21110,8 +20460,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -21121,13 +20470,12 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; class IFC_PARSE_API IfcEnergyProperties : public IfcPropertySetDefinition { public: - IfcEnergyProperties() {} - explicit IfcEnergyProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > EnergySequence() const; void setEnergySequence(const std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value >& v); @@ -21135,7 +20483,7 @@ public: void setUserDefinedEnergySequence(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence); + IfcEnergyProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -21207,8 +20555,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc2x3::IfcDirection ExtrudedDirection() const; @@ -21219,7 +20566,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -21235,15 +20582,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc2x3::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc2x3::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc2x3::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -21294,8 +20640,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc2x3::IfcCurveStyle HatchLineAppearance() const; @@ -21322,7 +20667,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc2x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// The fill area style tile symbol with style is a symbol that is used as a tile within an annotated tiling. /// @@ -21333,8 +20678,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTileSymbolWithStyle : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTileSymbolWithStyle() {} - explicit IfcFillAreaStyleTileSymbolWithStyle (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A styled item that is used as the annotation symbol for tiling the filled area. /// @@ -21345,7 +20689,7 @@ public: void setSymbol(const ::Ifc2x3::IfcAnnotationSymbolOccurrence& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAnnotationSymbolOccurrence v1_Symbol); + IfcFillAreaStyleTileSymbolWithStyle initialize(::Ifc2x3::IfcAnnotationSymbolOccurrence v1_Symbol); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -21354,8 +20698,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. ::Ifc2x3::IfcOneDirectionRepeatFactor TilingPattern() const; @@ -21368,13 +20711,12 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcOneDirectionRepeatFactor v1_TilingPattern, std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(::Ifc2x3::IfcOneDirectionRepeatFactor v1_TilingPattern, std::vector< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect > v2_Tiles, double v3_TilingScale); }; class IFC_PARSE_API IfcFluidFlowProperties : public IfcPropertySetDefinition { public: - IfcFluidFlowProperties() {} - explicit IfcFluidFlowProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; ::Ifc2x3::IfcPropertySourceEnum::Value PropertySource() const; void setPropertySource(const ::Ifc2x3::IfcPropertySourceEnum::Value& v); @@ -21408,7 +20750,7 @@ public: void setPressureSingleValue(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial v9_Fluid, ::Ifc2x3::IfcTimeSeries v10_PressureTimeSeries, std::optional< std::string > v11_UserDefinedPropertySource, std::optional< double > v12_TemperatureSingleValue, std::optional< double > v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue v16_FlowrateSingleValue, std::optional< double > v17_FlowConditionSingleValue, std::optional< double > v18_VelocitySingleValue, std::optional< double > v19_PressureSingleValue); + IfcFluidFlowProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial v9_Fluid, ::Ifc2x3::IfcTimeSeries v10_PressureTimeSeries, std::optional< std::string > v11_UserDefinedPropertySource, std::optional< double > v12_TemperatureSingleValue, std::optional< double > v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue v16_FlowrateSingleValue, std::optional< double > v17_FlowConditionSingleValue, std::optional< double > v18_VelocitySingleValue, std::optional< double > v19_PressureSingleValue); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -21440,12 +20782,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -21486,15 +20827,14 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc2x3::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; void setAssemblyPlace(const ::Ifc2x3::IfcAssemblyPlaceEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -21505,12 +20845,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc2x3::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -21577,8 +20916,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -21597,7 +20935,7 @@ public: void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius); + IfcIShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -21652,8 +20990,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -21679,7 +21016,7 @@ public: void setCentreOfGravityInY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope, std::optional< double > v10_CentreOfGravityInX, std::optional< double > v11_CentreOfGravityInY); + IfcLShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope, std::optional< double > v10_CentreOfGravityInX, std::optional< double > v11_CentreOfGravityInY); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -21696,8 +21033,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc2x3::IfcCartesianPoint Pnt() const; @@ -21707,7 +21043,7 @@ public: void setDir(const ::Ifc2x3::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCartesianPoint v1_Pnt, ::Ifc2x3::IfcVector v2_Dir); + IfcLine initialize(::Ifc2x3::IfcCartesianPoint v1_Pnt, ::Ifc2x3::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -21774,15 +21110,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc2x3::IfcClosedShell Outer() const; void setOuter(const ::Ifc2x3::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc2x3::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -21868,8 +21203,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -21877,7 +21211,7 @@ public: std::vector< IfcRelDefines > IsDefinedBy() const; // INVERSE IfcRelDefines::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -21892,8 +21226,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The curve that is being offset. ::Ifc2x3::IfcCurve BasisCurve() const; @@ -21906,7 +21239,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -21925,8 +21258,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The curve that is being offset. ::Ifc2x3::IfcCurve BasisCurve() const; @@ -21942,7 +21274,7 @@ public: void setRefDirection(const ::Ifc2x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc2x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection v4_RefDirection); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -21977,8 +21309,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPropertySetDefinition { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -21997,7 +21328,7 @@ public: void setShapeAspectStyle(const ::Ifc2x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -22007,8 +21338,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -22016,7 +21346,7 @@ public: void setPlacement(const ::Ifc2x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc2x3::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc2x3::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -22056,12 +21386,11 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -22105,15 +21434,14 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess std::vector< IfcRelSequence > IsSuccessorFrom() const; // INVERSE IfcRelSequence::RelatedProcess std::vector< IfcRelSequence > IsPredecessorTo() const; // INVERSE IfcRelSequence::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -22208,8 +21536,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc2x3::IfcObjectPlacement ObjectPlacement() const; @@ -22220,7 +21547,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -22268,8 +21595,7 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcObject { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::optional< std::string > LongName() const; void setLongName(const std::optional< std::string >& v); @@ -22281,17 +21607,16 @@ public: void setUnitsInContext(const ::Ifc2x3::IfcUnitAssignment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::vector< ::Ifc2x3::IfcRepresentationContext > v8_RepresentationContexts, ::Ifc2x3::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::vector< ::Ifc2x3::IfcRepresentationContext > v8_RepresentationContexts, ::Ifc2x3::IfcUnitAssignment v9_UnitsInContext); }; class IFC_PARSE_API IfcProjectionCurve : public IfcAnnotationCurveOccurrence { public: - IfcProjectionCurve() {} - explicit IfcProjectionCurve (const std::weak_ptr& data) : IfcAnnotationCurveOccurrence(data) {} + using IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); + IfcProjectionCurve initialize(::Ifc2x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc2x3::IfcPresentationStyleAssignment > v2_Styles, std::optional< std::string > v3_Name); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -22348,15 +21673,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc2x3::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc2x3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProperty > v5_HasProperties); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -22376,8 +21700,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc2x3::IfcObjectTypeEnum::Value ProxyType() const; @@ -22387,7 +21710,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -22411,8 +21734,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -22425,7 +21747,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -22517,8 +21839,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -22531,7 +21852,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -22550,8 +21871,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc2x3::IfcSurface BasisSurface() const; @@ -22576,7 +21896,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc2x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -22591,8 +21911,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc2x3::IfcObjectDefinition > RelatedObjects() const; @@ -22603,7 +21922,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -22616,8 +21935,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc2x3::IfcActor RelatingActor() const; @@ -22627,7 +21945,7 @@ public: void setActingRole(const ::Ifc2x3::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -22636,15 +21954,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc2x3::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc2x3::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -22661,15 +21978,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc2x3::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc2x3::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -22695,8 +22011,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -22708,7 +22023,7 @@ public: void setQuantityInProcess(const ::Ifc2x3::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -22720,8 +22035,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -22730,17 +22044,16 @@ public: void setRelatingProduct(const ::Ifc2x3::IfcProduct& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProduct v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProduct v7_RelatingProduct); }; class IFC_PARSE_API IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { public: - IfcRelAssignsToProjectOrder() {} - explicit IfcRelAssignsToProjectOrder (const std::weak_ptr& data) : IfcRelAssignsToControl(data) {} + using IfcRelAssignsToControl::IfcRelAssignsToControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl); + IfcRelAssignsToProjectOrder initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -22750,8 +22063,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -22760,7 +22072,7 @@ public: void setRelatingResource(const ::Ifc2x3::IfcResource& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcResource v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcResource v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -22805,8 +22117,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -22815,34 +22126,32 @@ public: void setRelatedObjects(const std::vector< ::Ifc2x3::IfcRoot >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects); }; class IFC_PARSE_API IfcRelAssociatesAppliedValue : public IfcRelAssociates { public: - IfcRelAssociatesAppliedValue() {} - explicit IfcRelAssociatesAppliedValue (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc2x3::IfcAppliedValue RelatingAppliedValue() const; void setRelatingAppliedValue(const ::Ifc2x3::IfcAppliedValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue v6_RelatingAppliedValue); + IfcRelAssociatesAppliedValue initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue v6_RelatingAppliedValue); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc2x3::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc2x3::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -22876,23 +22185,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc2x3::IfcClassificationNotationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc2x3::IfcClassificationNotationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcClassificationNotationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcClassificationNotationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::string Intent() const; @@ -22902,7 +22209,7 @@ public: void setRelatingConstraint(const ::Ifc2x3::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -22913,15 +22220,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc2x3::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc2x3::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -22932,15 +22238,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc2x3::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc2x3::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -23038,21 +22343,19 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc2x3::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc2x3::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileProperties : public IfcRelAssociates { public: - IfcRelAssociatesProfileProperties() {} - explicit IfcRelAssociatesProfileProperties (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc2x3::IfcProfileProperties RelatingProfileProperties() const; void setRelatingProfileProperties(const ::Ifc2x3::IfcProfileProperties& v); @@ -23062,19 +22365,18 @@ public: void setProfileOrientation(const ::Ifc2x3::IfcOrientationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcProfileProperties v6_RelatingProfileProperties, ::Ifc2x3::IfcShapeAspect v7_ProfileSectionLocation, ::Ifc2x3::IfcOrientationSelect v8_ProfileOrientation); + IfcRelAssociatesProfileProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcRoot > v5_RelatedObjects, ::Ifc2x3::IfcProfileProperties v6_RelatingProfileProperties, ::Ifc2x3::IfcShapeAspect v7_ProfileSectionLocation, ::Ifc2x3::IfcOrientationSelect v8_ProfileOrientation); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -23100,8 +22402,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc2x3::IfcConnectionGeometry ConnectionGeometry() const; @@ -23114,7 +22415,7 @@ public: void setRelatedElement(const ::Ifc2x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -23148,8 +22449,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -23165,7 +22465,7 @@ public: void setRelatingConnectionType(const ::Ifc2x3::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -23194,8 +22494,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc2x3::IfcPort RelatingPort() const; @@ -23207,7 +22506,7 @@ public: void setRelatedElement(const ::Ifc2x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -23224,8 +22523,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc2x3::IfcPort RelatingPort() const; @@ -23238,15 +22536,14 @@ public: void setRealizingElement(const ::Ifc2x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcPort v6_RelatedPort, ::Ifc2x3::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcPort v5_RelatingPort, ::Ifc2x3::IfcPort v6_RelatedPort, ::Ifc2x3::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc2x3::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -23256,13 +22553,12 @@ public: void setRelatedStructuralActivity(const ::Ifc2x3::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity v6_RelatedStructuralActivity); }; class IFC_PARSE_API IfcRelConnectsStructuralElement : public IfcRelConnects { public: - IfcRelConnectsStructuralElement() {} - explicit IfcRelConnectsStructuralElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc2x3::IfcElement RelatingElement() const; void setRelatingElement(const ::Ifc2x3::IfcElement& v); @@ -23270,7 +22566,7 @@ public: void setRelatedStructuralMember(const ::Ifc2x3::IfcStructuralMember& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcStructuralMember v6_RelatedStructuralMember); + IfcRelConnectsStructuralElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcStructuralMember v6_RelatedStructuralMember); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -23298,8 +22594,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc2x3::IfcStructuralMember RelatingStructuralMember() const; @@ -23321,7 +22616,7 @@ public: void setConditionCoordinateSystem(const ::Ifc2x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -23342,15 +22637,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc2x3::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc2x3::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc2x3::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc2x3::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -23377,8 +22671,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc2x3::IfcElement > RealizingElements() const; @@ -23388,7 +22681,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< ::Ifc2x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc2x3::IfcElement v6_RelatingElement, ::Ifc2x3::IfcElement v7_RelatedElement, std::vector< ::Ifc2x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -23452,8 +22745,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -23465,7 +22757,7 @@ public: void setRelatingStructure(const ::Ifc2x3::IfcSpatialStructureElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -23485,8 +22777,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -23498,7 +22789,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc2x3::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -23528,8 +22819,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc2x3::IfcSpace RelatedSpace() const; void setRelatedSpace(const ::Ifc2x3::IfcSpace& v); @@ -23538,7 +22828,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc2x3::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatedSpace, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatedSpace, std::vector< ::Ifc2x3::IfcCovering > v6_RelatedCoverings); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -23572,8 +22862,7 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; ::Ifc2x3::IfcObjectDefinition RelatingObject() const; void setRelatingObject(const ::Ifc2x3::IfcObjectDefinition& v); @@ -23581,7 +22870,7 @@ public: void setRelatedObjects(const std::vector< ::Ifc2x3::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -23612,14 +22901,13 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; std::vector< ::Ifc2x3::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc2x3::IfcObject >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -23638,15 +22926,14 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the property set definition for that object or set of objects. ::Ifc2x3::IfcPropertySetDefinition RelatingPropertyDefinition() const; void setRelatingPropertyDefinition(const ::Ifc2x3::IfcPropertySetDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -23719,15 +23006,14 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the type (or style) information for that object or set of objects. ::Ifc2x3::IfcTypeObject RelatingType() const; void setRelatingType(const ::Ifc2x3::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -23740,8 +23026,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc2x3::IfcOpeningElement RelatingOpeningElement() const; @@ -23753,7 +23038,7 @@ public: void setRelatedBuildingElement(const ::Ifc2x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc2x3::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc2x3::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -23764,8 +23049,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc2x3::IfcDistributionControlElement > RelatedControlElements() const; @@ -23775,13 +23059,12 @@ public: void setRelatingFlowElement(const ::Ifc2x3::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc2x3::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc2x3::IfcDistributionFlowElement v6_RelatingFlowElement); }; class IFC_PARSE_API IfcRelInteractionRequirements : public IfcRelConnects { public: - IfcRelInteractionRequirements() {} - explicit IfcRelInteractionRequirements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; std::optional< double > DailyInteraction() const; void setDailyInteraction(const std::optional< double >& v); @@ -23795,7 +23078,7 @@ public: void setRelatingSpaceProgram(const ::Ifc2x3::IfcSpaceProgram& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_DailyInteraction, std::optional< double > v6_ImportanceRating, ::Ifc2x3::IfcSpatialStructureElement v7_LocationOfInteraction, ::Ifc2x3::IfcSpaceProgram v8_RelatedSpaceProgram, ::Ifc2x3::IfcSpaceProgram v9_RelatingSpaceProgram); + IfcRelInteractionRequirements initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_DailyInteraction, std::optional< double > v6_ImportanceRating, ::Ifc2x3::IfcSpatialStructureElement v7_LocationOfInteraction, ::Ifc2x3::IfcSpaceProgram v8_RelatedSpaceProgram, ::Ifc2x3::IfcSpaceProgram v9_RelatingSpaceProgram); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -23824,34 +23107,31 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelOccupiesSpaces : public IfcRelAssignsToActor { public: - IfcRelOccupiesSpaces() {} - explicit IfcRelOccupiesSpaces (const std::weak_ptr& data) : IfcRelAssignsToActor(data) {} + using IfcRelAssignsToActor::IfcRelAssignsToActor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole); + IfcRelOccupiesSpaces initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor v7_RelatingActor, ::Ifc2x3::IfcActorRole v8_ActingRole); }; class IFC_PARSE_API IfcRelOverridesProperties : public IfcRelDefinesByProperties { public: - IfcRelOverridesProperties() {} - explicit IfcRelOverridesProperties (const std::weak_ptr& data) : IfcRelDefinesByProperties(data) {} + using IfcRelDefinesByProperties::IfcRelDefinesByProperties; std::vector< ::Ifc2x3::IfcProperty > OverridingProperties() const; void setOverridingProperties(const std::vector< ::Ifc2x3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition, std::vector< ::Ifc2x3::IfcProperty > v7_OverridingProperties); + IfcRelOverridesProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObject > v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition v6_RelatingPropertyDefinition, std::vector< ::Ifc2x3::IfcProperty > v7_OverridingProperties); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -23887,8 +23167,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelConnects { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc2x3::IfcElement RelatingElement() const; @@ -23898,7 +23177,7 @@ public: void setRelatedFeatureElement(const ::Ifc2x3::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingElement, ::Ifc2x3::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -23951,8 +23230,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -23965,17 +23243,16 @@ public: void setRelatingStructure(const ::Ifc2x3::IfcSpatialStructureElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcProduct > v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement v6_RelatingStructure); }; class IFC_PARSE_API IfcRelSchedulesCostItems : public IfcRelAssignsToControl { public: - IfcRelSchedulesCostItems() {} - explicit IfcRelSchedulesCostItems (const std::weak_ptr& data) : IfcRelAssignsToControl(data) {} + using IfcRelAssignsToControl::IfcRelAssignsToControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl); + IfcRelSchedulesCostItems initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -24033,8 +23310,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc2x3::IfcProcess RelatingProcess() const; @@ -24052,7 +23328,7 @@ public: void setSequenceType(const ::Ifc2x3::IfcSequenceEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess v5_RelatingProcess, ::Ifc2x3::IfcProcess v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess v5_RelatingProcess, ::Ifc2x3::IfcProcess v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -24077,8 +23353,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc2x3::IfcSystem RelatingSystem() const; @@ -24092,7 +23367,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc2x3::IfcSpatialStructureElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc2x3::IfcSpatialStructureElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc2x3::IfcSpatialStructureElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -24258,8 +23533,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc2x3::IfcSpace RelatingSpace() const; @@ -24284,7 +23558,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc2x3::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatingSpace, ::Ifc2x3::IfcElement v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace v5_RelatingSpace, ::Ifc2x3::IfcElement v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -24295,8 +23569,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelConnects { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc2x3::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc2x3::IfcElement& v); @@ -24304,7 +23577,7 @@ public: void setRelatedOpeningElement(const ::Ifc2x3::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, ::Ifc2x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcElement v5_RelatingBuildingElement, ::Ifc2x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -24321,13 +23594,12 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -24407,8 +23679,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc2x3::IfcAxis1Placement Axis() const; @@ -24418,7 +23689,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -24487,8 +23758,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -24498,7 +23768,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -24583,8 +23853,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -24594,7 +23863,7 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -24672,8 +23941,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcProduct { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< std::string > LongName() const; void setLongName(const std::optional< std::string >& v); @@ -24688,7 +23956,7 @@ public: std::vector< IfcRelContainedInSpatialStructure > ContainsElements() const; // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -24726,12 +23994,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -24785,15 +24052,14 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -24890,8 +24156,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -24920,7 +24185,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -25011,13 +24276,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -25025,14 +24289,13 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralElement > ReferencesElement() const; // INVERSE IfcRelConnectsStructuralElement::RelatedStructuralMember std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -25056,13 +24319,12 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; std::vector< IfcStructuralAction > Causes() const; // INVERSE IfcStructuralAction::CausedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -25086,8 +24348,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value PredefinedType() const; @@ -25097,7 +24358,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -25119,8 +24380,7 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; std::vector< double > /*[2:?]*/ SubsequentThickness() const; void setSubsequentThickness(const std::vector< double > /*[2:?]*/& v); @@ -25128,17 +24388,16 @@ public: void setVaryingThicknessLocation(const ::Ifc2x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, ::Ifc2x3::IfcShapeAspect v11_VaryingThicknessLocation); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, ::Ifc2x3::IfcShapeAspect v11_VaryingThicknessLocation); }; class IFC_PARSE_API IfcStructuredDimensionCallout : public IfcDraughtingCallout { public: - IfcStructuredDimensionCallout() {} - explicit IfcStructuredDimensionCallout (const std::weak_ptr& data) : IfcDraughtingCallout(data) {} + using IfcDraughtingCallout::IfcDraughtingCallout; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcStructuredDimensionCallout initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -25204,8 +24463,7 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc2x3::IfcCurve Directrix() const; @@ -25225,7 +24483,7 @@ public: void setReferenceSurface(const ::Ifc2x3::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcCurve v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc2x3::IfcProfileDef v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcCurve v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -25242,8 +24500,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc2x3::IfcDirection ExtrudedDirection() const; @@ -25253,7 +24510,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -25274,15 +24531,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc2x3::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc2x3::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc2x3::IfcProfileDef v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D v2_Position, ::Ifc2x3::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -25316,12 +24572,11 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -25570,8 +24825,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; std::string TaskId() const; void setTaskId(const std::string& v); @@ -25605,7 +24859,7 @@ public: void setPriority(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority); + IfcTask initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -25672,15 +24926,14 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc2x3::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -25699,8 +24952,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc2x3::IfcActorSelect TheActor() const; @@ -25708,7 +24960,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -25885,13 +25137,12 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25932,8 +25183,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcIShapeProfileDef(data) {} + using IfcIShapeProfileDef::IfcIShapeProfileDef; /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. double TopFlangeWidth() const; @@ -25948,7 +25198,7 @@ public: void setCentreOfGravityInY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_CentreOfGravityInY); + IfcAsymmetricIShapeProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_CentreOfGravityInY); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -26049,8 +25299,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -26063,7 +25312,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc2x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -26074,12 +25323,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -26093,12 +25341,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -26276,8 +25523,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -26290,7 +25536,7 @@ public: void setBuildingAddress(const ::Ifc2x3::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -26323,12 +25569,11 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: - IfcBuildingElementType() {} - explicit IfcBuildingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuildingElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -26509,15 +25754,14 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< double > v10_Elevation); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -26539,15 +25783,14 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -26649,15 +25892,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc2x3::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -26727,8 +25969,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc2x3::IfcCompositeCurveSegment > Segments() const; @@ -26738,7 +25979,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -26747,15 +25988,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc2x3::IfcAxis2Placement Position() const; void setPosition(const ::Ifc2x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc2x3::IfcAxis2Placement v1_Position); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -26831,8 +26071,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; std::optional< std::string > ResourceIdentifier() const; void setResourceIdentifier(const std::optional< std::string >& v); @@ -26845,7 +26084,7 @@ public: void setBaseQuantity(const ::Ifc2x3::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -26859,13 +26098,12 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcControl initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -26905,12 +26143,11 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -26937,8 +26174,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; ::Ifc2x3::IfcActorSelect SubmittedBy() const; void setSubmittedBy(const ::Ifc2x3::IfcActorSelect& v); @@ -26974,7 +26210,7 @@ public: void setPredefinedType(const ::Ifc2x3::IfcCostScheduleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_SubmittedBy, ::Ifc2x3::IfcActorSelect v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect v8_SubmittedOn, std::optional< std::string > v9_Status, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_SubmittedBy, ::Ifc2x3::IfcActorSelect v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect v8_SubmittedOn, std::optional< std::string > v9_Status, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -27057,15 +26293,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc2x3::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -27079,12 +26314,11 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -27109,25 +26343,23 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc2x3::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { public: - IfcDimensionCurveDirectedCallout() {} - explicit IfcDimensionCurveDirectedCallout (const std::weak_ptr& data) : IfcDraughtingCallout(data) {} + using IfcDraughtingCallout::IfcDraughtingCallout; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcDimensionCurveDirectedCallout initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -27159,12 +26391,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -27233,18 +26464,16 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcElectricalBaseProperties : public IfcEnergyProperties { public: - IfcElectricalBaseProperties() {} - explicit IfcElectricalBaseProperties (const std::weak_ptr& data) : IfcEnergyProperties(data) {} + using IfcEnergyProperties::IfcEnergyProperties; std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > ElectricCurrentType() const; void setElectricCurrentType(const std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value >& v); @@ -27264,7 +26493,7 @@ public: void setInputPhase(const int& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence, std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, std::optional< double > v10_FullLoadCurrent, std::optional< double > v11_MinimumCircuitCurrent, std::optional< double > v12_MaximumPowerInput, std::optional< double > v13_RatedPowerInput, int v14_InputPhase); + IfcElectricalBaseProperties initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, std::optional< std::string > v6_UserDefinedEnergySequence, std::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, std::optional< double > v10_FullLoadCurrent, std::optional< double > v11_MinimumCircuitCurrent, std::optional< double > v12_MaximumPowerInput, std::optional< double > v13_RatedPowerInput, int v14_InputPhase); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -27321,8 +26550,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -27341,7 +26569,7 @@ public: std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -27439,8 +26667,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -27452,7 +26679,7 @@ public: void setPredefinedType(const ::Ifc2x3::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -27533,12 +26760,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -27551,12 +26777,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -27587,8 +26812,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -27598,7 +26822,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -27625,32 +26849,29 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcEquipmentElement : public IfcElement { public: - IfcEquipmentElement() {} - explicit IfcEquipmentElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEquipmentElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEquipmentStandard : public IfcControl { public: - IfcEquipmentStandard() {} - explicit IfcEquipmentStandard (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcEquipmentStandard initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -27680,15 +26901,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -27718,15 +26938,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc2x3::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -27754,12 +26973,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc2x3::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -27787,15 +27005,14 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc2x3::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc2x3::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcClosedShell v1_Outer, std::vector< ::Ifc2x3::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc2x3::IfcClosedShell v1_Outer, std::vector< ::Ifc2x3::IfcClosedShell > v2_Voids); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -27807,12 +27024,11 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -27839,12 +27055,11 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -27942,12 +27157,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -28006,13 +27220,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -28066,13 +27279,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -28098,12 +27310,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -28130,12 +27341,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -28171,15 +27381,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc2x3::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -28205,12 +27414,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -28245,12 +27453,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -28261,12 +27468,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -28277,12 +27483,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -28294,12 +27499,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -28407,34 +27611,31 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcFurnitureStandard : public IfcControl { public: - IfcFurnitureStandard() {} - explicit IfcFurnitureStandard (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcFurnitureStandard initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcGasTerminalType : public IfcFlowTerminalType { public: - IfcGasTerminalType() {} - explicit IfcGasTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc2x3::IfcGasTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcGasTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType); + IfcGasTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -28534,8 +27735,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcProduct { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc2x3::IfcGridAxis > UAxes() const; @@ -28549,7 +27749,7 @@ public: std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc2x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc2x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc2x3::IfcGridAxis > > v10_WAxes); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc2x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc2x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc2x3::IfcGridAxis > > v10_WAxes); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -28583,13 +27783,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -28622,15 +27821,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc2x3::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -28660,15 +27858,14 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc2x3::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; /// An inventory is a list of items within an enterprise. /// @@ -28683,8 +27880,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; ::Ifc2x3::IfcInventoryTypeEnum::Value InventoryType() const; void setInventoryType(const ::Ifc2x3::IfcInventoryTypeEnum::Value& v); @@ -28707,7 +27903,7 @@ public: void setOriginalValue(const ::Ifc2x3::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect v7_Jurisdiction, std::vector< ::Ifc2x3::IfcPerson > v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate v9_LastUpdateDate, ::Ifc2x3::IfcCostValue v10_CurrentValue, ::Ifc2x3::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect v7_Jurisdiction, std::vector< ::Ifc2x3::IfcPerson > v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate v9_LastUpdateDate, ::Ifc2x3::IfcCostValue v10_CurrentValue, ::Ifc2x3::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -28738,15 +27934,14 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc2x3::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -28774,14 +27969,13 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; std::optional< std::string > SkillSet() const; void setSkillSet(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::string > v10_SkillSet); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::string > v10_SkillSet); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -28814,15 +28008,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc2x3::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -28857,25 +28050,23 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc2x3::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearDimension : public IfcDimensionCurveDirectedCallout { public: - IfcLinearDimension() {} - explicit IfcLinearDimension (const std::weak_ptr& data) : IfcDimensionCurveDirectedCallout(data) {} + using IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcLinearDimension initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -28908,8 +28099,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcFastener { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcFastener(data) {} + using IfcFastener::IfcFastener; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -28917,7 +28107,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -28956,12 +28146,11 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcFastenerType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcFastenerType(data) {} + using IfcFastenerType::IfcFastenerType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -29066,15 +28255,14 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc2x3::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMemberTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -29105,21 +28293,19 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc2x3::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMove : public IfcTask { public: - IfcMove() {} - explicit IfcMove (const std::weak_ptr& data) : IfcTask(data) {} + using IfcTask::IfcTask; ::Ifc2x3::IfcSpatialStructureElement MoveFrom() const; void setMoveFrom(const ::Ifc2x3::IfcSpatialStructureElement& v); @@ -29129,7 +28315,7 @@ public: void setPunchList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement v12_MoveTo, std::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList); + IfcMove initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement v12_MoveTo, std::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -29140,8 +28326,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -29150,7 +28335,7 @@ public: void setPredefinedType(const ::Ifc2x3::IfcOccupantTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -29356,25 +28541,23 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcOrderAction : public IfcTask { public: - IfcOrderAction() {} - explicit IfcOrderAction (const std::weak_ptr& data) : IfcTask(data) {} + using IfcTask::IfcTask; std::string ActionID() const; void setActionID(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, std::string v11_ActionID); + IfcOrderAction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_TaskId, std::optional< std::string > v7_Status, std::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, std::optional< int > v10_Priority, std::string v11_ActionID); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -29407,15 +28590,14 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc2x3::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -29424,15 +28606,14 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; void setLifeCyclePhase(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -29473,14 +28654,13 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::string PermitID() const; void setPermitID(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_PermitID); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_PermitID); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -29513,15 +28693,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc2x3::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -29558,15 +28737,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc2x3::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -29647,15 +28825,14 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc2x3::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPlateTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -29673,15 +28850,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc2x3::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc2x3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc2x3::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -29738,15 +28914,14 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -29854,8 +29029,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; std::string ProcedureID() const; void setProcedureID(const std::string& v); @@ -29865,7 +29039,7 @@ public: void setUserDefinedProcedureType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, ::Ifc2x3::IfcProcedureTypeEnum::Value v7_ProcedureType, std::optional< std::string > v8_UserDefinedProcedureType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, ::Ifc2x3::IfcProcedureTypeEnum::Value v7_ProcedureType, std::optional< std::string > v8_UserDefinedProcedureType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -29912,8 +29086,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::string ID() const; void setID(const std::string& v); @@ -29935,13 +29108,12 @@ public: void setStatus(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ID, ::Ifc2x3::IfcProjectOrderTypeEnum::Value v7_PredefinedType, std::optional< std::string > v8_Status); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_ID, ::Ifc2x3::IfcProjectOrderTypeEnum::Value v7_PredefinedType, std::optional< std::string > v8_Status); }; class IFC_PARSE_API IfcProjectOrderRecord : public IfcControl { public: - IfcProjectOrderRecord() {} - explicit IfcProjectOrderRecord (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > Records() const; void setRecords(const std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder >& v); @@ -29949,7 +29121,7 @@ public: void setPredefinedType(const ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > v6_Records, ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v7_PredefinedType); + IfcProjectOrderRecord initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::vector< ::Ifc2x3::IfcRelAssignsToProjectOrder > v6_Records, ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v7_PredefinedType); }; /// The projection element is a /// specialization of the general feature element to represent @@ -30060,12 +29232,11 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -30104,15 +29275,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -30144,25 +29314,23 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc2x3::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { public: - IfcRadiusDimension() {} - explicit IfcRadiusDimension (const std::weak_ptr& data) : IfcDimensionCurveDirectedCallout(data) {} + using IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcRadiusDimension initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -30186,15 +29354,14 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc2x3::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRailingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -30218,15 +29385,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc2x3::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -30252,24 +29418,22 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc2x3::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelAssignsTasks : public IfcRelAssignsToControl { public: - IfcRelAssignsTasks() {} - explicit IfcRelAssignsTasks (const std::weak_ptr& data) : IfcRelAssignsToControl(data) {} + using IfcRelAssignsToControl::IfcRelAssignsToControl; ::Ifc2x3::IfcScheduleTimeControl TimeForTask() const; void setTimeForTask(const ::Ifc2x3::IfcScheduleTimeControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl v8_TimeForTask); + IfcRelAssignsTasks initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc2x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl v8_TimeForTask); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -30310,21 +29474,19 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcScheduleTimeControl : public IfcControl { public: - IfcScheduleTimeControl() {} - explicit IfcScheduleTimeControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; ::Ifc2x3::IfcDateTimeSelect ActualStart() const; void setActualStart(const ::Ifc2x3::IfcDateTimeSelect& v); @@ -30365,13 +29527,12 @@ public: std::vector< IfcRelAssignsTasks > ScheduleTimeControlAssigned() const; // INVERSE IfcRelAssignsTasks::TimeForTask static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcDateTimeSelect v6_ActualStart, ::Ifc2x3::IfcDateTimeSelect v7_EarlyStart, ::Ifc2x3::IfcDateTimeSelect v8_LateStart, ::Ifc2x3::IfcDateTimeSelect v9_ScheduleStart, ::Ifc2x3::IfcDateTimeSelect v10_ActualFinish, ::Ifc2x3::IfcDateTimeSelect v11_EarlyFinish, ::Ifc2x3::IfcDateTimeSelect v12_LateFinish, ::Ifc2x3::IfcDateTimeSelect v13_ScheduleFinish, std::optional< double > v14_ScheduleDuration, std::optional< double > v15_ActualDuration, std::optional< double > v16_RemainingTime, std::optional< double > v17_FreeFloat, std::optional< double > v18_TotalFloat, std::optional< bool > v19_IsCritical, ::Ifc2x3::IfcDateTimeSelect v20_StatusTime, std::optional< double > v21_StartFloat, std::optional< double > v22_FinishFloat, std::optional< double > v23_Completion); + IfcScheduleTimeControl initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcDateTimeSelect v6_ActualStart, ::Ifc2x3::IfcDateTimeSelect v7_EarlyStart, ::Ifc2x3::IfcDateTimeSelect v8_LateStart, ::Ifc2x3::IfcDateTimeSelect v9_ScheduleStart, ::Ifc2x3::IfcDateTimeSelect v10_ActualFinish, ::Ifc2x3::IfcDateTimeSelect v11_EarlyFinish, ::Ifc2x3::IfcDateTimeSelect v12_LateFinish, ::Ifc2x3::IfcDateTimeSelect v13_ScheduleFinish, std::optional< double > v14_ScheduleDuration, std::optional< double > v15_ActualDuration, std::optional< double > v16_RemainingTime, std::optional< double > v17_FreeFloat, std::optional< double > v18_TotalFloat, std::optional< bool > v19_IsCritical, ::Ifc2x3::IfcDateTimeSelect v20_StatusTime, std::optional< double > v21_StartFloat, std::optional< double > v22_FinishFloat, std::optional< double > v23_Completion); }; class IFC_PARSE_API IfcServiceLife : public IfcControl { public: - IfcServiceLife() {} - explicit IfcServiceLife (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; ::Ifc2x3::IfcServiceLifeTypeEnum::Value ServiceLifeType() const; void setServiceLifeType(const ::Ifc2x3::IfcServiceLifeTypeEnum::Value& v); @@ -30379,7 +29540,7 @@ public: void setServiceLifeDuration(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcServiceLifeTypeEnum::Value v6_ServiceLifeType, double v7_ServiceLifeDuration); + IfcServiceLife initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcServiceLifeTypeEnum::Value v6_ServiceLifeType, double v7_ServiceLifeDuration); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -30572,8 +29733,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -30595,7 +29755,7 @@ public: void setSiteAddress(const ::Ifc2x3::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc2x3::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc2x3::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -30676,15 +29836,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc2x3::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -30938,8 +30097,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc2x3::IfcInternalOrExternalEnum::Value InteriorOrExteriorSpace() const; void setInteriorOrExteriorSpace(const ::Ifc2x3::IfcInternalOrExternalEnum::Value& v); @@ -30950,7 +30108,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, ::Ifc2x3::IfcInternalOrExternalEnum::Value v10_InteriorOrExteriorSpace, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, ::Ifc2x3::IfcInternalOrExternalEnum::Value v10_InteriorOrExteriorSpace, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -30984,21 +30142,19 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSpaceProgram : public IfcControl { public: - IfcSpaceProgram() {} - explicit IfcSpaceProgram (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::string SpaceProgramIdentifier() const; void setSpaceProgramIdentifier(const std::string& v); @@ -31014,7 +30170,7 @@ public: std::vector< IfcRelInteractionRequirements > HasInteractionReqsTo() const; // INVERSE IfcRelInteractionRequirements::RelatingSpaceProgram static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, std::optional< double > v7_MaxRequiredArea, std::optional< double > v8_MinRequiredArea, ::Ifc2x3::IfcSpatialStructureElement v9_RequestedLocation, double v10_StandardRequiredArea); + IfcSpaceProgram initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, std::optional< double > v7_MaxRequiredArea, std::optional< double > v8_MinRequiredArea, ::Ifc2x3::IfcSpatialStructureElement v9_RequestedLocation, double v10_StandardRequiredArea); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -31099,15 +30255,14 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc2x3::IfcSpaceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcSpaceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceTypeEnum::Value v10_PredefinedType); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -31137,15 +30292,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc2x3::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -31169,15 +30323,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc2x3::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -31200,8 +30353,7 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. bool DestabilizingLoad() const; @@ -31210,15 +30362,14 @@ public: void setCausedBy(const ::Ifc2x3::IfcStructuralReaction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc2x3::IfcBoundaryCondition AppliedCondition() const; @@ -31226,7 +30377,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -31247,12 +30398,11 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -31293,15 +30443,14 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc2x3::IfcStructuralCurveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcStructuralCurveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -31325,12 +30474,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -31341,20 +30489,18 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const; void setProjectedOrTrue(const ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue); }; class IFC_PARSE_API IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { public: - IfcStructuralLinearActionVarying() {} - explicit IfcStructuralLinearActionVarying (const std::weak_ptr& data) : IfcStructuralLinearAction(data) {} + using IfcStructuralLinearAction::IfcStructuralLinearAction; ::Ifc2x3::IfcShapeAspect VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(const ::Ifc2x3::IfcShapeAspect& v); @@ -31362,7 +30508,7 @@ public: void setSubsequentAppliedLoads(const std::vector< ::Ifc2x3::IfcStructuralLoad >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads); + IfcStructuralLinearActionVarying initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -31399,8 +30545,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc2x3::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -31421,7 +30566,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc2x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc2x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -31432,20 +30577,18 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value ProjectedOrTrue() const; void setProjectedOrTrue(const ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue); }; class IFC_PARSE_API IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { public: - IfcStructuralPlanarActionVarying() {} - explicit IfcStructuralPlanarActionVarying (const std::weak_ptr& data) : IfcStructuralPlanarAction(data) {} + using IfcStructuralPlanarAction::IfcStructuralPlanarAction; ::Ifc2x3::IfcShapeAspect VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(const ::Ifc2x3::IfcShapeAspect& v); @@ -31453,7 +30596,7 @@ public: void setSubsequentAppliedLoads(const std::vector< ::Ifc2x3::IfcStructuralLoad >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads); + IfcStructuralPlanarActionVarying initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect v13_VaryingAppliedLoadLocation, std::vector< ::Ifc2x3::IfcStructuralLoad > v14_SubsequentAppliedLoads); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -31502,12 +30645,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction v11_CausedBy); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -31524,12 +30666,11 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -31576,12 +30717,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -31589,8 +30729,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -31604,7 +30743,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc2x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc2x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -31620,12 +30759,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, ::Ifc2x3::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -31653,8 +30791,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; ::Ifc2x3::IfcActorSelect SubContractor() const; void setSubContractor(const ::Ifc2x3::IfcActorSelect& v); @@ -31662,7 +30799,7 @@ public: void setJobDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, ::Ifc2x3::IfcActorSelect v10_SubContractor, std::optional< std::string > v11_JobDescription); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, ::Ifc2x3::IfcActorSelect v10_SubContractor, std::optional< std::string > v11_JobDescription); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -31706,15 +30843,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -31735,13 +30871,12 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -31777,21 +30912,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc2x3::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTimeSeriesSchedule : public IfcControl { public: - IfcTimeSeriesSchedule() {} - explicit IfcTimeSeriesSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > > ApplicableDates() const; void setApplicableDates(const std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > >& v); @@ -31801,7 +30934,7 @@ public: void setTimeSeries(const ::Ifc2x3::IfcTimeSeries& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries v8_TimeSeries); + IfcTimeSeriesSchedule initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::vector< ::Ifc2x3::IfcDateTimeSelect > > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries v8_TimeSeries); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -31832,15 +30965,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc2x3::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -31960,8 +31092,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > OperationType() const; void setOperationType(const std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value >& v); @@ -31973,7 +31104,7 @@ public: void setCapacityByNumber(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v9_OperationType, std::optional< double > v10_CapacityByWeight, std::optional< double > v11_CapacityByNumber); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v9_OperationType, std::optional< double > v10_CapacityByWeight, std::optional< double > v11_CapacityByNumber); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -32055,8 +31186,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc2x3::IfcCurve BasisCurve() const; @@ -32075,7 +31205,7 @@ public: void setMasterRepresentation(const ::Ifc2x3::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc2x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc2x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc2x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc2x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc2x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -32108,15 +31238,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc2x3::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -32148,15 +31277,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -32198,15 +31326,14 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc2x3::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -32296,12 +31423,11 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -32389,15 +31515,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc2x3::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -32437,15 +31562,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc2x3::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -32493,8 +31617,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::string Identifier() const; void setIdentifier(const std::string& v); @@ -32525,7 +31648,7 @@ public: void setUserDefinedControlType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -32554,12 +31677,11 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -32603,12 +31725,11 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect v7_CreationDate, std::optional< std::vector< ::Ifc2x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< double > v10_Duration, std::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect v12_StartTime, ::Ifc2x3::IfcDateTimeSelect v13_FinishTime, std::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, std::optional< std::string > v15_UserDefinedControlType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -32697,22 +31818,20 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcGroup { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcZone initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API Ifc2DCompositeCurve : public IfcCompositeCurve { public: - Ifc2DCompositeCurve() {} - explicit Ifc2DCompositeCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + Ifc2DCompositeCurve initialize(std::vector< ::Ifc2x3::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -32754,14 +31873,13 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; std::string RequestID() const; void setRequestID(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_RequestID); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_RequestID); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -32791,15 +31909,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -32829,14 +31946,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc2x3::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -32866,25 +31982,23 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAngularDimension : public IfcDimensionCurveDirectedCallout { public: - IfcAngularDimension() {} - explicit IfcAngularDimension (const std::weak_ptr& data) : IfcDimensionCurveDirectedCallout(data) {} + using IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcAngularDimension initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -32912,8 +32026,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::string AssetID() const; void setAssetID(const std::string& v); @@ -32947,7 +32060,7 @@ public: void setDepreciatedValue(const ::Ifc2x3::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue v7_OriginalValue, ::Ifc2x3::IfcCostValue v8_CurrentValue, ::Ifc2x3::IfcCostValue v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect v10_Owner, ::Ifc2x3::IfcActorSelect v11_User, ::Ifc2x3::IfcPerson v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate v13_IncorporationDate, ::Ifc2x3::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue v7_OriginalValue, ::Ifc2x3::IfcCostValue v8_CurrentValue, ::Ifc2x3::IfcCostValue v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect v10_Owner, ::Ifc2x3::IfcActorSelect v11_User, ::Ifc2x3::IfcPerson v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate v13_IncorporationDate, ::Ifc2x3::IfcCostValue v14_DepreciatedValue); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -33000,8 +32113,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -33020,7 +32132,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -33122,25 +32234,23 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc2x3::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBezierCurve : public IfcBSplineCurve { public: - IfcBezierCurve() {} - explicit IfcBezierCurve (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBezierCurve initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -33173,15 +32283,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc2x3::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -33548,22 +32657,20 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: - IfcBuildingElement() {} - explicit IfcBuildingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuildingElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuildingElementComponent : public IfcBuildingElement { public: - IfcBuildingElementComponent() {} - explicit IfcBuildingElementComponent (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuildingElementComponent initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -33584,12 +32691,11 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcBuildingElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcBuildingElementComponent(data) {} + using IfcBuildingElementComponent::IfcBuildingElementComponent; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -33783,14 +32889,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > CompositionType() const; void setCompositionType(const std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -33828,15 +32933,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -33866,15 +32970,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -33910,15 +33013,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -33963,15 +33065,14 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc2x3::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -34007,15 +33108,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc2x3::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -34046,15 +33146,14 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc2x3::IfcAxis2Placement v1_Position, double v2_Radius); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -34085,15 +33184,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc2x3::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -34368,12 +33466,11 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -34404,15 +33501,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc2x3::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -34443,31 +33539,28 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc2x3::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCondition : public IfcGroup { public: - IfcCondition() {} - explicit IfcCondition (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcCondition initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcConditionCriterion : public IfcControl { public: - IfcConditionCriterion() {} - explicit IfcConditionCriterion (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; ::Ifc2x3::IfcConditionCriterionSelect Criterion() const; void setCriterion(const ::Ifc2x3::IfcConditionCriterionSelect& v); @@ -34475,7 +33568,7 @@ public: void setCriterionDateTime(const ::Ifc2x3::IfcDateTimeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect v6_Criterion, ::Ifc2x3::IfcDateTimeSelect v7_CriterionDateTime); + IfcConditionCriterion initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect v6_Criterion, ::Ifc2x3::IfcDateTimeSelect v7_CriterionDateTime); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -34501,12 +33594,11 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -34536,8 +33628,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > Suppliers() const; void setSuppliers(const std::optional< std::vector< ::Ifc2x3::IfcActorSelect > >& v); @@ -34545,7 +33636,7 @@ public: void setUsageRatio(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Suppliers, std::optional< double > v11_UsageRatio); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity, std::optional< std::vector< ::Ifc2x3::IfcActorSelect > > v10_Suppliers, std::optional< double > v11_UsageRatio); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -34564,12 +33655,11 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_ResourceIdentifier, std::optional< std::string > v7_ResourceGroup, std::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit v9_BaseQuantity); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -34602,15 +33692,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc2x3::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -34647,15 +33736,14 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc2x3::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -34883,8 +33971,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -34893,7 +33980,7 @@ public: std::vector< IfcRelCoversBldgElements > Covers() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -35035,12 +34122,11 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -35078,25 +34164,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc2x3::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { public: - IfcDiameterDimension() {} - explicit IfcDiameterDimension (const std::weak_ptr& data) : IfcDimensionCurveDirectedCallout(data) {} + using IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); + IfcDiameterDimension initialize(std::vector< ::Ifc2x3::IfcDraughtingCalloutElement > v1_Contents); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -35273,12 +34357,11 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -35470,12 +34553,11 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -35516,15 +34598,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -35582,12 +34663,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -35753,12 +34833,11 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -35830,13 +34909,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -35922,15 +35000,14 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > FlowDirection() const; void setFlowDirection(const std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v8_FlowDirection); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v8_FlowDirection); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -36290,8 +35367,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -36305,7 +35381,7 @@ public: void setOverallWidth(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -36338,15 +35414,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc2x3::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -36379,15 +35454,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc2x3::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -36417,27 +35491,25 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc2x3::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEdgeFeature : public IfcFeatureElementSubtraction { public: - IfcEdgeFeature() {} - explicit IfcEdgeFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< double > FeatureLength() const; void setFeatureLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength); + IfcEdgeFeature initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -36470,15 +35542,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc2x3::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -36509,15 +35580,14 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -36553,27 +35623,25 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricHeaterType : public IfcFlowTerminalType { public: - IfcElectricHeaterType() {} - explicit IfcElectricHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc2x3::IfcElectricHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcElectricHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType); + IfcElectricHeaterType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -36604,15 +35672,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc2x3::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -36643,35 +35710,32 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricalCircuit : public IfcSystem { public: - IfcElectricalCircuit() {} - explicit IfcElectricalCircuit (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcElectricalCircuit initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcElectricalElement : public IfcElement { public: - IfcElectricalElement() {} - explicit IfcElectricalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElectricalElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -36684,12 +35748,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -36721,15 +35784,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc2x3::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -36762,15 +35824,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc2x3::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -36807,15 +35868,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -36828,12 +35888,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -36842,12 +35901,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -36881,15 +35939,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -36898,12 +35955,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -36930,12 +35986,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -36948,12 +36003,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -36968,12 +36022,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -36982,12 +36035,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -37013,8 +36065,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The generic type of the footing. /// @@ -37023,7 +36074,7 @@ public: void setPredefinedType(const ::Ifc2x3::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -37277,12 +36328,11 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcMember initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -37304,8 +36354,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The predefined generic type of the pile according to function. /// @@ -37319,7 +36368,7 @@ public: void setConstructionType(const std::optional< ::Ifc2x3::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcPileTypeEnum::Value v9_PredefinedType, std::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcPileTypeEnum::Value v9_PredefinedType, std::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -37551,12 +36600,11 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -37692,8 +36740,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -37702,7 +36749,7 @@ public: void setPredefinedType(const std::optional< ::Ifc2x3::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -37839,14 +36886,13 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; ::Ifc2x3::IfcRampTypeEnum::Value ShapeType() const; void setShapeType(const ::Ifc2x3::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRampTypeEnum::Value v9_ShapeType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRampTypeEnum::Value v9_ShapeType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -38038,24 +37084,22 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcRationalBezierCurve : public IfcBezierCurve { public: - IfcRationalBezierCurve() {} - explicit IfcRationalBezierCurve (const std::weak_ptr& data) : IfcBezierCurve(data) {} + using IfcBezierCurve::IfcBezierCurve; std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData); + IfcRationalBezierCurve initialize(int v1_Degree, std::vector< ::Ifc2x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -38067,14 +37111,13 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcBuildingElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcBuildingElementComponent(data) {} + using IfcBuildingElementComponent::IfcBuildingElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38102,8 +37145,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -38123,7 +37165,7 @@ public: void setTransverseBarSpacing(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -38272,26 +37314,24 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; ::Ifc2x3::IfcRoofTypeEnum::Value ShapeType() const; void setShapeType(const ::Ifc2x3::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRoofTypeEnum::Value v9_ShapeType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcRoofTypeEnum::Value v9_ShapeType); }; class IFC_PARSE_API IfcRoundedEdgeFeature : public IfcEdgeFeature { public: - IfcRoundedEdgeFeature() {} - explicit IfcRoundedEdgeFeature (const std::weak_ptr& data) : IfcEdgeFeature(data) {} + using IfcEdgeFeature::IfcEdgeFeature; std::optional< double > Radius() const; void setRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Radius); + IfcRoundedEdgeFeature initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Radius); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -38343,15 +37383,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc2x3::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -38615,8 +37654,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -38626,7 +37664,7 @@ public: void setPredefinedType(const std::optional< ::Ifc2x3::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -38795,14 +37833,13 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; ::Ifc2x3::IfcStairTypeEnum::Value ShapeType() const; void setShapeType(const ::Ifc2x3::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcStairTypeEnum::Value v9_ShapeType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcStairTypeEnum::Value v9_ShapeType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -38973,8 +38010,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Number of the risers included in the stair flight /// @@ -38998,7 +38034,7 @@ public: void setTreadLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRiser, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRiser, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -39025,8 +38061,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc2x3::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -39051,13 +38086,12 @@ public: void setHasResults(const std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > > v9_HasResults); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc2x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc2x3::IfcStructuralResultGroup > > v9_HasResults); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc2x3::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcTendonTypeEnum::Value& v); @@ -39077,17 +38111,16 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc2x3::IfcTendonTypeEnum::Value v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc2x3::IfcTendonTypeEnum::Value v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -39113,15 +38146,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcDiscreteAccessoryType(data) {} + using IfcDiscreteAccessoryType::IfcDiscreteAccessoryType; /// Defines the type of vibration isolator. ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -39367,12 +38399,11 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcWall initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -39578,12 +38609,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -39945,8 +38975,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -39960,7 +38989,7 @@ public: void setOverallWidth(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -39995,15 +39024,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc2x3::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -40033,15 +39061,14 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc2x3::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -40282,18 +39309,16 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcChamferEdgeFeature : public IfcEdgeFeature { public: - IfcChamferEdgeFeature() {} - explicit IfcChamferEdgeFeature (const std::weak_ptr& data) : IfcEdgeFeature(data) {} + using IfcEdgeFeature::IfcEdgeFeature; std::optional< double > Width() const; void setWidth(const std::optional< double >& v); @@ -40301,7 +39326,7 @@ public: void setHeight(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Width, std::optional< double > v11_Height); + IfcChamferEdgeFeature initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_FeatureLength, std::optional< double > v10_Width, std::optional< double > v11_Height); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -40341,15 +39366,14 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc2x3::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc2x3::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc2x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc2x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -40384,12 +39408,11 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -40471,21 +39494,19 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::optional< std::string > ControlElementId() const; void setControlElementId(const std::optional< std::string >& v); std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ControlElementId); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ControlElementId); }; class IFC_PARSE_API IfcElectricDistributionPoint : public IfcFlowController { public: - IfcElectricDistributionPoint() {} - explicit IfcElectricDistributionPoint (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value DistributionPointFunction() const; void setDistributionPointFunction(const ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value& v); @@ -40493,7 +39514,7 @@ public: void setUserDefinedFunction(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, std::optional< std::string > v10_UserDefinedFunction); + IfcElectricDistributionPoint initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, std::optional< std::string > v10_UserDefinedFunction); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -40525,8 +39546,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; double NominalDiameter() const; void setNominalDiameter(const double& v); @@ -40540,7 +39560,7 @@ public: void setBarSurface(const std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, std::optional< double > v12_BarLength, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v13_BarRole, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, std::optional< double > v12_BarLength, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v13_BarRole, std::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; }; diff --git a/src/ifcparse/schemas/Ifc4.cpp b/src/ifcparse/schemas/Ifc4.cpp index 0184c87c75..771903519a 100644 --- a/src/ifcparse/schemas/Ifc4.cpp +++ b/src/ifcparse/schemas/Ifc4.cpp @@ -6165,652 +6165,652 @@ const ifcopenshell::select_type& Ifc4::IfcWarpingStiffnessSelect::Class() { retu // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[0]); } -void Ifc4::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcAbsorbedDoseMeasure Ifc4::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1]); } -void Ifc4::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcAccelerationMeasure Ifc4::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[29]); } -void Ifc4::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcAmountOfSubstanceMeasure Ifc4::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[32]); } -void Ifc4::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcAngularVelocityMeasure Ifc4::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[43]); } -void Ifc4::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4::IfcArcIndex Ifc4::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[44]); } -void Ifc4::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcAreaDensityMeasure Ifc4::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[45]); } -void Ifc4::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcAreaMeasure Ifc4::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[63]); } -void Ifc4::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4::IfcBinary Ifc4::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[69]); } -void Ifc4::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4::IfcBoolean Ifc4::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[83]); } -void Ifc4::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcBoxAlignment Ifc4::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[118]); } -void Ifc4::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcCardinalPointReference Ifc4::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[161]); } -void Ifc4::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4::IfcComplexNumber Ifc4::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[169]); } -void Ifc4::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4::IfcCompoundPlaneAngleMeasure Ifc4::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[199]); } -void Ifc4::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcContextDependentMeasure Ifc4::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[221]); } -void Ifc4::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcCountMeasure Ifc4::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[236]); } -void Ifc4::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcCurvatureMeasure Ifc4::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[254]); } -void Ifc4::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcDate Ifc4::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[255]); } -void Ifc4::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcDateTime Ifc4::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[256]); } -void Ifc4::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcDayInMonthNumber Ifc4::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[257]); } -void Ifc4::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcDayInWeekNumber Ifc4::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[264]); } -void Ifc4::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcDescriptiveMeasure Ifc4::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[266]); } -void Ifc4::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcDimensionCount Ifc4::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[304]); } -void Ifc4::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcDoseEquivalentMeasure Ifc4::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[316]); } -void Ifc4::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcDuration Ifc4::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[317]); } -void Ifc4::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcDynamicViscosityMeasure Ifc4::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[324]); } -void Ifc4::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcElectricCapacitanceMeasure Ifc4::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[325]); } -void Ifc4::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcElectricChargeMeasure Ifc4::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[326]); } -void Ifc4::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcElectricConductanceMeasure Ifc4::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[327]); } -void Ifc4::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcElectricCurrentMeasure Ifc4::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[340]); } -void Ifc4::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcElectricResistanceMeasure Ifc4::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[344]); } -void Ifc4::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcElectricVoltageMeasure Ifc4::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[359]); } -void Ifc4::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcEnergyMeasure Ifc4::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[435]); } -void Ifc4::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcFontStyle Ifc4::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[436]); } -void Ifc4::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcFontVariant Ifc4::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[437]); } -void Ifc4::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcFontWeight Ifc4::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[441]); } -void Ifc4::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcForceMeasure Ifc4::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[442]); } -void Ifc4::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcFrequencyMeasure Ifc4::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[458]); } -void Ifc4::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcGloballyUniqueId Ifc4::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[471]); } -void Ifc4::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcHeatFluxDensityMeasure Ifc4::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[472]); } -void Ifc4::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcHeatingValueMeasure Ifc4::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[476]); } -void Ifc4::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcIdentifier Ifc4::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[477]); } -void Ifc4::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcIlluminanceMeasure Ifc4::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[485]); } -void Ifc4::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcInductanceMeasure Ifc4::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[486]); } -void Ifc4::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcInteger Ifc4::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[487]); } -void Ifc4::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcIntegerCountRateMeasure Ifc4::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[495]); } -void Ifc4::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcIonConcentrationMeasure Ifc4::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[499]); } -void Ifc4::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcIsothermalMoistureCapacityMeasure Ifc4::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[503]); } -void Ifc4::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcKinematicViscosityMeasure Ifc4::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[505]); } -void Ifc4::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcLabel Ifc4::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[513]); } -void Ifc4::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcLanguageId Ifc4::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[516]); } -void Ifc4::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLengthMeasure Ifc4::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[539]); } -void Ifc4::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4::IfcLineIndex Ifc4::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[535]); } -void Ifc4::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLinearForceMeasure Ifc4::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[536]); } -void Ifc4::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLinearMomentMeasure Ifc4::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[537]); } -void Ifc4::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLinearStiffnessMeasure Ifc4::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[538]); } -void Ifc4::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLinearVelocityMeasure Ifc4::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[542]); } -void Ifc4::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4::IfcLogical Ifc4::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[546]); } -void Ifc4::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLuminousFluxMeasure Ifc4::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[547]); } -void Ifc4::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLuminousIntensityDistributionMeasure Ifc4::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[548]); } -void Ifc4::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcLuminousIntensityMeasure Ifc4::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[549]); } -void Ifc4::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMagneticFluxDensityMeasure Ifc4::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[550]); } -void Ifc4::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMagneticFluxMeasure Ifc4::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[554]); } -void Ifc4::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMassDensityMeasure Ifc4::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[555]); } -void Ifc4::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMassFlowRateMeasure Ifc4::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[556]); } -void Ifc4::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMassMeasure Ifc4::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[557]); } -void Ifc4::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMassPerLengthMeasure Ifc4::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[593]); } -void Ifc4::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcModulusOfElasticityMeasure Ifc4::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[594]); } -void Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcModulusOfLinearSubgradeReactionMeasure Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[595]); } -void Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[597]); } -void Ifc4::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcModulusOfSubgradeReactionMeasure Ifc4::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[600]); } -void Ifc4::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMoistureDiffusivityMeasure Ifc4::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[601]); } -void Ifc4::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMolecularWeightMeasure Ifc4::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[602]); } -void Ifc4::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMomentOfInertiaMeasure Ifc4::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[603]); } -void Ifc4::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcMonetaryMeasure Ifc4::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[605]); } -void Ifc4::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcMonthInYearNumber Ifc4::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[610]); } -void Ifc4::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcNonNegativeLengthMeasure Ifc4::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[611]); } -void Ifc4::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcNormalisedRatioMeasure Ifc4::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[613]); } -void Ifc4::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcNumericMeasure Ifc4::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[649]); } -void Ifc4::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPHMeasure Ifc4::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[638]); } -void Ifc4::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcParameterValue Ifc4::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[668]); } -void Ifc4::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPlanarForceMeasure Ifc4::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[670]); } -void Ifc4::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPlaneAngleMeasure Ifc4::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[684]); } -void Ifc4::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcPositiveInteger Ifc4::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[685]); } -void Ifc4::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPositiveLengthMeasure Ifc4::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[686]); } -void Ifc4::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPositivePlaneAngleMeasure Ifc4::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[687]); } -void Ifc4::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPositiveRatioMeasure Ifc4::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[689]); } -void Ifc4::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPowerMeasure Ifc4::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[697]); } -void Ifc4::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcPresentableText Ifc4::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[704]); } -void Ifc4::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcPressureMeasure Ifc4::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[738]); } -void Ifc4::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4::IfcPropertySetDefinitionSet Ifc4::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[762]); } -void Ifc4::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcRadioActivityMeasure Ifc4::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[772]); } -void Ifc4::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcRatioMeasure Ifc4::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[775]); } -void Ifc4::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcReal Ifc4::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[866]); } -void Ifc4::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcRotationalFrequencyMeasure Ifc4::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[867]); } -void Ifc4::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcRotationalMassMeasure Ifc4::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[868]); } -void Ifc4::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcRotationalStiffnessMeasure Ifc4::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[878]); } -void Ifc4::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSectionModulusMeasure Ifc4::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[876]); } -void Ifc4::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSectionalAreaIntegralMeasure Ifc4::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[893]); } -void Ifc4::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcShearModulusMeasure Ifc4::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[914]); } -void Ifc4::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSolidAngleMeasure Ifc4::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[917]); } -void Ifc4::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSoundPowerLevelMeasure Ifc4::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[918]); } -void Ifc4::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSoundPowerMeasure Ifc4::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[919]); } -void Ifc4::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSoundPressureLevelMeasure Ifc4::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[920]); } -void Ifc4::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSoundPressureMeasure Ifc4::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[935]); } -void Ifc4::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSpecificHeatCapacityMeasure Ifc4::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[936]); } -void Ifc4::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSpecularExponent Ifc4::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[938]); } -void Ifc4::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcSpecularRoughness Ifc4::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1043]); } -void Ifc4::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcTemperatureGradientMeasure Ifc4::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1044]); } -void Ifc4::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcTemperatureRateOfChangeMeasure Ifc4::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1053]); } -void Ifc4::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcText Ifc4::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1054]); } -void Ifc4::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcTextAlignment Ifc4::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1055]); } -void Ifc4::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcTextDecoration Ifc4::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1056]); } -void Ifc4::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcTextFontName Ifc4::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1065]); } -void Ifc4::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcTextTransformation Ifc4::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1071]); } -void Ifc4::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcThermalAdmittanceMeasure Ifc4::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1072]); } -void Ifc4::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcThermalConductivityMeasure Ifc4::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1073]); } -void Ifc4::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcThermalExpansionCoefficientMeasure Ifc4::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1074]); } -void Ifc4::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcThermalResistanceMeasure Ifc4::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1075]); } -void Ifc4::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcThermalTransmittanceMeasure Ifc4::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1076]); } -void Ifc4::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcThermodynamicTemperatureMeasure Ifc4::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1077]); } -void Ifc4::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcTime Ifc4::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1078]); } -void Ifc4::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcTimeMeasure Ifc4::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1084]); } -void Ifc4::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4::IfcTimeStamp Ifc4::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1088]); } -void Ifc4::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcTorqueMeasure Ifc4::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1119]); } -void Ifc4::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4::IfcURIReference Ifc4::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1125]); } -void Ifc4::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcVaporPermeabilityMeasure Ifc4::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1138]); } -void Ifc4::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcVolumeMeasure Ifc4::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1139]); } -void Ifc4::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcVolumetricFlowRateMeasure Ifc4::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1145]); } -void Ifc4::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcWarpingConstantMeasure Ifc4::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4_types[1146]); } -void Ifc4::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4::IfcWarpingMomentMeasure Ifc4::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -6824,7 +6824,7 @@ void Ifc4::IfcActionRequest::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4_types[2]); } -void Ifc4::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4::IfcActionRequest Ifc4::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4::IfcActorSelect Ifc4::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcActorSelect>(); } @@ -6833,7 +6833,7 @@ void Ifc4::IfcActor::setTheActor(const ::Ifc4::IfcActorSelect& v) { set_attribut std::vector<::Ifc4::IfcRelAssignsToActor> Ifc4::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[799], 6)); } const ifcopenshell::entity& Ifc4::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4_types[6]); } -void Ifc4::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4::IfcActor Ifc4::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4::IfcRoleEnum::Value Ifc4::IfcActorRole::Role() const { return ::Ifc4::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -6846,7 +6846,7 @@ void Ifc4::IfcActorRole::setDescription(const std::optional< std::string >& v) { std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } const ifcopenshell::entity& Ifc4::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4_types[7]); } -void Ifc4::IfcActorRole::initialize(::Ifc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4::IfcActorRole Ifc4::IfcActorRole::initialize(::Ifc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4::IfcActuatorTypeEnum::Value > Ifc4::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -6854,7 +6854,7 @@ void Ifc4::IfcActuator::setPredefinedType(const std::optional< ::Ifc4::IfcActuat const ifcopenshell::entity& Ifc4::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4_types[9]); } -void Ifc4::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcActuator Ifc4::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorType::PredefinedType() const { return ::Ifc4::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -6862,7 +6862,7 @@ void Ifc4::IfcActuatorType::setPredefinedType(const ::Ifc4::IfcActuatorTypeEnum: const ifcopenshell::entity& Ifc4::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4_types[10]); } -void Ifc4::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcActuatorType Ifc4::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4::IfcAddressTypeEnum::Value > Ifc4::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -6876,13 +6876,13 @@ std::vector<::Ifc4::IfcPerson> Ifc4::IfcAddress::OfPerson() const { return cast_ std::vector<::Ifc4::IfcOrganization> Ifc4::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[629], 4)); } const ifcopenshell::entity& Ifc4::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4_types[12]); } -void Ifc4::IfcAddress::initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4::IfcAddress Ifc4::IfcAddress::initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4_types[14]); } -void Ifc4::IfcAdvancedBrep::initialize(::Ifc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4::IfcAdvancedBrep Ifc4::IfcAdvancedBrep::initialize(::Ifc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4::IfcClosedShell > Ifc4::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcClosedShell>(es); } @@ -6890,13 +6890,13 @@ void Ifc4::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4::IfcClos const ifcopenshell::entity& Ifc4::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[15]); } -void Ifc4::IfcAdvancedBrepWithVoids::initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4::IfcAdvancedBrepWithVoids Ifc4::IfcAdvancedBrepWithVoids::initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4_types[16]); } -void Ifc4::IfcAdvancedFace::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4::IfcAdvancedFace Ifc4::IfcAdvancedFace::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > Ifc4::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -6904,7 +6904,7 @@ void Ifc4::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4::IfcAir const ifcopenshell::entity& Ifc4::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4_types[17]); } -void Ifc4::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcAirTerminal Ifc4::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -6912,7 +6912,7 @@ void Ifc4::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4_types[18]); } -void Ifc4::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcAirTerminalBox Ifc4::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -6920,7 +6920,7 @@ void Ifc4::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4::IfcAirTerminal const ifcopenshell::entity& Ifc4::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4_types[19]); } -void Ifc4::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcAirTerminalBoxType Ifc4::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -6928,7 +6928,7 @@ void Ifc4::IfcAirTerminalType::setPredefinedType(const ::Ifc4::IfcAirTerminalTyp const ifcopenshell::entity& Ifc4::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[21]); } -void Ifc4::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcAirTerminalType Ifc4::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -6936,7 +6936,7 @@ void Ifc4::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4_types[23]); } -void Ifc4::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcAirToAirHeatRecovery Ifc4::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -6944,7 +6944,7 @@ void Ifc4::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4::IfcAirTo const ifcopenshell::entity& Ifc4::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4_types[24]); } -void Ifc4::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcAirToAirHeatRecoveryType Ifc4::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4::IfcAlarmTypeEnum::Value > Ifc4::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -6952,7 +6952,7 @@ void Ifc4::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4::IfcAlarmType const ifcopenshell::entity& Ifc4::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4_types[26]); } -void Ifc4::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcAlarm Ifc4::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmType::PredefinedType() const { return ::Ifc4::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -6960,14 +6960,14 @@ void Ifc4::IfcAlarmType::setPredefinedType(const ::Ifc4::IfcAlarmTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4_types[27]); } -void Ifc4::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcAlarmType Ifc4::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[823], 4)); } const ifcopenshell::entity& Ifc4::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4_types[33]); } -void Ifc4::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4::IfcAnnotation Ifc4::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4::IfcCurve Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -6977,7 +6977,7 @@ void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std::v const ifcopenshell::entity& Ifc4::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4_types[34]); } -void Ifc4::IfcAnnotationFillArea::initialize(::Ifc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4::IfcAnnotationFillArea Ifc4::IfcAnnotationFillArea::initialize(::Ifc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4::IfcOrganization Ifc4::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcOrganization>(); } @@ -6991,7 +6991,7 @@ void Ifc4::IfcApplication::setApplicationIdentifier(const std::string& v) { set_ const ifcopenshell::entity& Ifc4::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4_types[35]); } -void Ifc4::IfcApplication::initialize(::Ifc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4::IfcApplication Ifc4::IfcApplication::initialize(::Ifc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7018,7 +7018,7 @@ void Ifc4::IfcAppliedValue::setComponents(const std::optional< std::vector< ::If std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } const ifcopenshell::entity& Ifc4::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4_types[36]); } -void Ifc4::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4::IfcAppliedValue Ifc4::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7047,7 +7047,7 @@ std::vector<::Ifc4::IfcApprovalRelationship> Ifc4::IfcApproval::IsRelatedWith() std::vector<::Ifc4::IfcApprovalRelationship> Ifc4::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[39], 2)); } const ifcopenshell::entity& Ifc4::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4_types[38]); } -void Ifc4::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect v8_RequestingApproval, ::Ifc4::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4::IfcApproval Ifc4::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect v8_RequestingApproval, ::Ifc4::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4::IfcApproval Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcApproval>(); } @@ -7057,7 +7057,7 @@ void Ifc4::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[39]); } -void Ifc4::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4::IfcApprovalRelationship Ifc4::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4::IfcCurve Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } @@ -7065,7 +7065,7 @@ void Ifc4::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4::IfcCurve& v const ifcopenshell::entity& Ifc4::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[40]); } -void Ifc4::IfcArbitraryClosedProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4::IfcArbitraryClosedProfileDef Ifc4::IfcArbitraryClosedProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4::IfcBoundedCurve Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcBoundedCurve>(); } @@ -7073,7 +7073,7 @@ void Ifc4::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4::IfcBoundedCurve& v const ifcopenshell::entity& Ifc4::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[41]); } -void Ifc4::IfcArbitraryOpenProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4::IfcArbitraryOpenProfileDef Ifc4::IfcArbitraryOpenProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4::IfcCurve > Ifc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4::IfcCurve>(es); } @@ -7081,7 +7081,7 @@ void Ifc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< :: const ifcopenshell::entity& Ifc4::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[42]); } -void Ifc4::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4::IfcArbitraryProfileDefWithVoids Ifc4::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -7105,7 +7105,7 @@ void Ifc4::IfcAsset::setDepreciatedValue(const ::Ifc4::IfcCostValue& v) { set_at const ifcopenshell::entity& Ifc4::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4_types[48]); } -void Ifc4::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4::IfcCostValue v7_OriginalValue, ::Ifc4::IfcCostValue v8_CurrentValue, ::Ifc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4::IfcActorSelect v10_Owner, ::Ifc4::IfcActorSelect v11_User, ::Ifc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4::IfcAsset Ifc4::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4::IfcCostValue v7_OriginalValue, ::Ifc4::IfcCostValue v8_CurrentValue, ::Ifc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4::IfcActorSelect v10_Owner, ::Ifc4::IfcActorSelect v11_User, ::Ifc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -7135,7 +7135,7 @@ void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::optional< const ifcopenshell::entity& Ifc4::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[49]); } -void Ifc4::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4::IfcAsymmetricIShapeProfileDef Ifc4::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -7143,7 +7143,7 @@ void Ifc4::IfcAudioVisualAppliance::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4_types[50]); } -void Ifc4::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcAudioVisualAppliance Ifc4::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -7151,7 +7151,7 @@ void Ifc4::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4::IfcAudio const ifcopenshell::entity& Ifc4::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4_types[51]); } -void Ifc4::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcAudioVisualApplianceType Ifc4::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4::IfcDirection Ifc4::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcDirection>(); } @@ -7159,7 +7159,7 @@ void Ifc4::IfcAxis1Placement::setAxis(const ::Ifc4::IfcDirection& v) { set_attri const ifcopenshell::entity& Ifc4::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4_types[53]); } -void Ifc4::IfcAxis1Placement::initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4::IfcAxis1Placement Ifc4::IfcAxis1Placement::initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4::IfcDirection Ifc4::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcDirection>(); } @@ -7167,7 +7167,7 @@ void Ifc4::IfcAxis2Placement2D::setRefDirection(const ::Ifc4::IfcDirection& v) { const ifcopenshell::entity& Ifc4::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4_types[55]); } -void Ifc4::IfcAxis2Placement2D::initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4::IfcAxis2Placement2D Ifc4::IfcAxis2Placement2D::initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4::IfcDirection Ifc4::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcDirection>(); } @@ -7177,7 +7177,7 @@ void Ifc4::IfcAxis2Placement3D::setRefDirection(const ::Ifc4::IfcDirection& v) { const ifcopenshell::entity& Ifc4::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4_types[56]); } -void Ifc4::IfcAxis2Placement3D::initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis, ::Ifc4::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4::IfcAxis2Placement3D Ifc4::IfcAxis2Placement3D::initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis, ::Ifc4::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -7193,7 +7193,7 @@ void Ifc4::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& v) { s const ifcopenshell::entity& Ifc4::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[85]); } -void Ifc4::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4::IfcBSplineCurve Ifc4::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -7205,7 +7205,7 @@ void Ifc4::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4::IfcKnotType::Valu const ifcopenshell::entity& Ifc4::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4_types[87]); } -void Ifc4::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4::IfcBSplineCurveWithKnots Ifc4::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -7225,7 +7225,7 @@ void Ifc4::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc4::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[88]); } -void Ifc4::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4::IfcBSplineSurface Ifc4::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -7241,7 +7241,7 @@ void Ifc4::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4::IfcKnotType::Va const ifcopenshell::entity& Ifc4::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4_types[90]); } -void Ifc4::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4::IfcBSplineSurfaceWithKnots Ifc4::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4::IfcBeamTypeEnum::Value > Ifc4::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -7249,13 +7249,13 @@ void Ifc4::IfcBeam::setPredefinedType(const std::optional< ::Ifc4::IfcBeamTypeEn const ifcopenshell::entity& Ifc4::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4_types[57]); } -void Ifc4::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcBeam Ifc4::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[58]); } -void Ifc4::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcBeamStandardCase Ifc4::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamType::PredefinedType() const { return ::Ifc4::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -7263,7 +7263,7 @@ void Ifc4::IfcBeamType::setPredefinedType(const ::Ifc4::IfcBeamTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4_types[59]); } -void Ifc4::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcBeamType Ifc4::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -7273,7 +7273,7 @@ void Ifc4::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) { set const ifcopenshell::entity& Ifc4::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4_types[64]); } -void Ifc4::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4::IfcBlobTexture Ifc4::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -7285,7 +7285,7 @@ void Ifc4::IfcBlock::setZLength(const double& v) { set_attribute_value(3, v);if const ifcopenshell::entity& Ifc4::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4_types[65]); } -void Ifc4::IfcBlock::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4::IfcBlock Ifc4::IfcBlock::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4::IfcBoilerTypeEnum::Value > Ifc4::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -7293,7 +7293,7 @@ void Ifc4::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4::IfcBoilerTy const ifcopenshell::entity& Ifc4::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4_types[66]); } -void Ifc4::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcBoiler Ifc4::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerType::PredefinedType() const { return ::Ifc4::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -7301,13 +7301,13 @@ void Ifc4::IfcBoilerType::setPredefinedType(const ::Ifc4::IfcBoilerTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4_types[67]); } -void Ifc4::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcBoilerType Ifc4::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4_types[70]); } -void Ifc4::IfcBooleanClippingResult::initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4::IfcBooleanClippingResult Ifc4::IfcBooleanClippingResult::initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanResult::Operator() const { return ::Ifc4::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -7319,7 +7319,7 @@ void Ifc4::IfcBooleanResult::setSecondOperand(const ::Ifc4::IfcBooleanOperand& v const ifcopenshell::entity& Ifc4::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4_types[73]); } -void Ifc4::IfcBooleanResult::initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4::IfcBooleanResult Ifc4::IfcBooleanResult::initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7327,13 +7327,13 @@ void Ifc4::IfcBoundaryCondition::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[74]); } -void Ifc4::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcBoundaryCondition Ifc4::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[75]); } -void Ifc4::IfcBoundaryCurve::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4::IfcBoundaryCurve Ifc4::IfcBoundaryCurve::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -7351,7 +7351,7 @@ void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::Ifc const ifcopenshell::entity& Ifc4::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[76]); } -void Ifc4::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4::IfcBoundaryEdgeCondition Ifc4::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4::IfcModulusOfSubgradeReactionSelect Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(); } @@ -7363,7 +7363,7 @@ void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const ::If const ifcopenshell::entity& Ifc4::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[77]); } -void Ifc4::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4::IfcBoundaryFaceCondition Ifc4::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4::IfcTranslationalStiffnessSelect Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcTranslationalStiffnessSelect>(); } @@ -7381,7 +7381,7 @@ void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4::IfcRo const ifcopenshell::entity& Ifc4::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[78]); } -void Ifc4::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4::IfcBoundaryNodeCondition Ifc4::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4::IfcWarpingStiffnessSelect Ifc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcWarpingStiffnessSelect>(); } @@ -7389,19 +7389,19 @@ void Ifc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4_types[79]); } -void Ifc4::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4::IfcBoundaryNodeConditionWarping Ifc4::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[80]); } -void Ifc4::IfcBoundedCurve::initialize() { } +Ifc4::IfcBoundedCurve Ifc4::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[81]); } -void Ifc4::IfcBoundedSurface::initialize() { } +Ifc4::IfcBoundedSurface Ifc4::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4::IfcCartesianPoint Ifc4::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPoint>(); } @@ -7415,7 +7415,7 @@ void Ifc4::IfcBoundingBox::setZDim(const double& v) { set_attribute_value(3, v); const ifcopenshell::entity& Ifc4::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4_types[82]); } -void Ifc4::IfcBoundingBox::initialize(::Ifc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4::IfcBoundingBox Ifc4::IfcBoundingBox::initialize(::Ifc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4::IfcBoundingBox Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcBoundingBox>(); } @@ -7423,7 +7423,7 @@ void Ifc4::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4::IfcBoundingBox& v) { se const ifcopenshell::entity& Ifc4::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4_types[84]); } -void Ifc4::IfcBoxedHalfSpace::initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4::IfcBoxedHalfSpace Ifc4::IfcBoxedHalfSpace::initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -7435,13 +7435,13 @@ void Ifc4::IfcBuilding::setBuildingAddress(const ::Ifc4::IfcPostalAddress& v) { const ifcopenshell::entity& Ifc4::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4_types[91]); } -void Ifc4::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4::IfcBuilding Ifc4::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElement const ifcopenshell::entity& Ifc4::IfcBuildingElement::Class() { return *((ifcopenshell::entity*)IFC4_types[92]); } -void Ifc4::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcBuildingElement Ifc4::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > Ifc4::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -7449,7 +7449,7 @@ void Ifc4::IfcBuildingElementPart::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4_types[93]); } -void Ifc4::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcBuildingElementPart Ifc4::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -7457,7 +7457,7 @@ void Ifc4::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4::IfcBuildi const ifcopenshell::entity& Ifc4::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4_types[94]); } -void Ifc4::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcBuildingElementPartType Ifc4::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -7465,7 +7465,7 @@ void Ifc4::IfcBuildingElementProxy::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4_types[96]); } -void Ifc4::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcBuildingElementProxy Ifc4::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -7473,13 +7473,13 @@ void Ifc4::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4::IfcBuild const ifcopenshell::entity& Ifc4::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4_types[97]); } -void Ifc4::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcBuildingElementProxyType Ifc4::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementType const ifcopenshell::entity& Ifc4::IfcBuildingElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[99]); } -void Ifc4::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcBuildingElementType Ifc4::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -7487,7 +7487,7 @@ void Ifc4::IfcBuildingStorey::setElevation(const std::optional< double >& v) { i const ifcopenshell::entity& Ifc4::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4_types[100]); } -void Ifc4::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4::IfcBuildingStorey Ifc4::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > Ifc4::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -7497,7 +7497,7 @@ void Ifc4::IfcBuildingSystem::setLongName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4_types[101]); } -void Ifc4::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4::IfcBuildingSystem Ifc4::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4::IfcBurnerTypeEnum::Value > Ifc4::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -7505,7 +7505,7 @@ void Ifc4::IfcBurner::setPredefinedType(const std::optional< ::Ifc4::IfcBurnerTy const ifcopenshell::entity& Ifc4::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4_types[103]); } -void Ifc4::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcBurner Ifc4::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerType::PredefinedType() const { return ::Ifc4::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -7513,7 +7513,7 @@ void Ifc4::IfcBurnerType::setPredefinedType(const ::Ifc4::IfcBurnerTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4_types[104]); } -void Ifc4::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcBurnerType Ifc4::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -7529,7 +7529,7 @@ void Ifc4::IfcCShapeProfileDef::setInternalFilletRadius(const std::optional< dou const ifcopenshell::entity& Ifc4::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[231]); } -void Ifc4::IfcCShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4::IfcCShapeProfileDef Ifc4::IfcCShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -7537,7 +7537,7 @@ void Ifc4::IfcCableCarrierFitting::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4_types[106]); } -void Ifc4::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCableCarrierFitting Ifc4::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -7545,7 +7545,7 @@ void Ifc4::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4::IfcCableC const ifcopenshell::entity& Ifc4::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[107]); } -void Ifc4::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCableCarrierFittingType Ifc4::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7553,7 +7553,7 @@ void Ifc4::IfcCableCarrierSegment::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[109]); } -void Ifc4::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCableCarrierSegment Ifc4::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -7561,7 +7561,7 @@ void Ifc4::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4::IfcCableC const ifcopenshell::entity& Ifc4::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[110]); } -void Ifc4::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCableCarrierSegmentType Ifc4::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > Ifc4::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -7569,7 +7569,7 @@ void Ifc4::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4::IfcCa const ifcopenshell::entity& Ifc4::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4_types[112]); } -void Ifc4::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCableFitting Ifc4::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -7577,7 +7577,7 @@ void Ifc4::IfcCableFittingType::setPredefinedType(const ::Ifc4::IfcCableFittingT const ifcopenshell::entity& Ifc4::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[113]); } -void Ifc4::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCableFittingType Ifc4::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > Ifc4::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7585,7 +7585,7 @@ void Ifc4::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4::IfcCa const ifcopenshell::entity& Ifc4::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[115]); } -void Ifc4::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCableSegment Ifc4::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -7593,7 +7593,7 @@ void Ifc4::IfcCableSegmentType::setPredefinedType(const ::Ifc4::IfcCableSegmentT const ifcopenshell::entity& Ifc4::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[116]); } -void Ifc4::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCableSegmentType Ifc4::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -7601,13 +7601,13 @@ void Ifc4::IfcCartesianPoint::setCoordinates(const std::vector< double > /*[1:3] const ifcopenshell::entity& Ifc4::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4_types[119]); } -void Ifc4::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4::IfcCartesianPoint Ifc4::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4_types[120]); } -void Ifc4::IfcCartesianPointList::initialize() { } +Ifc4::IfcCartesianPointList Ifc4::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -7615,7 +7615,7 @@ void Ifc4::IfcCartesianPointList2D::setCoordList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4_types[121]); } -void Ifc4::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList) { set_attribute_value(0, (v1_CoordList)); } +Ifc4::IfcCartesianPointList2D Ifc4::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList) { set_attribute_value(0, (v1_CoordList));; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -7623,7 +7623,7 @@ void Ifc4::IfcCartesianPointList3D::setCoordList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4_types[122]); } -void Ifc4::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList) { set_attribute_value(0, (v1_CoordList)); } +Ifc4::IfcCartesianPointList3D Ifc4::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList) { set_attribute_value(0, (v1_CoordList));; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4::IfcDirection Ifc4::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcDirection>(); } @@ -7637,13 +7637,13 @@ void Ifc4::IfcCartesianTransformationOperator::setScale(const std::optional< dou const ifcopenshell::entity& Ifc4::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4_types[123]); } -void Ifc4::IfcCartesianTransformationOperator::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4::IfcCartesianTransformationOperator Ifc4::IfcCartesianTransformationOperator::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4_types[124]); } -void Ifc4::IfcCartesianTransformationOperator2D::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4::IfcCartesianTransformationOperator2D Ifc4::IfcCartesianTransformationOperator2D::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -7651,7 +7651,7 @@ void Ifc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(const std:: const ifcopenshell::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4_types[125]); } -void Ifc4::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4::IfcCartesianTransformationOperator2DnonUniform Ifc4::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4::IfcDirection Ifc4::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcDirection>(); } @@ -7659,7 +7659,7 @@ void Ifc4::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4::IfcDirec const ifcopenshell::entity& Ifc4::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4_types[126]); } -void Ifc4::IfcCartesianTransformationOperator3D::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4::IfcCartesianTransformationOperator3D Ifc4::IfcCartesianTransformationOperator3D::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -7669,7 +7669,7 @@ void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(const std:: const ifcopenshell::entity& Ifc4::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4_types[127]); } -void Ifc4::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4::IfcCartesianTransformationOperator3DnonUniform Ifc4::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -7677,7 +7677,7 @@ void Ifc4::IfcCenterLineProfileDef::setThickness(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[128]); } -void Ifc4::IfcCenterLineProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4::IfcCenterLineProfileDef Ifc4::IfcCenterLineProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4::IfcChillerTypeEnum::Value > Ifc4::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -7685,7 +7685,7 @@ void Ifc4::IfcChiller::setPredefinedType(const std::optional< ::Ifc4::IfcChiller const ifcopenshell::entity& Ifc4::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4_types[130]); } -void Ifc4::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcChiller Ifc4::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerType::PredefinedType() const { return ::Ifc4::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -7693,7 +7693,7 @@ void Ifc4::IfcChillerType::setPredefinedType(const ::Ifc4::IfcChillerTypeEnum::V const ifcopenshell::entity& Ifc4::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4_types[131]); } -void Ifc4::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcChillerType Ifc4::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4::IfcChimneyTypeEnum::Value > Ifc4::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -7701,7 +7701,7 @@ void Ifc4::IfcChimney::setPredefinedType(const std::optional< ::Ifc4::IfcChimney const ifcopenshell::entity& Ifc4::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4_types[133]); } -void Ifc4::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcChimney Ifc4::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyType::PredefinedType() const { return ::Ifc4::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -7709,7 +7709,7 @@ void Ifc4::IfcChimneyType::setPredefinedType(const ::Ifc4::IfcChimneyTypeEnum::V const ifcopenshell::entity& Ifc4::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4_types[134]); } -void Ifc4::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcChimneyType Ifc4::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -7717,7 +7717,7 @@ void Ifc4::IfcCircle::setRadius(const double& v) { set_attribute_value(1, v);if const ifcopenshell::entity& Ifc4::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4_types[136]); } -void Ifc4::IfcCircle::initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4::IfcCircle Ifc4::IfcCircle::initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -7725,7 +7725,7 @@ void Ifc4::IfcCircleHollowProfileDef::setWallThickness(const double& v) { set_at const ifcopenshell::entity& Ifc4::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[137]); } -void Ifc4::IfcCircleHollowProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4::IfcCircleHollowProfileDef Ifc4::IfcCircleHollowProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -7733,19 +7733,19 @@ void Ifc4::IfcCircleProfileDef::setRadius(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[138]); } -void Ifc4::IfcCircleProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4::IfcCircleProfileDef Ifc4::IfcCircleProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4_types[139]); } -void Ifc4::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcCivilElement Ifc4::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[140]); } -void Ifc4::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcCivilElementType Ifc4::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7767,7 +7767,7 @@ std::vector<::Ifc4::IfcRelAssociatesClassification> Ifc4::IfcClassification::Cla std::vector<::Ifc4::IfcClassificationReference> Ifc4::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[142], 3)); } const ifcopenshell::entity& Ifc4::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4_types[141]); } -void Ifc4::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4::IfcClassification Ifc4::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4::IfcClassificationReferenceSelect Ifc4::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcClassificationReferenceSelect>(); } @@ -7781,13 +7781,13 @@ std::vector<::Ifc4::IfcRelAssociatesClassification> Ifc4::IfcClassificationRefer std::vector<::Ifc4::IfcClassificationReference> Ifc4::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[142], 3)); } const ifcopenshell::entity& Ifc4::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4_types[142]); } -void Ifc4::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4::IfcClassificationReference Ifc4::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4_types[145]); } -void Ifc4::IfcClosedShell::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4::IfcClosedShell Ifc4::IfcClosedShell::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4::IfcCoilTypeEnum::Value > Ifc4::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -7795,7 +7795,7 @@ void Ifc4::IfcCoil::setPredefinedType(const std::optional< ::Ifc4::IfcCoilTypeEn const ifcopenshell::entity& Ifc4::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4_types[146]); } -void Ifc4::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCoil Ifc4::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilType::PredefinedType() const { return ::Ifc4::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -7803,7 +7803,7 @@ void Ifc4::IfcCoilType::setPredefinedType(const ::Ifc4::IfcCoilTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4_types[147]); } -void Ifc4::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCoilType Ifc4::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -7815,7 +7815,7 @@ void Ifc4::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, v);if const ifcopenshell::entity& Ifc4::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4_types[151]); } -void Ifc4::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4::IfcColourRgb Ifc4::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -7823,7 +7823,7 @@ void Ifc4::IfcColourRgbList::setColourList(const std::vector< std::vector< doubl const ifcopenshell::entity& Ifc4::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4_types[152]); } -void Ifc4::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4::IfcColourRgbList Ifc4::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7831,7 +7831,7 @@ void Ifc4::IfcColourSpecification::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4_types[153]); } -void Ifc4::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcColourSpecification Ifc4::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4::IfcColumnTypeEnum::Value > Ifc4::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -7839,13 +7839,13 @@ void Ifc4::IfcColumn::setPredefinedType(const std::optional< ::Ifc4::IfcColumnTy const ifcopenshell::entity& Ifc4::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4_types[154]); } -void Ifc4::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcColumn Ifc4::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[155]); } -void Ifc4::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcColumnStandardCase Ifc4::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnType::PredefinedType() const { return ::Ifc4::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -7853,7 +7853,7 @@ void Ifc4::IfcColumnType::setPredefinedType(const ::Ifc4::IfcColumnTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4_types[156]); } -void Ifc4::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcColumnType Ifc4::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -7861,7 +7861,7 @@ void Ifc4::IfcCommunicationsAppliance::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4_types[158]); } -void Ifc4::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCommunicationsAppliance Ifc4::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -7869,7 +7869,7 @@ void Ifc4::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4::IfcCo const ifcopenshell::entity& Ifc4::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4_types[159]); } -void Ifc4::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCommunicationsApplianceType Ifc4::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -7879,7 +7879,7 @@ void Ifc4::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4::IfcPr const ifcopenshell::entity& Ifc4::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4_types[162]); } -void Ifc4::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4::IfcComplexProperty Ifc4::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -7891,7 +7891,7 @@ void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::option const ifcopenshell::entity& Ifc4::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[163]); } -void Ifc4::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4::IfcComplexPropertyTemplate Ifc4::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4::IfcCompositeCurveSegment > Ifc4::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcCompositeCurveSegment>(es); } @@ -7901,13 +7901,13 @@ void Ifc4::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc4::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[165]); } -void Ifc4::IfcCompositeCurve::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4::IfcCompositeCurve Ifc4::IfcCompositeCurve::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[166]); } -void Ifc4::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4::IfcCompositeCurveOnSurface Ifc4::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment ::Ifc4::IfcTransitionCode::Value Ifc4::IfcCompositeCurveSegment::Transition() const { return ::Ifc4::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -7920,7 +7920,7 @@ void Ifc4::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4::IfcCurve& v) { std::vector<::Ifc4::IfcCompositeCurve> Ifc4::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[165], 0)); } const ifcopenshell::entity& Ifc4::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[167]); } -void Ifc4::IfcCompositeCurveSegment::initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4::IfcCompositeCurveSegment Ifc4::IfcCompositeCurveSegment::initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4::IfcProfileDef > Ifc4::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcProfileDef>(es); } @@ -7930,7 +7930,7 @@ void Ifc4::IfcCompositeProfileDef::setLabel(const std::optional< std::string >& const ifcopenshell::entity& Ifc4::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[168]); } -void Ifc4::IfcCompositeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4::IfcCompositeProfileDef Ifc4::IfcCompositeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4::IfcCompressorTypeEnum::Value > Ifc4::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -7938,7 +7938,7 @@ void Ifc4::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4::IfcComp const ifcopenshell::entity& Ifc4::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4_types[170]); } -void Ifc4::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCompressor Ifc4::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorType::PredefinedType() const { return ::Ifc4::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -7946,7 +7946,7 @@ void Ifc4::IfcCompressorType::setPredefinedType(const ::Ifc4::IfcCompressorTypeE const ifcopenshell::entity& Ifc4::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4_types[171]); } -void Ifc4::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCompressorType Ifc4::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4::IfcCondenserTypeEnum::Value > Ifc4::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -7954,7 +7954,7 @@ void Ifc4::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4::IfcConde const ifcopenshell::entity& Ifc4::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4_types[173]); } -void Ifc4::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCondenser Ifc4::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserType::PredefinedType() const { return ::Ifc4::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -7962,7 +7962,7 @@ void Ifc4::IfcCondenserType::setPredefinedType(const ::Ifc4::IfcCondenserTypeEnu const ifcopenshell::entity& Ifc4::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4_types[174]); } -void Ifc4::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCondenserType Ifc4::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4::IfcAxis2Placement Ifc4::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement>(); } @@ -7970,7 +7970,7 @@ void Ifc4::IfcConic::setPosition(const ::Ifc4::IfcAxis2Placement& v) { set_attri const ifcopenshell::entity& Ifc4::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4_types[176]); } -void Ifc4::IfcConic::initialize(::Ifc4::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4::IfcConic Ifc4::IfcConic::initialize(::Ifc4::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4::IfcFace > Ifc4::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcFace>(es); } @@ -7978,7 +7978,7 @@ void Ifc4::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4::IfcFace > const ifcopenshell::entity& Ifc4::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4_types[177]); } -void Ifc4::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4::IfcConnectedFaceSet Ifc4::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4::IfcCurveOrEdgeCurve Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurveOrEdgeCurve>(); } @@ -7988,13 +7988,13 @@ void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4_types[178]); } -void Ifc4::IfcConnectionCurveGeometry::initialize(::Ifc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4::IfcConnectionCurveGeometry Ifc4::IfcConnectionCurveGeometry::initialize(::Ifc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4_types[179]); } -void Ifc4::IfcConnectionGeometry::initialize() { } +Ifc4::IfcConnectionGeometry Ifc4::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -8006,7 +8006,7 @@ void Ifc4::IfcConnectionPointEccentricity::setEccentricityInZ(const std::optiona const ifcopenshell::entity& Ifc4::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4_types[180]); } -void Ifc4::IfcConnectionPointEccentricity::initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4::IfcConnectionPointEccentricity Ifc4::IfcConnectionPointEccentricity::initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4::IfcPointOrVertexPoint Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcPointOrVertexPoint>(); } @@ -8016,7 +8016,7 @@ void Ifc4::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4_types[181]); } -void Ifc4::IfcConnectionPointGeometry::initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4::IfcConnectionPointGeometry Ifc4::IfcConnectionPointGeometry::initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4::IfcSurfaceOrFaceSurface Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSurfaceOrFaceSurface>(); } @@ -8026,7 +8026,7 @@ void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::Ifc4 const ifcopenshell::entity& Ifc4::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4_types[182]); } -void Ifc4::IfcConnectionSurfaceGeometry::initialize(::Ifc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4::IfcConnectionSurfaceGeometry Ifc4::IfcConnectionSurfaceGeometry::initialize(::Ifc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4::IfcSolidOrShell Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSolidOrShell>(); } @@ -8036,7 +8036,7 @@ void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4_types[184]); } -void Ifc4::IfcConnectionVolumeGeometry::initialize(::Ifc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4::IfcConnectionVolumeGeometry Ifc4::IfcConnectionVolumeGeometry::initialize(::Ifc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8058,7 +8058,7 @@ std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcConstraint::HasEx std::vector<::Ifc4::IfcResourceConstraintRelationship> Ifc4::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[852], 2)); } const ifcopenshell::entity& Ifc4::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4_types[185]); } -void Ifc4::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4::IfcConstraint Ifc4::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8066,7 +8066,7 @@ void Ifc4::IfcConstructionEquipmentResource::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4_types[187]); } -void Ifc4::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcConstructionEquipmentResource Ifc4::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8074,7 +8074,7 @@ void Ifc4::IfcConstructionEquipmentResourceType::setPredefinedType(const ::Ifc4: const ifcopenshell::entity& Ifc4::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[188]); } -void Ifc4::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcConstructionEquipmentResourceType Ifc4::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8082,7 +8082,7 @@ void Ifc4::IfcConstructionMaterialResource::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4_types[190]); } -void Ifc4::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcConstructionMaterialResource Ifc4::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8090,7 +8090,7 @@ void Ifc4::IfcConstructionMaterialResourceType::setPredefinedType(const ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[191]); } -void Ifc4::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcConstructionMaterialResourceType Ifc4::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8098,7 +8098,7 @@ void Ifc4::IfcConstructionProductResource::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4_types[193]); } -void Ifc4::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcConstructionProductResource Ifc4::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8106,7 +8106,7 @@ void Ifc4::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[194]); } -void Ifc4::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcConstructionProductResourceType Ifc4::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4::IfcResourceTime Ifc4::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcResourceTime>(); } @@ -8118,7 +8118,7 @@ void Ifc4::IfcConstructionResource::setBaseQuantity(const ::Ifc4::IfcPhysicalQua const ifcopenshell::entity& Ifc4::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4_types[196]); } -void Ifc4::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4::IfcConstructionResource Ifc4::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4::IfcAppliedValue > > Ifc4::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4::IfcAppliedValue>(es); } @@ -8128,7 +8128,7 @@ void Ifc4::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4::IfcPhysica const ifcopenshell::entity& Ifc4::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[197]); } -void Ifc4::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4::IfcConstructionResourceType Ifc4::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -8146,7 +8146,7 @@ std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcContext::IsDefinedBy() c std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[826], 4)); } const ifcopenshell::entity& Ifc4::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4_types[198]); } -void Ifc4::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4::IfcContext Ifc4::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -8155,7 +8155,7 @@ void Ifc4::IfcContextDependentUnit::setName(const std::string& v) { set_attribut std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } const ifcopenshell::entity& Ifc4::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[200]); } -void Ifc4::IfcContextDependentUnit::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4::IfcContextDependentUnit Ifc4::IfcContextDependentUnit::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8164,7 +8164,7 @@ void Ifc4::IfcControl::setIdentification(const std::optional< std::string >& v) std::vector<::Ifc4::IfcRelAssignsToControl> Ifc4::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[800], 6)); } const ifcopenshell::entity& Ifc4::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4_types[201]); } -void Ifc4::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4::IfcControl Ifc4::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4::IfcControllerTypeEnum::Value > Ifc4::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -8172,7 +8172,7 @@ void Ifc4::IfcController::setPredefinedType(const std::optional< ::Ifc4::IfcCont const ifcopenshell::entity& Ifc4::IfcController::Class() { return *((ifcopenshell::entity*)IFC4_types[202]); } -void Ifc4::IfcController::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcController Ifc4::IfcController::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerType::PredefinedType() const { return ::Ifc4::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -8180,7 +8180,7 @@ void Ifc4::IfcControllerType::setPredefinedType(const ::Ifc4::IfcControllerTypeE const ifcopenshell::entity& Ifc4::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4_types[203]); } -void Ifc4::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcControllerType Ifc4::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -8191,7 +8191,7 @@ void Ifc4::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4::IfcMeasureW std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } const ifcopenshell::entity& Ifc4::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[205]); } -void Ifc4::IfcConversionBasedUnit::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4::IfcConversionBasedUnit Ifc4::IfcConversionBasedUnit::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -8199,7 +8199,7 @@ void Ifc4::IfcConversionBasedUnitWithOffset::setConversionOffset(const double& v const ifcopenshell::entity& Ifc4::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4_types[206]); } -void Ifc4::IfcConversionBasedUnitWithOffset::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4::IfcConversionBasedUnitWithOffset Ifc4::IfcConversionBasedUnitWithOffset::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > Ifc4::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8207,7 +8207,7 @@ void Ifc4::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4::IfcCool const ifcopenshell::entity& Ifc4::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4_types[207]); } -void Ifc4::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCooledBeam Ifc4::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8215,7 +8215,7 @@ void Ifc4::IfcCooledBeamType::setPredefinedType(const ::Ifc4::IfcCooledBeamTypeE const ifcopenshell::entity& Ifc4::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4_types[208]); } -void Ifc4::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCooledBeamType Ifc4::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > Ifc4::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -8223,7 +8223,7 @@ void Ifc4::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4::IfcCo const ifcopenshell::entity& Ifc4::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4_types[210]); } -void Ifc4::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCoolingTower Ifc4::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -8231,7 +8231,7 @@ void Ifc4::IfcCoolingTowerType::setPredefinedType(const ::Ifc4::IfcCoolingTowerT const ifcopenshell::entity& Ifc4::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4_types[211]); } -void Ifc4::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCoolingTowerType Ifc4::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4::IfcCoordinateReferenceSystemSelect Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCoordinateReferenceSystemSelect>(); } @@ -8241,7 +8241,7 @@ void Ifc4::IfcCoordinateOperation::setTargetCRS(const ::Ifc4::IfcCoordinateRefer const ifcopenshell::entity& Ifc4::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4_types[213]); } -void Ifc4::IfcCoordinateOperation::initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4::IfcCoordinateOperation Ifc4::IfcCoordinateOperation::initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8256,7 +8256,7 @@ void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< s std::vector<::Ifc4::IfcCoordinateOperation> Ifc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[213], 0)); } const ifcopenshell::entity& Ifc4::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4_types[214]); } -void Ifc4::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4::IfcCoordinateReferenceSystem Ifc4::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4::IfcCostItemTypeEnum::Value > Ifc4::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -8268,7 +8268,7 @@ void Ifc4::IfcCostItem::setCostQuantities(const std::optional< std::vector< ::If const ifcopenshell::entity& Ifc4::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4_types[216]); } -void Ifc4::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4::IfcCostItem Ifc4::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > Ifc4::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -8282,13 +8282,13 @@ void Ifc4::IfcCostSchedule::setUpdateDate(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4_types[218]); } -void Ifc4::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4::IfcCostSchedule Ifc4::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4_types[220]); } -void Ifc4::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4::IfcCostValue Ifc4::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4::IfcCoveringTypeEnum::Value > Ifc4::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -8298,7 +8298,7 @@ std::vector<::Ifc4::IfcRelCoversSpaces> Ifc4::IfcCovering::CoversSpaces() const std::vector<::Ifc4::IfcRelCoversBldgElements> Ifc4::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[824], 5)); } const ifcopenshell::entity& Ifc4::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4_types[222]); } -void Ifc4::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCovering Ifc4::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringType::PredefinedType() const { return ::Ifc4::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -8306,7 +8306,7 @@ void Ifc4::IfcCoveringType::setPredefinedType(const ::Ifc4::IfcCoveringTypeEnum: const ifcopenshell::entity& Ifc4::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4_types[223]); } -void Ifc4::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCoveringType Ifc4::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > Ifc4::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8314,7 +8314,7 @@ void Ifc4::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4::IfcCr const ifcopenshell::entity& Ifc4::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4_types[225]); } -void Ifc4::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcCrewResource Ifc4::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8322,7 +8322,7 @@ void Ifc4::IfcCrewResourceType::setPredefinedType(const ::Ifc4::IfcCrewResourceT const ifcopenshell::entity& Ifc4::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[226]); } -void Ifc4::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcCrewResourceType Ifc4::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4::IfcAxis2Placement3D Ifc4::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement3D>(); } @@ -8330,7 +8330,7 @@ void Ifc4::IfcCsgPrimitive3D::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) const ifcopenshell::entity& Ifc4::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4_types[228]); } -void Ifc4::IfcCsgPrimitive3D::initialize(::Ifc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4::IfcCsgPrimitive3D Ifc4::IfcCsgPrimitive3D::initialize(::Ifc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4::IfcCsgSelect Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCsgSelect>(); } @@ -8338,7 +8338,7 @@ void Ifc4::IfcCsgSolid::setTreeRootExpression(const ::Ifc4::IfcCsgSelect& v) { s const ifcopenshell::entity& Ifc4::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[230]); } -void Ifc4::IfcCsgSolid::initialize(::Ifc4::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4::IfcCsgSolid Ifc4::IfcCsgSolid::initialize(::Ifc4::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4::IfcMonetaryUnit Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcMonetaryUnit>(); } @@ -8354,7 +8354,7 @@ void Ifc4::IfcCurrencyRelationship::setRateSource(const ::Ifc4::IfcLibraryInform const ifcopenshell::entity& Ifc4::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[232]); } -void Ifc4::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4::IfcCurrencyRelationship Ifc4::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > Ifc4::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -8362,7 +8362,7 @@ void Ifc4::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4::IfcCur const ifcopenshell::entity& Ifc4::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4_types[233]); } -void Ifc4::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcCurtainWall Ifc4::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -8370,13 +8370,13 @@ void Ifc4::IfcCurtainWallType::setPredefinedType(const ::Ifc4::IfcCurtainWallTyp const ifcopenshell::entity& Ifc4::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4_types[234]); } -void Ifc4::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcCurtainWallType Ifc4::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[237]); } -void Ifc4::IfcCurve::initialize() { } +Ifc4::IfcCurve Ifc4::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4::IfcPlane Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcPlane>(); } @@ -8388,7 +8388,7 @@ void Ifc4::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4_types[238]); } -void Ifc4::IfcCurveBoundedPlane::initialize(::Ifc4::IfcPlane v1_BasisSurface, ::Ifc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4::IfcCurveBoundedPlane Ifc4::IfcCurveBoundedPlane::initialize(::Ifc4::IfcPlane v1_BasisSurface, ::Ifc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4::IfcSurface Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } @@ -8400,7 +8400,7 @@ void Ifc4::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attribu const ifcopenshell::entity& Ifc4::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[239]); } -void Ifc4::IfcCurveBoundedSurface::initialize(::Ifc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4::IfcCurveBoundedSurface Ifc4::IfcCurveBoundedSurface::initialize(::Ifc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4::IfcCurveFontOrScaledCurveFontSelect Ifc4::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -8414,7 +8414,7 @@ void Ifc4::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) { const ifcopenshell::entity& Ifc4::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[244]); } -void Ifc4::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4::IfcSizeSelect v3_CurveWidth, ::Ifc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4::IfcCurveStyle Ifc4::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4::IfcSizeSelect v3_CurveWidth, ::Ifc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8424,7 +8424,7 @@ void Ifc4::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4::IfcCurve const ifcopenshell::entity& Ifc4::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4_types[245]); } -void Ifc4::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4::IfcCurveStyleFont Ifc4::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8436,7 +8436,7 @@ void Ifc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { s const ifcopenshell::entity& Ifc4::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4_types[246]); } -void Ifc4::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4::IfcCurveStyleFontAndScaling Ifc4::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -8446,7 +8446,7 @@ void Ifc4::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const double& v) const ifcopenshell::entity& Ifc4::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4_types[247]); } -void Ifc4::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4::IfcCurveStyleFontPattern Ifc4::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -8454,7 +8454,7 @@ void Ifc4::IfcCylindricalSurface::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[249]); } -void Ifc4::IfcCylindricalSurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4::IfcCylindricalSurface Ifc4::IfcCylindricalSurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4::IfcDamperTypeEnum::Value > Ifc4::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -8462,7 +8462,7 @@ void Ifc4::IfcDamper::setPredefinedType(const std::optional< ::Ifc4::IfcDamperTy const ifcopenshell::entity& Ifc4::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4_types[250]); } -void Ifc4::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcDamper Ifc4::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperType::PredefinedType() const { return ::Ifc4::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -8470,7 +8470,7 @@ void Ifc4::IfcDamperType::setPredefinedType(const ::Ifc4::IfcDamperTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4_types[251]); } -void Ifc4::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcDamperType Ifc4::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4::IfcProfileDef Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcProfileDef>(); } @@ -8482,7 +8482,7 @@ void Ifc4::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[260]); } -void Ifc4::IfcDerivedProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, ::Ifc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4::IfcDerivedProfileDef Ifc4::IfcDerivedProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, ::Ifc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4::IfcDerivedUnitElement > Ifc4::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcDerivedUnitElement>(es); } @@ -8494,7 +8494,7 @@ void Ifc4::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string > const ifcopenshell::entity& Ifc4::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[261]); } -void Ifc4::IfcDerivedUnit::initialize(std::vector< ::Ifc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4::IfcDerivedUnit Ifc4::IfcDerivedUnit::initialize(std::vector< ::Ifc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4::IfcNamedUnit Ifc4::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcNamedUnit>(); } @@ -8504,7 +8504,7 @@ void Ifc4::IfcDerivedUnitElement::setExponent(const int& v) { set_attribute_valu const ifcopenshell::entity& Ifc4::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4_types[262]); } -void Ifc4::IfcDerivedUnitElement::initialize(::Ifc4::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4::IfcDerivedUnitElement Ifc4::IfcDerivedUnitElement::initialize(::Ifc4::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -8524,7 +8524,7 @@ void Ifc4::IfcDimensionalExponents::setLuminousIntensityExponent(const int& v) { const ifcopenshell::entity& Ifc4::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4_types[265]); } -void Ifc4::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4::IfcDimensionalExponents Ifc4::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -8532,7 +8532,7 @@ void Ifc4::IfcDirection::setDirectionRatios(const std::vector< double > /*[2:3]* const ifcopenshell::entity& Ifc4::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4_types[267]); } -void Ifc4::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4::IfcDirection Ifc4::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -8540,7 +8540,7 @@ void Ifc4::IfcDiscreteAccessory::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4_types[269]); } -void Ifc4::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcDiscreteAccessory Ifc4::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -8548,7 +8548,7 @@ void Ifc4::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4::IfcDiscrete const ifcopenshell::entity& Ifc4::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4_types[270]); } -void Ifc4::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcDiscreteAccessoryType Ifc4::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -8556,7 +8556,7 @@ void Ifc4::IfcDistributionChamberElement::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4_types[272]); } -void Ifc4::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcDistributionChamberElement Ifc4::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -8564,52 +8564,52 @@ void Ifc4::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[273]); } -void Ifc4::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcDistributionChamberElementType Ifc4::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4_types[275]); } -void Ifc4::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4::IfcDistributionCircuit Ifc4::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4::IfcRelFlowControlElements> Ifc4::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[834], 4)); } const ifcopenshell::entity& Ifc4::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4_types[276]); } -void Ifc4::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcDistributionControlElement Ifc4::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[277]); } -void Ifc4::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcDistributionControlElementType Ifc4::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4::IfcRelConnectsPortToElement> Ifc4::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[818], 5)); } const ifcopenshell::entity& Ifc4::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4_types[278]); } -void Ifc4::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcDistributionElement Ifc4::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[279]); } -void Ifc4::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcDistributionElementType Ifc4::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4::IfcRelFlowControlElements> Ifc4::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[834], 5)); } const ifcopenshell::entity& Ifc4::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4_types[280]); } -void Ifc4::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcDistributionFlowElement Ifc4::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[281]); } -void Ifc4::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcDistributionFlowElementType Ifc4::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4::IfcFlowDirectionEnum::Value > Ifc4::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -8621,7 +8621,7 @@ void Ifc4::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4::IfcDi const ifcopenshell::entity& Ifc4::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4_types[282]); } -void Ifc4::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4::IfcDistributionPort Ifc4::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8631,7 +8631,7 @@ void Ifc4::IfcDistributionSystem::setPredefinedType(const std::optional< ::Ifc4: const ifcopenshell::entity& Ifc4::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4_types[284]); } -void Ifc4::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4::IfcDistributionSystem Ifc4::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -8675,7 +8675,7 @@ std::vector<::Ifc4::IfcDocumentInformationRelationship> Ifc4::IfcDocumentInforma std::vector<::Ifc4::IfcDocumentInformationRelationship> Ifc4::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[288], 2)); } const ifcopenshell::entity& Ifc4::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4_types[287]); } -void Ifc4::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4::IfcDocumentInformation Ifc4::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4::IfcDocumentInformation Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcDocumentInformation>(); } @@ -8687,7 +8687,7 @@ void Ifc4::IfcDocumentInformationRelationship::setRelationshipType(const std::op const ifcopenshell::entity& Ifc4::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[288]); } -void Ifc4::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4::IfcDocumentInformationRelationship Ifc4::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -8698,7 +8698,7 @@ void Ifc4::IfcDocumentReference::setReferencedDocument(const ::Ifc4::IfcDocument std::vector<::Ifc4::IfcRelAssociatesDocument> Ifc4::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[810], 5)); } const ifcopenshell::entity& Ifc4::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4_types[289]); } -void Ifc4::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4::IfcDocumentReference Ifc4::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -8714,7 +8714,7 @@ void Ifc4::IfcDoor::setUserDefinedOperationType(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4_types[292]); } -void Ifc4::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4::IfcDoor Ifc4::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8746,7 +8746,7 @@ void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::optional< const ifcopenshell::entity& Ifc4::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[293]); } -void Ifc4::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4::IfcDoorLiningProperties Ifc4::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8762,13 +8762,13 @@ void Ifc4::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeAsp const ifcopenshell::entity& Ifc4::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[296]); } -void Ifc4::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4::IfcDoorPanelProperties Ifc4::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[297]); } -void Ifc4::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4::IfcDoorStandardCase Ifc4::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyle::OperationType() const { return ::Ifc4::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -8782,7 +8782,7 @@ void Ifc4::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value(11, v) const ifcopenshell::entity& Ifc4::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[298]); } -void Ifc4::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4::IfcDoorStyle Ifc4::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorType::PredefinedType() const { return ::Ifc4::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -8796,19 +8796,19 @@ void Ifc4::IfcDoorType::setUserDefinedOperationType(const std::optional< std::st const ifcopenshell::entity& Ifc4::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4_types[301]); } -void Ifc4::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4::IfcDoorType Ifc4::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4_types[305]); } -void Ifc4::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4::IfcDraughtingPreDefinedColour Ifc4::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4_types[306]); } -void Ifc4::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4::IfcDraughtingPreDefinedCurveFont Ifc4::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > Ifc4::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8816,7 +8816,7 @@ void Ifc4::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4::IfcDuc const ifcopenshell::entity& Ifc4::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4_types[307]); } -void Ifc4::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcDuctFitting Ifc4::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8824,7 +8824,7 @@ void Ifc4::IfcDuctFittingType::setPredefinedType(const ::Ifc4::IfcDuctFittingTyp const ifcopenshell::entity& Ifc4::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[308]); } -void Ifc4::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcDuctFittingType Ifc4::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > Ifc4::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8832,7 +8832,7 @@ void Ifc4::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4::IfcDuc const ifcopenshell::entity& Ifc4::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[310]); } -void Ifc4::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcDuctSegment Ifc4::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8840,7 +8840,7 @@ void Ifc4::IfcDuctSegmentType::setPredefinedType(const ::Ifc4::IfcDuctSegmentTyp const ifcopenshell::entity& Ifc4::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[311]); } -void Ifc4::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcDuctSegmentType Ifc4::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > Ifc4::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -8848,7 +8848,7 @@ void Ifc4::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4::IfcDu const ifcopenshell::entity& Ifc4::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4_types[313]); } -void Ifc4::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcDuctSilencer Ifc4::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -8856,7 +8856,7 @@ void Ifc4::IfcDuctSilencerType::setPredefinedType(const ::Ifc4::IfcDuctSilencerT const ifcopenshell::entity& Ifc4::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4_types[314]); } -void Ifc4::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcDuctSilencerType Ifc4::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEdge ::Ifc4::IfcVertex Ifc4::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcVertex>(); } @@ -8866,7 +8866,7 @@ void Ifc4::IfcEdge::setEdgeEnd(const ::Ifc4::IfcVertex& v) { set_attribute_value const ifcopenshell::entity& Ifc4::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4_types[318]); } -void Ifc4::IfcEdge::initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4::IfcEdge Ifc4::IfcEdge::initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4::IfcCurve Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } @@ -8876,7 +8876,7 @@ void Ifc4::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, v) const ifcopenshell::entity& Ifc4::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[319]); } -void Ifc4::IfcEdgeCurve::initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4::IfcEdgeCurve Ifc4::IfcEdgeCurve::initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4::IfcOrientedEdge > Ifc4::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcOrientedEdge>(es); } @@ -8884,7 +8884,7 @@ void Ifc4::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge > const ifcopenshell::entity& Ifc4::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4_types[320]); } -void Ifc4::IfcEdgeLoop::initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4::IfcEdgeLoop Ifc4::IfcEdgeLoop::initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > Ifc4::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8892,7 +8892,7 @@ void Ifc4::IfcElectricAppliance::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4_types[321]); } -void Ifc4::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcElectricAppliance Ifc4::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8900,7 +8900,7 @@ void Ifc4::IfcElectricApplianceType::setPredefinedType(const ::Ifc4::IfcElectric const ifcopenshell::entity& Ifc4::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4_types[322]); } -void Ifc4::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElectricApplianceType Ifc4::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -8908,7 +8908,7 @@ void Ifc4::IfcElectricDistributionBoard::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4_types[328]); } -void Ifc4::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcElectricDistributionBoard Ifc4::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -8916,7 +8916,7 @@ void Ifc4::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4_types[329]); } -void Ifc4::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElectricDistributionBoardType Ifc4::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -8924,7 +8924,7 @@ void Ifc4::IfcElectricFlowStorageDevice::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[331]); } -void Ifc4::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcElectricFlowStorageDevice Ifc4::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -8932,7 +8932,7 @@ void Ifc4::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[332]); } -void Ifc4::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElectricFlowStorageDeviceType Ifc4::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > Ifc4::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -8940,7 +8940,7 @@ void Ifc4::IfcElectricGenerator::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4_types[334]); } -void Ifc4::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcElectricGenerator Ifc4::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -8948,7 +8948,7 @@ void Ifc4::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4::IfcElectric const ifcopenshell::entity& Ifc4::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4_types[335]); } -void Ifc4::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElectricGeneratorType Ifc4::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > Ifc4::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -8956,7 +8956,7 @@ void Ifc4::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4::IfcE const ifcopenshell::entity& Ifc4::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4_types[337]); } -void Ifc4::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcElectricMotor Ifc4::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -8964,7 +8964,7 @@ void Ifc4::IfcElectricMotorType::setPredefinedType(const ::Ifc4::IfcElectricMoto const ifcopenshell::entity& Ifc4::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4_types[338]); } -void Ifc4::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElectricMotorType Ifc4::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > Ifc4::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -8972,7 +8972,7 @@ void Ifc4::IfcElectricTimeControl::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4_types[341]); } -void Ifc4::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcElectricTimeControl Ifc4::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -8980,7 +8980,7 @@ void Ifc4::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4::IfcElectr const ifcopenshell::entity& Ifc4::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4_types[342]); } -void Ifc4::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElectricTimeControlType Ifc4::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -9000,7 +9000,7 @@ std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcElement::Contain std::vector<::Ifc4::IfcRelCoversBldgElements> Ifc4::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[824], 4)); } const ifcopenshell::entity& Ifc4::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4_types[345]); } -void Ifc4::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcElement Ifc4::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > Ifc4::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -9010,7 +9010,7 @@ void Ifc4::IfcElementAssembly::setPredefinedType(const std::optional< ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4_types[347]); } -void Ifc4::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4::IfcElementAssembly Ifc4::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -9018,19 +9018,19 @@ void Ifc4::IfcElementAssemblyType::setPredefinedType(const ::Ifc4::IfcElementAss const ifcopenshell::entity& Ifc4::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4_types[348]); } -void Ifc4::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcElementAssemblyType Ifc4::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4_types[350]); } -void Ifc4::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcElementComponent Ifc4::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4_types[351]); } -void Ifc4::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcElementComponentType Ifc4::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9040,7 +9040,7 @@ void Ifc4::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4::IfcPhysi const ifcopenshell::entity& Ifc4::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4_types[353]); } -void Ifc4::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4::IfcElementQuantity Ifc4::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -9048,7 +9048,7 @@ void Ifc4::IfcElementType::setElementType(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[354]); } -void Ifc4::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcElementType Ifc4::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4::IfcAxis2Placement3D Ifc4::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement3D>(); } @@ -9056,7 +9056,7 @@ void Ifc4::IfcElementarySurface::setPosition(const ::Ifc4::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4_types[346]); } -void Ifc4::IfcElementarySurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4::IfcElementarySurface Ifc4::IfcElementarySurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -9066,7 +9066,7 @@ void Ifc4::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value(2, v) const ifcopenshell::entity& Ifc4::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4_types[355]); } -void Ifc4::IfcEllipse::initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4::IfcEllipse Ifc4::IfcEllipse::initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -9076,19 +9076,19 @@ void Ifc4::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[356]); } -void Ifc4::IfcEllipseProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4::IfcEllipseProfileDef Ifc4::IfcEllipseProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[357]); } -void Ifc4::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcEnergyConversionDevice Ifc4::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[358]); } -void Ifc4::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcEnergyConversionDeviceType Ifc4::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4::IfcEngineTypeEnum::Value > Ifc4::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -9096,7 +9096,7 @@ void Ifc4::IfcEngine::setPredefinedType(const std::optional< ::Ifc4::IfcEngineTy const ifcopenshell::entity& Ifc4::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4_types[360]); } -void Ifc4::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcEngine Ifc4::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineType::PredefinedType() const { return ::Ifc4::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -9104,7 +9104,7 @@ void Ifc4::IfcEngineType::setPredefinedType(const ::Ifc4::IfcEngineTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4_types[361]); } -void Ifc4::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcEngineType Ifc4::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -9112,7 +9112,7 @@ void Ifc4::IfcEvaporativeCooler::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4_types[363]); } -void Ifc4::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcEvaporativeCooler Ifc4::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -9120,7 +9120,7 @@ void Ifc4::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4::IfcEvaporat const ifcopenshell::entity& Ifc4::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4_types[364]); } -void Ifc4::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcEvaporativeCoolerType Ifc4::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > Ifc4::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -9128,7 +9128,7 @@ void Ifc4::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4::IfcEvap const ifcopenshell::entity& Ifc4::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4_types[366]); } -void Ifc4::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcEvaporator Ifc4::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -9136,7 +9136,7 @@ void Ifc4::IfcEvaporatorType::setPredefinedType(const ::Ifc4::IfcEvaporatorTypeE const ifcopenshell::entity& Ifc4::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4_types[367]); } -void Ifc4::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcEvaporatorType Ifc4::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4::IfcEventTypeEnum::Value > Ifc4::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -9150,7 +9150,7 @@ void Ifc4::IfcEvent::setEventOccurenceTime(const ::Ifc4::IfcEventTime& v) { set_ const ifcopenshell::entity& Ifc4::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4_types[369]); } -void Ifc4::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4::IfcEvent Ifc4::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9164,7 +9164,7 @@ void Ifc4::IfcEventTime::setScheduleDate(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4_types[370]); } -void Ifc4::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4::IfcEventTime Ifc4::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventType::PredefinedType() const { return ::Ifc4::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -9176,7 +9176,7 @@ void Ifc4::IfcEventType::setUserDefinedEventTriggerType(const std::optional< std const ifcopenshell::entity& Ifc4::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4_types[372]); } -void Ifc4::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4::IfcEventType Ifc4::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9188,13 +9188,13 @@ void Ifc4::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4::IfcPr const ifcopenshell::entity& Ifc4::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[374]); } -void Ifc4::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4::IfcExtendedProperties Ifc4::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4_types[375]); } -void Ifc4::IfcExternalInformation::initialize() { } +Ifc4::IfcExternalInformation Ifc4::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9207,7 +9207,7 @@ void Ifc4::IfcExternalReference::setName(const std::optional< std::string >& v) std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 2)); } const ifcopenshell::entity& Ifc4::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4_types[379]); } -void Ifc4::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4::IfcExternalReference Ifc4::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4::IfcExternalReference Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcExternalReference>(); } @@ -9217,7 +9217,7 @@ void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(const std const ifcopenshell::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[380]); } -void Ifc4::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4::IfcExternalReferenceRelationship Ifc4::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9226,31 +9226,31 @@ void Ifc4::IfcExternalSpatialElement::setPredefinedType(const std::optional< ::I std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[841], 4)); } const ifcopenshell::entity& Ifc4::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4_types[381]); } -void Ifc4::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcExternalSpatialElement Ifc4::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4_types[383]); } -void Ifc4::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4::IfcExternalSpatialStructureElement Ifc4::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[376]); } -void Ifc4::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4::IfcExternallyDefinedHatchStyle Ifc4::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[377]); } -void Ifc4::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4::IfcExternallyDefinedSurfaceStyle Ifc4::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4_types[378]); } -void Ifc4::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4::IfcExternallyDefinedTextFont Ifc4::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4::IfcDirection Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcDirection>(); } @@ -9260,7 +9260,7 @@ void Ifc4::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[384]); } -void Ifc4::IfcExtrudedAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4::IfcExtrudedAreaSolid Ifc4::IfcExtrudedAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4::IfcProfileDef Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcProfileDef>(); } @@ -9268,7 +9268,7 @@ void Ifc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4::IfcProfile const ifcopenshell::entity& Ifc4::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4_types[385]); } -void Ifc4::IfcExtrudedAreaSolidTapered::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4::IfcExtrudedAreaSolidTapered Ifc4::IfcExtrudedAreaSolidTapered::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4::IfcFaceBound > Ifc4::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcFaceBound>(es); } @@ -9277,7 +9277,7 @@ void Ifc4::IfcFace::setBounds(const std::vector< ::Ifc4::IfcFaceBound >& v) { se std::vector<::Ifc4::IfcTextureMap> Ifc4::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[1068], 2)); } const ifcopenshell::entity& Ifc4::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4_types[386]); } -void Ifc4::IfcFace::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4::IfcFace Ifc4::IfcFace::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4::IfcConnectedFaceSet > Ifc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcConnectedFaceSet>(es); } @@ -9285,7 +9285,7 @@ void Ifc4::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4_types[387]); } -void Ifc4::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4::IfcFaceBasedSurfaceModel Ifc4::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4::IfcLoop Ifc4::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcLoop>(); } @@ -9295,13 +9295,13 @@ void Ifc4::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4_types[388]); } -void Ifc4::IfcFaceBound::initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4::IfcFaceBound Ifc4::IfcFaceBound::initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4_types[389]); } -void Ifc4::IfcFaceOuterBound::initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4::IfcFaceOuterBound Ifc4::IfcFaceOuterBound::initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4::IfcSurface Ifc4::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcSurface>(); } @@ -9311,13 +9311,13 @@ void Ifc4::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2, const ifcopenshell::entity& Ifc4::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[390]); } -void Ifc4::IfcFaceSurface::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4::IfcFaceSurface Ifc4::IfcFaceSurface::initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4_types[391]); } -void Ifc4::IfcFacetedBrep::initialize(::Ifc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4::IfcFacetedBrep Ifc4::IfcFacetedBrep::initialize(::Ifc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4::IfcClosedShell > Ifc4::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcClosedShell>(es); } @@ -9325,7 +9325,7 @@ void Ifc4::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4::IfcClose const ifcopenshell::entity& Ifc4::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[392]); } -void Ifc4::IfcFacetedBrepWithVoids::initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4::IfcFacetedBrepWithVoids Ifc4::IfcFacetedBrepWithVoids::initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -9343,7 +9343,7 @@ void Ifc4::IfcFailureConnectionCondition::setCompressionFailureZ(const std::opti const ifcopenshell::entity& Ifc4::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[393]); } -void Ifc4::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4::IfcFailureConnectionCondition Ifc4::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4::IfcFanTypeEnum::Value > Ifc4::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -9351,7 +9351,7 @@ void Ifc4::IfcFan::setPredefinedType(const std::optional< ::Ifc4::IfcFanTypeEnum const ifcopenshell::entity& Ifc4::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4_types[394]); } -void Ifc4::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFan Ifc4::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanType::PredefinedType() const { return ::Ifc4::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -9359,7 +9359,7 @@ void Ifc4::IfcFanType::setPredefinedType(const ::Ifc4::IfcFanTypeEnum::Value& v) const ifcopenshell::entity& Ifc4::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4_types[395]); } -void Ifc4::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFanType Ifc4::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4::IfcFastenerTypeEnum::Value > Ifc4::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -9367,7 +9367,7 @@ void Ifc4::IfcFastener::setPredefinedType(const std::optional< ::Ifc4::IfcFasten const ifcopenshell::entity& Ifc4::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4_types[397]); } -void Ifc4::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFastener Ifc4::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerType::PredefinedType() const { return ::Ifc4::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -9375,27 +9375,27 @@ void Ifc4::IfcFastenerType::setPredefinedType(const ::Ifc4::IfcFastenerTypeEnum: const ifcopenshell::entity& Ifc4::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4_types[398]); } -void Ifc4::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFastenerType Ifc4::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4_types[400]); } -void Ifc4::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFeatureElement Ifc4::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4::IfcRelProjectsElement> Ifc4::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[837], 5)); } const ifcopenshell::entity& Ifc4::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4_types[401]); } -void Ifc4::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFeatureElementAddition Ifc4::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4::IfcRelVoidsElement> Ifc4::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[844], 5)); } const ifcopenshell::entity& Ifc4::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4_types[402]); } -void Ifc4::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFeatureElementSubtraction Ifc4::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4::IfcFillStyleSelect > Ifc4::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcFillStyleSelect>(es); } @@ -9405,7 +9405,7 @@ void Ifc4::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& v const ifcopenshell::entity& Ifc4::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[403]); } -void Ifc4::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); } } +Ifc4::IfcFillAreaStyle Ifc4::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4::IfcCurveStyle Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurveStyle>(); } @@ -9421,7 +9421,7 @@ void Ifc4::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_at const ifcopenshell::entity& Ifc4::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4_types[404]); } -void Ifc4::IfcFillAreaStyleHatching::initialize(::Ifc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4::IfcFillAreaStyleHatching Ifc4::IfcFillAreaStyleHatching::initialize(::Ifc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4::IfcVector > Ifc4::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcVector>(es); } @@ -9433,7 +9433,7 @@ void Ifc4::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4_types[405]); } -void Ifc4::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4::IfcFillAreaStyleTiles Ifc4::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4::IfcFilterTypeEnum::Value > Ifc4::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -9441,7 +9441,7 @@ void Ifc4::IfcFilter::setPredefinedType(const std::optional< ::Ifc4::IfcFilterTy const ifcopenshell::entity& Ifc4::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4_types[407]); } -void Ifc4::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFilter Ifc4::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterType::PredefinedType() const { return ::Ifc4::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -9449,7 +9449,7 @@ void Ifc4::IfcFilterType::setPredefinedType(const ::Ifc4::IfcFilterTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4_types[408]); } -void Ifc4::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFilterType Ifc4::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -9457,7 +9457,7 @@ void Ifc4::IfcFireSuppressionTerminal::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4_types[410]); } -void Ifc4::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFireSuppressionTerminal Ifc4::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -9465,7 +9465,7 @@ void Ifc4::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4::IfcFi const ifcopenshell::entity& Ifc4::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[411]); } -void Ifc4::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFireSuppressionTerminalType Ifc4::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4::IfcCurve Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } @@ -9479,31 +9479,31 @@ void Ifc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4::IfcD const ifcopenshell::entity& Ifc4::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[413]); } -void Ifc4::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference)); } +Ifc4::IfcFixedReferenceSweptAreaSolid Ifc4::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4_types[414]); } -void Ifc4::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowController Ifc4::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4_types[415]); } -void Ifc4::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowControllerType Ifc4::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4_types[417]); } -void Ifc4::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowFitting Ifc4::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[418]); } -void Ifc4::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowFittingType Ifc4::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > Ifc4::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -9511,7 +9511,7 @@ void Ifc4::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4_types[419]); } -void Ifc4::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFlowInstrument Ifc4::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -9519,7 +9519,7 @@ void Ifc4::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4::IfcFlowInstrum const ifcopenshell::entity& Ifc4::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4_types[420]); } -void Ifc4::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFlowInstrumentType Ifc4::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > Ifc4::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -9527,7 +9527,7 @@ void Ifc4::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4::IfcFlowM const ifcopenshell::entity& Ifc4::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4_types[422]); } -void Ifc4::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFlowMeter Ifc4::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -9535,67 +9535,67 @@ void Ifc4::IfcFlowMeterType::setPredefinedType(const ::Ifc4::IfcFlowMeterTypeEnu const ifcopenshell::entity& Ifc4::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4_types[423]); } -void Ifc4::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFlowMeterType Ifc4::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[425]); } -void Ifc4::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowMovingDevice Ifc4::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[426]); } -void Ifc4::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowMovingDeviceType Ifc4::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[427]); } -void Ifc4::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowSegment Ifc4::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[428]); } -void Ifc4::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowSegmentType Ifc4::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[429]); } -void Ifc4::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowStorageDevice Ifc4::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[430]); } -void Ifc4::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowStorageDeviceType Ifc4::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4_types[431]); } -void Ifc4::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowTerminal Ifc4::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[432]); } -void Ifc4::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowTerminalType Ifc4::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[433]); } -void Ifc4::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFlowTreatmentDevice Ifc4::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[434]); } -void Ifc4::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFlowTreatmentDeviceType Ifc4::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4::IfcFootingTypeEnum::Value > Ifc4::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -9603,7 +9603,7 @@ void Ifc4::IfcFooting::setPredefinedType(const std::optional< ::Ifc4::IfcFooting const ifcopenshell::entity& Ifc4::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4_types[438]); } -void Ifc4::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFooting Ifc4::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingType::PredefinedType() const { return ::Ifc4::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -9611,19 +9611,19 @@ void Ifc4::IfcFootingType::setPredefinedType(const ::Ifc4::IfcFootingTypeEnum::V const ifcopenshell::entity& Ifc4::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4_types[439]); } -void Ifc4::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcFootingType Ifc4::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4_types[443]); } -void Ifc4::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcFurnishingElement Ifc4::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[444]); } -void Ifc4::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcFurnishingElementType Ifc4::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -9631,7 +9631,7 @@ void Ifc4::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4::IfcFurni const ifcopenshell::entity& Ifc4::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4_types[445]); } -void Ifc4::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcFurniture Ifc4::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -9641,7 +9641,7 @@ void Ifc4::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4::IfcF const ifcopenshell::entity& Ifc4::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4_types[446]); } -void Ifc4::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcFurnitureType Ifc4::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > Ifc4::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9649,7 +9649,7 @@ void Ifc4::IfcGeographicElement::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4_types[448]); } -void Ifc4::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcGeographicElement Ifc4::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9657,13 +9657,13 @@ void Ifc4::IfcGeographicElementType::setPredefinedType(const ::Ifc4::IfcGeograph const ifcopenshell::entity& Ifc4::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[449]); } -void Ifc4::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcGeographicElementType Ifc4::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4_types[451]); } -void Ifc4::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4::IfcGeometricCurveSet Ifc4::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -9679,13 +9679,13 @@ std::vector<::Ifc4::IfcGeometricRepresentationSubContext> Ifc4::IfcGeometricRepr std::vector<::Ifc4::IfcCoordinateOperation> Ifc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[213], 0)); } const ifcopenshell::entity& Ifc4::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4_types[453]); } -void Ifc4::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4::IfcGeometricRepresentationContext Ifc4::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4_types[454]); } -void Ifc4::IfcGeometricRepresentationItem::initialize() { } +Ifc4::IfcGeometricRepresentationItem Ifc4::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4::IfcGeometricRepresentationContext Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcGeometricRepresentationContext>(); } @@ -9699,7 +9699,7 @@ void Ifc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(const const ifcopenshell::entity& Ifc4::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4_types[455]); } -void Ifc4::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4::IfcGeometricRepresentationSubContext Ifc4::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4::IfcGeometricSetSelect > Ifc4::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcGeometricSetSelect>(es); } @@ -9707,7 +9707,7 @@ void Ifc4::IfcGeometricSet::setElements(const std::vector< ::Ifc4::IfcGeometricS const ifcopenshell::entity& Ifc4::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4_types[456]); } -void Ifc4::IfcGeometricSet::initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4::IfcGeometricSet Ifc4::IfcGeometricSet::initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4::IfcGridAxis > Ifc4::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcGridAxis>(es); } @@ -9722,7 +9722,7 @@ void Ifc4::IfcGrid::setPredefinedType(const std::optional< ::Ifc4::IfcGridTypeEn std::vector<::Ifc4::IfcRelContainedInSpatialStructure> Ifc4::IfcGrid::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[823], 4)); } const ifcopenshell::entity& Ifc4::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4_types[460]); } -void Ifc4::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcGrid Ifc4::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9738,7 +9738,7 @@ std::vector<::Ifc4::IfcGrid> Ifc4::IfcGridAxis::PartOfU() const { return cast_ve std::vector<::Ifc4::IfcVirtualGridIntersection> Ifc4::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[1135], 0)); } const ifcopenshell::entity& Ifc4::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4_types[461]); } -void Ifc4::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4::IfcGridAxis Ifc4::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4::IfcVirtualGridIntersection Ifc4::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcVirtualGridIntersection>(); } @@ -9748,14 +9748,14 @@ void Ifc4::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4::IfcGridPlace const ifcopenshell::entity& Ifc4::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4_types[462]); } -void Ifc4::IfcGridPlacement::initialize(::Ifc4::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect v2_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementLocation));set_attribute_value(1, (v2_PlacementRefDirection)); } +Ifc4::IfcGridPlacement Ifc4::IfcGridPlacement::initialize(::Ifc4::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect v2_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementLocation));set_attribute_value(1, (v2_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4::IfcRelAssignsToGroup> Ifc4::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[801], 6)); } const ifcopenshell::entity& Ifc4::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4_types[465]); } -void Ifc4::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4::IfcGroup Ifc4::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4::IfcSurface Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } @@ -9765,7 +9765,7 @@ void Ifc4::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[466]); } -void Ifc4::IfcHalfSpaceSolid::initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4::IfcHalfSpaceSolid Ifc4::IfcHalfSpaceSolid::initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > Ifc4::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -9773,7 +9773,7 @@ void Ifc4::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4::IfcH const ifcopenshell::entity& Ifc4::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4_types[468]); } -void Ifc4::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcHeatExchanger Ifc4::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -9781,7 +9781,7 @@ void Ifc4::IfcHeatExchangerType::setPredefinedType(const ::Ifc4::IfcHeatExchange const ifcopenshell::entity& Ifc4::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4_types[469]); } -void Ifc4::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcHeatExchangerType Ifc4::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > Ifc4::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -9789,7 +9789,7 @@ void Ifc4::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4::IfcHumi const ifcopenshell::entity& Ifc4::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4_types[473]); } -void Ifc4::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcHumidifier Ifc4::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -9797,7 +9797,7 @@ void Ifc4::IfcHumidifierType::setPredefinedType(const ::Ifc4::IfcHumidifierTypeE const ifcopenshell::entity& Ifc4::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4_types[474]); } -void Ifc4::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcHumidifierType Ifc4::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -9817,7 +9817,7 @@ void Ifc4::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double >& v) const ifcopenshell::entity& Ifc4::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[498]); } -void Ifc4::IfcIShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4::IfcIShapeProfileDef Ifc4::IfcIShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -9825,7 +9825,7 @@ void Ifc4::IfcImageTexture::setURLReference(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4_types[478]); } -void Ifc4::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4::IfcImageTexture Ifc4::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4::IfcTessellatedFaceSet Ifc4::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcTessellatedFaceSet>(); } @@ -9839,7 +9839,7 @@ void Ifc4::IfcIndexedColourMap::setColourIndex(const std::vector< int > /*[1:?]* const ifcopenshell::entity& Ifc4::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4_types[479]); } -void Ifc4::IfcIndexedColourMap::initialize(::Ifc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4::IfcIndexedColourMap Ifc4::IfcIndexedColourMap::initialize(::Ifc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4::IfcCartesianPointList Ifc4::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPointList>(); } @@ -9851,7 +9851,7 @@ void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[480]); } -void Ifc4::IfcIndexedPolyCurve::initialize(::Ifc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4::IfcIndexedPolyCurve Ifc4::IfcIndexedPolyCurve::initialize(::Ifc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -9860,7 +9860,7 @@ void Ifc4::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[3: std::vector<::Ifc4::IfcPolygonalFaceSet> Ifc4::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[680], 2)); } const ifcopenshell::entity& Ifc4::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4_types[481]); } -void Ifc4::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4::IfcIndexedPolygonalFace Ifc4::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -9868,7 +9868,7 @@ void Ifc4::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const std::vec const ifcopenshell::entity& Ifc4::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4_types[482]); } -void Ifc4::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4::IfcIndexedPolygonalFaceWithVoids Ifc4::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4::IfcTessellatedFaceSet Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcTessellatedFaceSet>(); } @@ -9878,7 +9878,7 @@ void Ifc4::IfcIndexedTextureMap::setTexCoords(const ::Ifc4::IfcTextureVertexList const ifcopenshell::entity& Ifc4::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4_types[483]); } -void Ifc4::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4::IfcIndexedTextureMap Ifc4::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -9886,7 +9886,7 @@ void Ifc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optional< s const ifcopenshell::entity& Ifc4::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4_types[484]); } -void Ifc4::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4::IfcIndexedTriangleTextureMap Ifc4::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > Ifc4::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -9894,7 +9894,7 @@ void Ifc4::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4::IfcInt const ifcopenshell::entity& Ifc4::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4_types[488]); } -void Ifc4::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcInterceptor Ifc4::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -9902,13 +9902,13 @@ void Ifc4::IfcInterceptorType::setPredefinedType(const ::Ifc4::IfcInterceptorTyp const ifcopenshell::entity& Ifc4::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4_types[489]); } -void Ifc4::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcInterceptorType Ifc4::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[492]); } -void Ifc4::IfcIntersectionCurve::initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4::IfcIntersectionCurve Ifc4::IfcIntersectionCurve::initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4::IfcInventoryTypeEnum::Value > Ifc4::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -9926,7 +9926,7 @@ void Ifc4::IfcInventory::setOriginalValue(const ::Ifc4::IfcCostValue& v) { set_a const ifcopenshell::entity& Ifc4::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4_types[493]); } -void Ifc4::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4::IfcCostValue v10_CurrentValue, ::Ifc4::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4::IfcInventory Ifc4::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4::IfcCostValue v10_CurrentValue, ::Ifc4::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > Ifc4::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4::IfcIrregularTimeSeriesValue>(es); } @@ -9934,7 +9934,7 @@ void Ifc4::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4::IfcIrreg const ifcopenshell::entity& Ifc4::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4_types[496]); } -void Ifc4::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4::IfcIrregularTimeSeries Ifc4::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -9944,7 +9944,7 @@ void Ifc4::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc4: const ifcopenshell::entity& Ifc4::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4_types[497]); } -void Ifc4::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4::IfcIrregularTimeSeriesValue Ifc4::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -9952,7 +9952,7 @@ void Ifc4::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4::IfcJun const ifcopenshell::entity& Ifc4::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4_types[500]); } -void Ifc4::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcJunctionBox Ifc4::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -9960,7 +9960,7 @@ void Ifc4::IfcJunctionBoxType::setPredefinedType(const ::Ifc4::IfcJunctionBoxTyp const ifcopenshell::entity& Ifc4::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4_types[501]); } -void Ifc4::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcJunctionBoxType Ifc4::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -9978,7 +9978,7 @@ void Ifc4::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[545]); } -void Ifc4::IfcLShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4::IfcLShapeProfileDef Ifc4::IfcLShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > Ifc4::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9986,7 +9986,7 @@ void Ifc4::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4::IfcL const ifcopenshell::entity& Ifc4::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4_types[506]); } -void Ifc4::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcLaborResource Ifc4::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9994,7 +9994,7 @@ void Ifc4::IfcLaborResourceType::setPredefinedType(const ::Ifc4::IfcLaborResourc const ifcopenshell::entity& Ifc4::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[507]); } -void Ifc4::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcLaborResourceType Ifc4::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4::IfcTimeOrRatioSelect Ifc4::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcTimeOrRatioSelect>(); } @@ -10004,7 +10004,7 @@ void Ifc4::IfcLagTime::setDurationType(const ::Ifc4::IfcTaskDurationEnum::Value& const ifcopenshell::entity& Ifc4::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4_types[509]); } -void Ifc4::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4::IfcLagTime Ifc4::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4::IfcLampTypeEnum::Value > Ifc4::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -10012,7 +10012,7 @@ void Ifc4::IfcLamp::setPredefinedType(const std::optional< ::Ifc4::IfcLampTypeEn const ifcopenshell::entity& Ifc4::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4_types[510]); } -void Ifc4::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcLamp Ifc4::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampType::PredefinedType() const { return ::Ifc4::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -10020,7 +10020,7 @@ void Ifc4::IfcLampType::setPredefinedType(const ::Ifc4::IfcLampTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4_types[511]); } -void Ifc4::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcLampType Ifc4::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10040,7 +10040,7 @@ std::vector<::Ifc4::IfcRelAssociatesLibrary> Ifc4::IfcLibraryInformation::Librar std::vector<::Ifc4::IfcLibraryReference> Ifc4::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[518], 5)); } const ifcopenshell::entity& Ifc4::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4_types[517]); } -void Ifc4::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4::IfcLibraryInformation Ifc4::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10053,7 +10053,7 @@ void Ifc4::IfcLibraryReference::setReferencedLibrary(const ::Ifc4::IfcLibraryInf std::vector<::Ifc4::IfcRelAssociatesLibrary> Ifc4::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[811], 5)); } const ifcopenshell::entity& Ifc4::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4_types[518]); } -void Ifc4::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4::IfcLibraryReference Ifc4::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -10065,7 +10065,7 @@ void Ifc4::IfcLightDistributionData::setLuminousIntensity(const std::vector< dou const ifcopenshell::entity& Ifc4::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4_types[521]); } -void Ifc4::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4::IfcLightDistributionData Ifc4::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > Ifc4::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -10073,7 +10073,7 @@ void Ifc4::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4::IfcLi const ifcopenshell::entity& Ifc4::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4_types[524]); } -void Ifc4::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcLightFixture Ifc4::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -10081,7 +10081,7 @@ void Ifc4::IfcLightFixtureType::setPredefinedType(const ::Ifc4::IfcLightFixtureT const ifcopenshell::entity& Ifc4::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4_types[525]); } -void Ifc4::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcLightFixtureType Ifc4::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -10091,7 +10091,7 @@ void Ifc4::IfcLightIntensityDistribution::setDistributionData(const std::vector< const ifcopenshell::entity& Ifc4::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4_types[527]); } -void Ifc4::IfcLightIntensityDistribution::initialize(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4::IfcLightIntensityDistribution Ifc4::IfcLightIntensityDistribution::initialize(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10105,13 +10105,13 @@ void Ifc4::IfcLightSource::setIntensity(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc4::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4_types[528]); } -void Ifc4::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4::IfcLightSource Ifc4::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4_types[529]); } -void Ifc4::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4::IfcLightSourceAmbient Ifc4::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4::IfcDirection Ifc4::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcDirection>(); } @@ -10119,7 +10119,7 @@ void Ifc4::IfcLightSourceDirectional::setOrientation(const ::Ifc4::IfcDirection& const ifcopenshell::entity& Ifc4::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4_types[530]); } -void Ifc4::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4::IfcLightSourceDirectional Ifc4::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4::IfcAxis2Placement3D Ifc4::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcAxis2Placement3D>(); } @@ -10137,7 +10137,7 @@ void Ifc4::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::Ifc const ifcopenshell::entity& Ifc4::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4_types[531]); } -void Ifc4::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D v5_Position, ::Ifc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4::IfcLightSourceGoniometric Ifc4::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D v5_Position, ::Ifc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4::IfcCartesianPoint Ifc4::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcCartesianPoint>(); } @@ -10153,7 +10153,7 @@ void Ifc4::IfcLightSourcePositional::setQuadricAttenuation(const double& v) { se const ifcopenshell::entity& Ifc4::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4_types[532]); } -void Ifc4::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4::IfcLightSourcePositional Ifc4::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4::IfcDirection Ifc4::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcDirection>(); } @@ -10167,7 +10167,7 @@ void Ifc4::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4_types[533]); } -void Ifc4::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4::IfcLightSourceSpot Ifc4::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4::IfcCartesianPoint Ifc4::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPoint>(); } @@ -10177,7 +10177,7 @@ void Ifc4::IfcLine::setDir(const ::Ifc4::IfcVector& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4_types[534]); } -void Ifc4::IfcLine::initialize(::Ifc4::IfcCartesianPoint v1_Pnt, ::Ifc4::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4::IfcLine Ifc4::IfcLine::initialize(::Ifc4::IfcCartesianPoint v1_Pnt, ::Ifc4::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4::IfcObjectPlacement Ifc4::IfcLocalPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcObjectPlacement>(); } @@ -10187,13 +10187,13 @@ void Ifc4::IfcLocalPlacement::setRelativePlacement(const ::Ifc4::IfcAxis2Placeme const ifcopenshell::entity& Ifc4::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4_types[541]); } -void Ifc4::IfcLocalPlacement::initialize(::Ifc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4::IfcLocalPlacement Ifc4::IfcLocalPlacement::initialize(::Ifc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4_types[544]); } -void Ifc4::IfcLoop::initialize() { } +Ifc4::IfcLoop Ifc4::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4::IfcClosedShell Ifc4::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcClosedShell>(); } @@ -10201,7 +10201,7 @@ void Ifc4::IfcManifoldSolidBrep::setOuter(const ::Ifc4::IfcClosedShell& v) { set const ifcopenshell::entity& Ifc4::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4_types[551]); } -void Ifc4::IfcManifoldSolidBrep::initialize(::Ifc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4::IfcManifoldSolidBrep Ifc4::IfcManifoldSolidBrep::initialize(::Ifc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -10219,7 +10219,7 @@ void Ifc4::IfcMapConversion::setScale(const std::optional< double >& v) { if (v) const ifcopenshell::entity& Ifc4::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4_types[552]); } -void Ifc4::IfcMapConversion::initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4::IfcMapConversion Ifc4::IfcMapConversion::initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4::IfcRepresentationMap Ifc4::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcRepresentationMap>(); } @@ -10229,7 +10229,7 @@ void Ifc4::IfcMappedItem::setMappingTarget(const ::Ifc4::IfcCartesianTransformat const ifcopenshell::entity& Ifc4::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4_types[553]); } -void Ifc4::IfcMappedItem::initialize(::Ifc4::IfcRepresentationMap v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4::IfcMappedItem Ifc4::IfcMappedItem::initialize(::Ifc4::IfcRepresentationMap v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMaterial std::string Ifc4::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10244,7 +10244,7 @@ std::vector<::Ifc4::IfcMaterialRelationship> Ifc4::IfcMaterial::IsRelatedWith() std::vector<::Ifc4::IfcMaterialRelationship> Ifc4::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[575], 2)); } const ifcopenshell::entity& Ifc4::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4_types[558]); } -void Ifc4::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4::IfcMaterial Ifc4::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4::IfcClassificationSelect > Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcClassificationSelect>(es); } @@ -10254,7 +10254,7 @@ void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(const :: const ifcopenshell::entity& Ifc4::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[559]); } -void Ifc4::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4::IfcMaterialClassificationRelationship Ifc4::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10271,7 +10271,7 @@ void Ifc4::IfcMaterialConstituent::setCategory(const std::optional< std::string std::vector<::Ifc4::IfcMaterialConstituentSet> Ifc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[561], 2)); } const ifcopenshell::entity& Ifc4::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4_types[560]); } -void Ifc4::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4::IfcMaterialConstituent Ifc4::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10283,7 +10283,7 @@ void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(const std::optiona const ifcopenshell::entity& Ifc4::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4_types[561]); } -void Ifc4::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4::IfcMaterialConstituentSet Ifc4::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -10292,7 +10292,7 @@ std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcMaterialDefinitio std::vector<::Ifc4::IfcMaterialProperties> Ifc4::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[574], 3)); } const ifcopenshell::entity& Ifc4::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4_types[562]); } -void Ifc4::IfcMaterialDefinition::initialize() { } +Ifc4::IfcMaterialDefinition Ifc4::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4::IfcMaterial Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcMaterial>(); } @@ -10300,7 +10300,7 @@ void Ifc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const ::I const ifcopenshell::entity& Ifc4::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[563]); } -void Ifc4::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations, ::Ifc4::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4::IfcMaterialDefinitionRepresentation Ifc4::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations, ::Ifc4::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4::IfcMaterial Ifc4::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcMaterial>(); } @@ -10321,7 +10321,7 @@ void Ifc4::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if (v) std::vector<::Ifc4::IfcMaterialLayerSet> Ifc4::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[565], 0)); } const ifcopenshell::entity& Ifc4::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4_types[564]); } -void Ifc4::IfcMaterialLayer::initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4::IfcMaterialLayer Ifc4::IfcMaterialLayer::initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4::IfcMaterialLayer > Ifc4::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcMaterialLayer>(es); } @@ -10333,7 +10333,7 @@ void Ifc4::IfcMaterialLayerSet::setDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4_types[565]); } -void Ifc4::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4::IfcMaterialLayerSet Ifc4::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4::IfcMaterialLayerSet Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcMaterialLayerSet>(); } @@ -10349,7 +10349,7 @@ void Ifc4::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optional< dou const ifcopenshell::entity& Ifc4::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4_types[566]); } -void Ifc4::IfcMaterialLayerSetUsage::initialize(::Ifc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4::IfcMaterialLayerSetUsage Ifc4::IfcMaterialLayerSetUsage::initialize(::Ifc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -10359,7 +10359,7 @@ void Ifc4::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< doubl const ifcopenshell::entity& Ifc4::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4_types[567]); } -void Ifc4::IfcMaterialLayerWithOffsets::initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4::IfcMaterialLayerWithOffsets Ifc4::IfcMaterialLayerWithOffsets::initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4::IfcMaterial > Ifc4::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcMaterial>(es); } @@ -10367,7 +10367,7 @@ void Ifc4::IfcMaterialList::setMaterials(const std::vector< ::Ifc4::IfcMaterial const ifcopenshell::entity& Ifc4::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4_types[568]); } -void Ifc4::IfcMaterialList::initialize(std::vector< ::Ifc4::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4::IfcMaterialList Ifc4::IfcMaterialList::initialize(std::vector< ::Ifc4::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10386,7 +10386,7 @@ void Ifc4::IfcMaterialProfile::setCategory(const std::optional< std::string >& v std::vector<::Ifc4::IfcMaterialProfileSet> Ifc4::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[570], 2)); } const ifcopenshell::entity& Ifc4::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4_types[569]); } -void Ifc4::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4::IfcMaterialProfile Ifc4::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10400,7 +10400,7 @@ void Ifc4::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4::IfcComposite const ifcopenshell::entity& Ifc4::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4_types[570]); } -void Ifc4::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4::IfcMaterialProfileSet Ifc4::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4::IfcMaterialProfileSet Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcMaterialProfileSet>(); } @@ -10412,7 +10412,7 @@ void Ifc4::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optional< d const ifcopenshell::entity& Ifc4::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4_types[571]); } -void Ifc4::IfcMaterialProfileSetUsage::initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4::IfcMaterialProfileSetUsage Ifc4::IfcMaterialProfileSetUsage::initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4::IfcMaterialProfileSet Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcMaterialProfileSet>(); } @@ -10422,7 +10422,7 @@ void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std::op const ifcopenshell::entity& Ifc4::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4_types[572]); } -void Ifc4::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4::IfcMaterialProfileSetUsageTapering Ifc4::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -10430,7 +10430,7 @@ void Ifc4::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vector< dou const ifcopenshell::entity& Ifc4::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4_types[573]); } -void Ifc4::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4::IfcMaterialProfileWithOffsets Ifc4::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4::IfcMaterialDefinition Ifc4::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcMaterialDefinition>(); } @@ -10438,7 +10438,7 @@ void Ifc4::IfcMaterialProperties::setMaterial(const ::Ifc4::IfcMaterialDefinitio const ifcopenshell::entity& Ifc4::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[574]); } -void Ifc4::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4::IfcMaterialProperties Ifc4::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4::IfcMaterial Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcMaterial>(); } @@ -10450,14 +10450,14 @@ void Ifc4::IfcMaterialRelationship::setExpression(const std::optional< std::stri const ifcopenshell::entity& Ifc4::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[575]); } -void Ifc4::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4::IfcMaterialRelationship Ifc4::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4::IfcRelAssociatesMaterial> Ifc4::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[812], 5)); } const ifcopenshell::entity& Ifc4::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4_types[577]); } -void Ifc4::IfcMaterialUsageDefinition::initialize() { } +Ifc4::IfcMaterialUsageDefinition Ifc4::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4::IfcValue Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcValue>(); } @@ -10467,7 +10467,7 @@ void Ifc4::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4::IfcUnit& v) { set_ const ifcopenshell::entity& Ifc4::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[579]); } -void Ifc4::IfcMeasureWithUnit::initialize(::Ifc4::IfcValue v1_ValueComponent, ::Ifc4::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4::IfcMeasureWithUnit Ifc4::IfcMeasureWithUnit::initialize(::Ifc4::IfcValue v1_ValueComponent, ::Ifc4::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10479,7 +10479,7 @@ void Ifc4::IfcMechanicalFastener::setPredefinedType(const std::optional< ::Ifc4: const ifcopenshell::entity& Ifc4::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4_types[580]); } -void Ifc4::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcMechanicalFastener Ifc4::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10491,7 +10491,7 @@ void Ifc4::IfcMechanicalFastenerType::setNominalLength(const std::optional< doub const ifcopenshell::entity& Ifc4::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4_types[581]); } -void Ifc4::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4::IfcMechanicalFastenerType Ifc4::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > Ifc4::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10499,7 +10499,7 @@ void Ifc4::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4::IfcM const ifcopenshell::entity& Ifc4::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[583]); } -void Ifc4::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcMedicalDevice Ifc4::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10507,7 +10507,7 @@ void Ifc4::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4::IfcMedicalDevic const ifcopenshell::entity& Ifc4::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[584]); } -void Ifc4::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcMedicalDeviceType Ifc4::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4::IfcMemberTypeEnum::Value > Ifc4::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -10515,13 +10515,13 @@ void Ifc4::IfcMember::setPredefinedType(const std::optional< ::Ifc4::IfcMemberTy const ifcopenshell::entity& Ifc4::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4_types[586]); } -void Ifc4::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcMember Ifc4::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[587]); } -void Ifc4::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcMemberStandardCase Ifc4::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberType::PredefinedType() const { return ::Ifc4::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -10529,7 +10529,7 @@ void Ifc4::IfcMemberType::setPredefinedType(const ::Ifc4::IfcMemberTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4_types[588]); } -void Ifc4::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcMemberType Ifc4::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcMetric::Benchmark() const { return ::Ifc4::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -10543,13 +10543,13 @@ void Ifc4::IfcMetric::setReferencePath(const ::Ifc4::IfcReference& v) { set_attr const ifcopenshell::entity& Ifc4::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4_types[590]); } -void Ifc4::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4::IfcMetricValueSelect v10_DataValue, ::Ifc4::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4::IfcMetric Ifc4::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4::IfcMetricValueSelect v10_DataValue, ::Ifc4::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[592]); } -void Ifc4::IfcMirroredProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4::IfcMirroredProfileDef Ifc4::IfcMirroredProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -10557,7 +10557,7 @@ void Ifc4::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attribute_va const ifcopenshell::entity& Ifc4::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[604]); } -void Ifc4::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4::IfcMonetaryUnit Ifc4::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > Ifc4::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -10565,7 +10565,7 @@ void Ifc4::IfcMotorConnection::setPredefinedType(const std::optional< ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4_types[606]); } -void Ifc4::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcMotorConnection Ifc4::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -10573,7 +10573,7 @@ void Ifc4::IfcMotorConnectionType::setPredefinedType(const ::Ifc4::IfcMotorConne const ifcopenshell::entity& Ifc4::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4_types[607]); } -void Ifc4::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcMotorConnectionType Ifc4::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4::IfcDimensionalExponents Ifc4::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcDimensionalExponents>(); } @@ -10583,7 +10583,7 @@ void Ifc4::IfcNamedUnit::setUnitType(const ::Ifc4::IfcUnitEnum::Value& v) { set_ const ifcopenshell::entity& Ifc4::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[609]); } -void Ifc4::IfcNamedUnit::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4::IfcNamedUnit Ifc4::IfcNamedUnit::initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10595,7 +10595,7 @@ std::vector<::Ifc4::IfcRelDefinesByType> Ifc4::IfcObject::IsTypedBy() const { re std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[830], 4)); } const ifcopenshell::entity& Ifc4::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4_types[614]); } -void Ifc4::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4::IfcObject Ifc4::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -10608,7 +10608,7 @@ std::vector<::Ifc4::IfcRelAggregates> Ifc4::IfcObjectDefinition::Decomposes() co std::vector<::Ifc4::IfcRelAssociates> Ifc4::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[806], 4)); } const ifcopenshell::entity& Ifc4::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4_types[615]); } -void Ifc4::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcObjectDefinition Ifc4::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement @@ -10616,7 +10616,7 @@ std::vector<::Ifc4::IfcProduct> Ifc4::IfcObjectPlacement::PlacesObject() const { std::vector<::Ifc4::IfcLocalPlacement> Ifc4::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[541], 0)); } const ifcopenshell::entity& Ifc4::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4_types[618]); } -void Ifc4::IfcObjectPlacement::initialize() { } +Ifc4::IfcObjectPlacement Ifc4::IfcObjectPlacement::initialize() { ; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4::IfcConstraint > > Ifc4::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcConstraint>(es); } @@ -10630,7 +10630,7 @@ void Ifc4::IfcObjective::setUserDefinedQualifier(const std::optional< std::strin const ifcopenshell::entity& Ifc4::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4_types[616]); } -void Ifc4::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4::IfcObjective Ifc4::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4::IfcOccupantTypeEnum::Value > Ifc4::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -10638,7 +10638,7 @@ void Ifc4::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4::IfcOccupa const ifcopenshell::entity& Ifc4::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4_types[621]); } -void Ifc4::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4::IfcOccupant Ifc4::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve2D ::Ifc4::IfcCurve Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -10650,7 +10650,7 @@ void Ifc4::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc4::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4_types[623]); } -void Ifc4::IfcOffsetCurve2D::initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4::IfcOffsetCurve2D Ifc4::IfcOffsetCurve2D::initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D ::Ifc4::IfcCurve Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -10664,13 +10664,13 @@ void Ifc4::IfcOffsetCurve3D::setRefDirection(const ::Ifc4::IfcDirection& v) { se const ifcopenshell::entity& Ifc4::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4_types[624]); } -void Ifc4::IfcOffsetCurve3D::initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4::IfcOffsetCurve3D Ifc4::IfcOffsetCurve3D::initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4_types[628]); } -void Ifc4::IfcOpenShell::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4::IfcOpenShell Ifc4::IfcOpenShell::initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > Ifc4::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10679,13 +10679,13 @@ void Ifc4::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4::Ifc std::vector<::Ifc4::IfcRelFillsElement> Ifc4::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[833], 4)); } const ifcopenshell::entity& Ifc4::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4_types[625]); } -void Ifc4::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcOpeningElement Ifc4::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[627]); } -void Ifc4::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcOpeningStandardCase Ifc4::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10704,7 +10704,7 @@ std::vector<::Ifc4::IfcOrganizationRelationship> Ifc4::IfcOrganization::Relates( std::vector<::Ifc4::IfcPersonAndOrganization> Ifc4::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[648], 1)); } const ifcopenshell::entity& Ifc4::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4_types[629]); } -void Ifc4::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4::IfcOrganization Ifc4::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4::IfcOrganization Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcOrganization>(); } @@ -10714,7 +10714,7 @@ void Ifc4::IfcOrganizationRelationship::setRelatedOrganizations(const std::vecto const ifcopenshell::entity& Ifc4::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[630]); } -void Ifc4::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4::IfcOrganizationRelationship Ifc4::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4::IfcEdge Ifc4::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcEdge>(); } @@ -10724,13 +10724,13 @@ void Ifc4::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4_types[631]); } -void Ifc4::IfcOrientedEdge::initialize(::Ifc4::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4::IfcOrientedEdge Ifc4::IfcOrientedEdge::initialize(::Ifc4::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[632]); } -void Ifc4::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4::IfcOuterBoundaryCurve Ifc4::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4::IfcOutletTypeEnum::Value > Ifc4::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -10738,7 +10738,7 @@ void Ifc4::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4::IfcOutletTy const ifcopenshell::entity& Ifc4::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4_types[633]); } -void Ifc4::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcOutlet Ifc4::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletType::PredefinedType() const { return ::Ifc4::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -10746,7 +10746,7 @@ void Ifc4::IfcOutletType::setPredefinedType(const ::Ifc4::IfcOutletTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4_types[634]); } -void Ifc4::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcOutletType Ifc4::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4::IfcPersonAndOrganization Ifc4::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcPersonAndOrganization>(); } @@ -10768,7 +10768,7 @@ void Ifc4::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_value( const ifcopenshell::entity& Ifc4::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4_types[636]); } -void Ifc4::IfcOwnerHistory::initialize(::Ifc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4::IfcOwnerHistory Ifc4::IfcOwnerHistory::initialize(::Ifc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4::IfcAxis2Placement2D Ifc4::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcAxis2Placement2D>(); } @@ -10776,7 +10776,7 @@ void Ifc4::IfcParameterizedProfileDef::setPosition(const ::Ifc4::IfcAxis2Placeme const ifcopenshell::entity& Ifc4::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[637]); } -void Ifc4::IfcParameterizedProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4::IfcParameterizedProfileDef Ifc4::IfcParameterizedProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4::IfcOrientedEdge > Ifc4::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcOrientedEdge>(es); } @@ -10784,7 +10784,7 @@ void Ifc4::IfcPath::setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v) const ifcopenshell::entity& Ifc4::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4_types[639]); } -void Ifc4::IfcPath::initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4::IfcPath Ifc4::IfcPath::initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPcurve ::Ifc4::IfcSurface Ifc4::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } @@ -10794,7 +10794,7 @@ void Ifc4::IfcPcurve::setReferenceCurve(const ::Ifc4::IfcCurve& v) { set_attribu const ifcopenshell::entity& Ifc4::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4_types[640]); } -void Ifc4::IfcPcurve::initialize(::Ifc4::IfcSurface v1_BasisSurface, ::Ifc4::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4::IfcPcurve Ifc4::IfcPcurve::initialize(::Ifc4::IfcSurface v1_BasisSurface, ::Ifc4::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -10804,7 +10804,7 @@ void Ifc4::IfcPerformanceHistory::setPredefinedType(const std::optional< ::Ifc4: const ifcopenshell::entity& Ifc4::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4_types[641]); } -void Ifc4::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4::IfcPerformanceHistory Ifc4::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -10820,7 +10820,7 @@ void Ifc4::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[644]); } -void Ifc4::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4::IfcPermeableCoveringProperties Ifc4::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4::IfcPermitTypeEnum::Value > Ifc4::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -10832,7 +10832,7 @@ void Ifc4::IfcPermit::setLongDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4_types[645]); } -void Ifc4::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4::IfcPermit Ifc4::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10855,7 +10855,7 @@ void Ifc4::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4::Ifc std::vector<::Ifc4::IfcPersonAndOrganization> Ifc4::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[648], 0)); } const ifcopenshell::entity& Ifc4::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4_types[647]); } -void Ifc4::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4::IfcPerson Ifc4::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4::IfcPerson Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcPerson>(); } @@ -10867,7 +10867,7 @@ void Ifc4::IfcPersonAndOrganization::setRoles(const std::optional< std::vector< const ifcopenshell::entity& Ifc4::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4_types[648]); } -void Ifc4::IfcPersonAndOrganization::initialize(::Ifc4::IfcPerson v1_ThePerson, ::Ifc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4::IfcPersonAndOrganization Ifc4::IfcPersonAndOrganization::initialize(::Ifc4::IfcPerson v1_ThePerson, ::Ifc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4::IfcPhysicalQuantity > Ifc4::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcPhysicalQuantity>(es); } @@ -10881,7 +10881,7 @@ void Ifc4::IfcPhysicalComplexQuantity::setUsage(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4_types[650]); } -void Ifc4::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4::IfcPhysicalComplexQuantity Ifc4::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10893,7 +10893,7 @@ std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcPhysicalQuantity: std::vector<::Ifc4::IfcPhysicalComplexQuantity> Ifc4::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[650], 2)); } const ifcopenshell::entity& Ifc4::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4_types[652]); } -void Ifc4::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4::IfcPhysicalQuantity Ifc4::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4::IfcNamedUnit Ifc4::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcNamedUnit>(); } @@ -10901,7 +10901,7 @@ void Ifc4::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4::IfcNamedUnit& v) { s const ifcopenshell::entity& Ifc4::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4_types[653]); } -void Ifc4::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4::IfcPhysicalSimpleQuantity Ifc4::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4::IfcPileTypeEnum::Value > Ifc4::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -10911,7 +10911,7 @@ void Ifc4::IfcPile::setConstructionType(const std::optional< ::Ifc4::IfcPileCons const ifcopenshell::entity& Ifc4::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4_types[654]); } -void Ifc4::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4::IfcPile Ifc4::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileType::PredefinedType() const { return ::Ifc4::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -10919,7 +10919,7 @@ void Ifc4::IfcPileType::setPredefinedType(const ::Ifc4::IfcPileTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4_types[656]); } -void Ifc4::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcPileType Ifc4::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > Ifc4::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10927,7 +10927,7 @@ void Ifc4::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4::IfcPip const ifcopenshell::entity& Ifc4::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4_types[658]); } -void Ifc4::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcPipeFitting Ifc4::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10935,7 +10935,7 @@ void Ifc4::IfcPipeFittingType::setPredefinedType(const ::Ifc4::IfcPipeFittingTyp const ifcopenshell::entity& Ifc4::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4_types[659]); } -void Ifc4::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcPipeFittingType Ifc4::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > Ifc4::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10943,7 +10943,7 @@ void Ifc4::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4::IfcPip const ifcopenshell::entity& Ifc4::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[661]); } -void Ifc4::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcPipeSegment Ifc4::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10951,7 +10951,7 @@ void Ifc4::IfcPipeSegmentType::setPredefinedType(const ::Ifc4::IfcPipeSegmentTyp const ifcopenshell::entity& Ifc4::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[662]); } -void Ifc4::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcPipeSegmentType Ifc4::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -10965,7 +10965,7 @@ void Ifc4::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bitset<> const ifcopenshell::entity& Ifc4::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4_types[664]); } -void Ifc4::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4::IfcPixelTexture Ifc4::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4::IfcCartesianPoint Ifc4::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPoint>(); } @@ -10973,7 +10973,7 @@ void Ifc4::IfcPlacement::setLocation(const ::Ifc4::IfcCartesianPoint& v) { set_a const ifcopenshell::entity& Ifc4::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4_types[665]); } -void Ifc4::IfcPlacement::initialize(::Ifc4::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4::IfcPlacement Ifc4::IfcPlacement::initialize(::Ifc4::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4::IfcAxis2Placement Ifc4::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcAxis2Placement>(); } @@ -10981,7 +10981,7 @@ void Ifc4::IfcPlanarBox::setPlacement(const ::Ifc4::IfcAxis2Placement& v) { set_ const ifcopenshell::entity& Ifc4::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4_types[666]); } -void Ifc4::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4::IfcPlanarBox Ifc4::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -10991,13 +10991,13 @@ void Ifc4::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4_types[667]); } -void Ifc4::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4::IfcPlanarExtent Ifc4::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4_types[669]); } -void Ifc4::IfcPlane::initialize(::Ifc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4::IfcPlane Ifc4::IfcPlane::initialize(::Ifc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4::IfcPlateTypeEnum::Value > Ifc4::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -11005,13 +11005,13 @@ void Ifc4::IfcPlate::setPredefinedType(const std::optional< ::Ifc4::IfcPlateType const ifcopenshell::entity& Ifc4::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4_types[671]); } -void Ifc4::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcPlate Ifc4::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[672]); } -void Ifc4::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcPlateStandardCase Ifc4::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateType::PredefinedType() const { return ::Ifc4::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -11019,13 +11019,13 @@ void Ifc4::IfcPlateType::setPredefinedType(const ::Ifc4::IfcPlateTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4_types[673]); } -void Ifc4::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcPlateType Ifc4::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4_types[675]); } -void Ifc4::IfcPoint::initialize() { } +Ifc4::IfcPoint Ifc4::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4::IfcCurve Ifc4::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -11035,7 +11035,7 @@ void Ifc4::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[676]); } -void Ifc4::IfcPointOnCurve::initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4::IfcPointOnCurve Ifc4::IfcPointOnCurve::initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4::IfcSurface Ifc4::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } @@ -11047,7 +11047,7 @@ void Ifc4::IfcPointOnSurface::setPointParameterV(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[677]); } -void Ifc4::IfcPointOnSurface::initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4::IfcPointOnSurface Ifc4::IfcPointOnSurface::initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4::IfcCartesianPoint > Ifc4::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } @@ -11055,7 +11055,7 @@ void Ifc4::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4::IfcCartesianPoint const ifcopenshell::entity& Ifc4::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4_types[682]); } -void Ifc4::IfcPolyLoop::initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4::IfcPolyLoop Ifc4::IfcPolyLoop::initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4::IfcAxis2Placement3D Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcAxis2Placement3D>(); } @@ -11065,7 +11065,7 @@ void Ifc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4::IfcB const ifcopenshell::entity& Ifc4::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4_types[679]); } -void Ifc4::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D v3_Position, ::Ifc4::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4::IfcPolygonalBoundedHalfSpace Ifc4::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D v3_Position, ::Ifc4::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -11077,7 +11077,7 @@ void Ifc4::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< int const ifcopenshell::entity& Ifc4::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4_types[680]); } -void Ifc4::IfcPolygonalFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4::IfcPolygonalFaceSet Ifc4::IfcPolygonalFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4::IfcCartesianPoint > Ifc4::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcCartesianPoint>(es); } @@ -11085,7 +11085,7 @@ void Ifc4::IfcPolyline::setPoints(const std::vector< ::Ifc4::IfcCartesianPoint > const ifcopenshell::entity& Ifc4::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4_types[681]); } -void Ifc4::IfcPolyline::initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4::IfcPolyline Ifc4::IfcPolyline::initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPort @@ -11094,7 +11094,7 @@ std::vector<::Ifc4::IfcRelConnectsPorts> Ifc4::IfcPort::ConnectedFrom() const { std::vector<::Ifc4::IfcRelConnectsPorts> Ifc4::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[817], 4)); } const ifcopenshell::entity& Ifc4::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4_types[683]); } -void Ifc4::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4::IfcPort Ifc4::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11114,19 +11114,19 @@ void Ifc4::IfcPostalAddress::setCountry(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4_types[688]); } -void Ifc4::IfcPostalAddress::initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4::IfcPostalAddress Ifc4::IfcPostalAddress::initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4_types[690]); } -void Ifc4::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4::IfcPreDefinedColour Ifc4::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4_types[691]); } -void Ifc4::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4::IfcPreDefinedCurveFont Ifc4::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11134,31 +11134,31 @@ void Ifc4::IfcPreDefinedItem::setName(const std::string& v) { set_attribute_valu const ifcopenshell::entity& Ifc4::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4_types[692]); } -void Ifc4::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4::IfcPreDefinedItem Ifc4::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[693]); } -void Ifc4::IfcPreDefinedProperties::initialize() { } +Ifc4::IfcPreDefinedProperties Ifc4::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4_types[694]); } -void Ifc4::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcPreDefinedPropertySet Ifc4::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4_types[695]); } -void Ifc4::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4::IfcPreDefinedTextFont Ifc4::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4_types[698]); } -void Ifc4::IfcPresentationItem::initialize() { } +Ifc4::IfcPresentationItem Ifc4::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11172,7 +11172,7 @@ void Ifc4::IfcPresentationLayerAssignment::setIdentifier(const std::optional< st const ifcopenshell::entity& Ifc4::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4_types[699]); } -void Ifc4::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4::IfcPresentationLayerAssignment Ifc4::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -11186,7 +11186,7 @@ void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< ::If const ifcopenshell::entity& Ifc4::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[700]); } -void Ifc4::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4::IfcPresentationLayerWithStyle Ifc4::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11194,7 +11194,7 @@ void Ifc4::IfcPresentationStyle::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[701]); } -void Ifc4::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcPresentationStyle Ifc4::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcPresentationStyleAssignment std::vector< ::Ifc4::IfcPresentationStyleSelect > Ifc4::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcPresentationStyleSelect>(es); } @@ -11202,7 +11202,7 @@ void Ifc4::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4_types[702]); } -void Ifc4::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles)); } +Ifc4::IfcPresentationStyleAssignment Ifc4::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -11210,7 +11210,7 @@ void Ifc4::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4::IfcProce const ifcopenshell::entity& Ifc4::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4_types[705]); } -void Ifc4::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4::IfcProcedure Ifc4::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureType::PredefinedType() const { return ::Ifc4::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -11218,7 +11218,7 @@ void Ifc4::IfcProcedureType::setPredefinedType(const ::Ifc4::IfcProcedureTypeEnu const ifcopenshell::entity& Ifc4::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4_types[706]); } -void Ifc4::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcProcedureType Ifc4::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -11231,7 +11231,7 @@ std::vector<::Ifc4::IfcRelSequence> Ifc4::IfcProcess::IsSuccessorFrom() const { std::vector<::Ifc4::IfcRelAssignsToProcess> Ifc4::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[803], 6)); } const ifcopenshell::entity& Ifc4::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4_types[708]); } -void Ifc4::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4::IfcProcess Ifc4::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4::IfcObjectPlacement Ifc4::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcObjectPlacement>(); } @@ -11242,7 +11242,7 @@ void Ifc4::IfcProduct::setRepresentation(const ::Ifc4::IfcProductRepresentation& std::vector<::Ifc4::IfcRelAssignsToProduct> Ifc4::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[804], 6)); } const ifcopenshell::entity& Ifc4::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4_types[710]); } -void Ifc4::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4::IfcProduct Ifc4::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -11250,7 +11250,7 @@ std::vector<::Ifc4::IfcProduct> Ifc4::IfcProductDefinitionShape::ShapeOfProduct( std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[890], 4)); } const ifcopenshell::entity& Ifc4::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4_types[711]); } -void Ifc4::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4::IfcProductDefinitionShape Ifc4::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11262,7 +11262,7 @@ void Ifc4::IfcProductRepresentation::setRepresentations(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[712]); } -void Ifc4::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4::IfcProductRepresentation Ifc4::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileDef::ProfileType() const { return ::Ifc4::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -11274,7 +11274,7 @@ std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcProfileDef::HasEx std::vector<::Ifc4::IfcProfileProperties> Ifc4::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[716], 3)); } const ifcopenshell::entity& Ifc4::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[715]); } -void Ifc4::IfcProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4::IfcProfileDef Ifc4::IfcProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4::IfcProfileDef Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcProfileDef>(); } @@ -11282,19 +11282,19 @@ void Ifc4::IfcProfileProperties::setProfileDefinition(const ::Ifc4::IfcProfileDe const ifcopenshell::entity& Ifc4::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[716]); } -void Ifc4::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4::IfcProfileProperties Ifc4::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4_types[718]); } -void Ifc4::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4::IfcProject Ifc4::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4_types[723]); } -void Ifc4::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4::IfcProjectLibrary Ifc4::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > Ifc4::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -11306,7 +11306,7 @@ void Ifc4::IfcProjectOrder::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4_types[724]); } -void Ifc4::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4::IfcProjectOrder Ifc4::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -11318,7 +11318,7 @@ void Ifc4::IfcProjectedCRS::setMapUnit(const ::Ifc4::IfcNamedUnit& v) { set_attr const ifcopenshell::entity& Ifc4::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4_types[719]); } -void Ifc4::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4::IfcProjectedCRS Ifc4::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > Ifc4::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11326,7 +11326,7 @@ void Ifc4::IfcProjectionElement::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4_types[721]); } -void Ifc4::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcProjectionElement Ifc4::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11342,14 +11342,14 @@ std::vector<::Ifc4::IfcResourceConstraintRelationship> Ifc4::IfcProperty::HasCon std::vector<::Ifc4::IfcResourceApprovalRelationship> Ifc4::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[851], 2)); } const ifcopenshell::entity& Ifc4::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4_types[726]); } -void Ifc4::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4::IfcProperty Ifc4::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } const ifcopenshell::entity& Ifc4::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4_types[727]); } -void Ifc4::IfcPropertyAbstraction::initialize() { } +Ifc4::IfcPropertyAbstraction Ifc4::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4::IfcValue Ifc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcValue>(); } @@ -11363,7 +11363,7 @@ void Ifc4::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4::IfcValue& v) const ifcopenshell::entity& Ifc4::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4_types[728]); } -void Ifc4::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_UpperBoundValue, ::Ifc4::IfcValue v4_LowerBoundValue, ::Ifc4::IfcUnit v5_Unit, ::Ifc4::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4::IfcPropertyBoundedValue Ifc4::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_UpperBoundValue, ::Ifc4::IfcValue v4_LowerBoundValue, ::Ifc4::IfcUnit v5_Unit, ::Ifc4::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -11371,7 +11371,7 @@ std::vector<::Ifc4::IfcRelDeclares> Ifc4::IfcPropertyDefinition::HasContext() co std::vector<::Ifc4::IfcRelAssociates> Ifc4::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[806], 4)); } const ifcopenshell::entity& Ifc4::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4_types[729]); } -void Ifc4::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcPropertyDefinition Ifc4::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4::IfcProperty Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcProperty>(); } @@ -11383,7 +11383,7 @@ void Ifc4::IfcPropertyDependencyRelationship::setExpression(const std::optional< const ifcopenshell::entity& Ifc4::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[730]); } -void Ifc4::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcProperty v3_DependingProperty, ::Ifc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4::IfcPropertyDependencyRelationship Ifc4::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcProperty v3_DependingProperty, ::Ifc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4::IfcValue > > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcValue>(es); } @@ -11393,7 +11393,7 @@ void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4_types[731]); } -void Ifc4::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4::IfcPropertyEnumeratedValue Ifc4::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11405,7 +11405,7 @@ void Ifc4::IfcPropertyEnumeration::setUnit(const ::Ifc4::IfcUnit& v) { set_attri const ifcopenshell::entity& Ifc4::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4_types[732]); } -void Ifc4::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4::IfcValue > v2_EnumerationValues, ::Ifc4::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4::IfcPropertyEnumeration Ifc4::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4::IfcValue > v2_EnumerationValues, ::Ifc4::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4::IfcValue > > Ifc4::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcValue>(es); } @@ -11415,7 +11415,7 @@ void Ifc4::IfcPropertyListValue::setUnit(const ::Ifc4::IfcUnit& v) { set_attribu const ifcopenshell::entity& Ifc4::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4_types[733]); } -void Ifc4::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_ListValues, ::Ifc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4::IfcPropertyListValue Ifc4::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_ListValues, ::Ifc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11425,7 +11425,7 @@ void Ifc4::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4::IfcObje const ifcopenshell::entity& Ifc4::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4_types[734]); } -void Ifc4::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4::IfcPropertyReferenceValue Ifc4::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4::IfcProperty > Ifc4::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcProperty>(es); } @@ -11433,7 +11433,7 @@ void Ifc4::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4::IfcProper const ifcopenshell::entity& Ifc4::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4_types[735]); } -void Ifc4::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4::IfcPropertySet Ifc4::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -11442,7 +11442,7 @@ std::vector<::Ifc4::IfcRelDefinesByTemplate> Ifc4::IfcPropertySetDefinition::IsD std::vector<::Ifc4::IfcRelDefinesByProperties> Ifc4::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[830], 5)); } const ifcopenshell::entity& Ifc4::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4_types[736]); } -void Ifc4::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcPropertySetDefinition Ifc4::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -11455,7 +11455,7 @@ void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< :: std::vector<::Ifc4::IfcRelDefinesByTemplate> Ifc4::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[831], 5)); } const ifcopenshell::entity& Ifc4::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[739]); } -void Ifc4::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4::IfcPropertySetTemplate Ifc4::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4::IfcValue Ifc4::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcValue>(); } @@ -11465,7 +11465,7 @@ void Ifc4::IfcPropertySingleValue::setUnit(const ::Ifc4::IfcUnit& v) { set_attri const ifcopenshell::entity& Ifc4::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4_types[741]); } -void Ifc4::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_NominalValue, ::Ifc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4::IfcPropertySingleValue Ifc4::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_NominalValue, ::Ifc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4::IfcValue > > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcValue>(es); } @@ -11483,7 +11483,7 @@ void Ifc4::IfcPropertyTableValue::setCurveInterpolation(const std::optional< ::I const ifcopenshell::entity& Ifc4::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4_types[742]); } -void Ifc4::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4::IfcUnit v6_DefiningUnit, ::Ifc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4::IfcPropertyTableValue Ifc4::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4::IfcUnit v6_DefiningUnit, ::Ifc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -11491,13 +11491,13 @@ std::vector<::Ifc4::IfcComplexPropertyTemplate> Ifc4::IfcPropertyTemplate::PartO std::vector<::Ifc4::IfcPropertySetTemplate> Ifc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[739], 6)); } const ifcopenshell::entity& Ifc4::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[743]); } -void Ifc4::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcPropertyTemplate Ifc4::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4_types[744]); } -void Ifc4::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcPropertyTemplateDefinition Ifc4::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11505,7 +11505,7 @@ void Ifc4::IfcProtectiveDevice::setPredefinedType(const std::optional< ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[745]); } -void Ifc4::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcProtectiveDevice Ifc4::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -11513,7 +11513,7 @@ void Ifc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[746]); } -void Ifc4::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcProtectiveDeviceTrippingUnit Ifc4::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -11521,7 +11521,7 @@ void Ifc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4_types[747]); } -void Ifc4::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcProtectiveDeviceTrippingUnitType Ifc4::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11529,7 +11529,7 @@ void Ifc4::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4::IfcProtectiv const ifcopenshell::entity& Ifc4::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[749]); } -void Ifc4::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcProtectiveDeviceType Ifc4::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcProxy::ProxyType() const { return ::Ifc4::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -11539,7 +11539,7 @@ void Ifc4::IfcProxy::setTag(const std::optional< std::string >& v) { if (v) {set const ifcopenshell::entity& Ifc4::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4_types[751]); } -void Ifc4::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4::IfcProxy Ifc4::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4::IfcPumpTypeEnum::Value > Ifc4::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -11547,7 +11547,7 @@ void Ifc4::IfcPump::setPredefinedType(const std::optional< ::Ifc4::IfcPumpTypeEn const ifcopenshell::entity& Ifc4::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4_types[752]); } -void Ifc4::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcPump Ifc4::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpType::PredefinedType() const { return ::Ifc4::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -11555,7 +11555,7 @@ void Ifc4::IfcPumpType::setPredefinedType(const ::Ifc4::IfcPumpTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4_types[753]); } -void Ifc4::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcPumpType Ifc4::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -11565,7 +11565,7 @@ void Ifc4::IfcQuantityArea::setFormula(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4_types[755]); } -void Ifc4::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4::IfcQuantityArea Ifc4::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -11575,7 +11575,7 @@ void Ifc4::IfcQuantityCount::setFormula(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4_types[756]); } -void Ifc4::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4::IfcQuantityCount Ifc4::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -11585,13 +11585,13 @@ void Ifc4::IfcQuantityLength::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4_types[757]); } -void Ifc4::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4::IfcQuantityLength Ifc4::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4_types[758]); } -void Ifc4::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcQuantitySet Ifc4::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -11601,7 +11601,7 @@ void Ifc4::IfcQuantityTime::setFormula(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4_types[759]); } -void Ifc4::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4::IfcQuantityTime Ifc4::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -11611,7 +11611,7 @@ void Ifc4::IfcQuantityVolume::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4_types[760]); } -void Ifc4::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4::IfcQuantityVolume Ifc4::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -11621,7 +11621,7 @@ void Ifc4::IfcQuantityWeight::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4_types[761]); } -void Ifc4::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4::IfcQuantityWeight Ifc4::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4::IfcRailingTypeEnum::Value > Ifc4::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -11629,7 +11629,7 @@ void Ifc4::IfcRailing::setPredefinedType(const std::optional< ::Ifc4::IfcRailing const ifcopenshell::entity& Ifc4::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4_types[763]); } -void Ifc4::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcRailing Ifc4::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingType::PredefinedType() const { return ::Ifc4::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -11637,7 +11637,7 @@ void Ifc4::IfcRailingType::setPredefinedType(const ::Ifc4::IfcRailingTypeEnum::V const ifcopenshell::entity& Ifc4::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4_types[764]); } -void Ifc4::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcRailingType Ifc4::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4::IfcRampTypeEnum::Value > Ifc4::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -11645,7 +11645,7 @@ void Ifc4::IfcRamp::setPredefinedType(const std::optional< ::Ifc4::IfcRampTypeEn const ifcopenshell::entity& Ifc4::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4_types[766]); } -void Ifc4::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcRamp Ifc4::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > Ifc4::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -11653,7 +11653,7 @@ void Ifc4::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4::IfcRamp const ifcopenshell::entity& Ifc4::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4_types[767]); } -void Ifc4::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcRampFlight Ifc4::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -11661,7 +11661,7 @@ void Ifc4::IfcRampFlightType::setPredefinedType(const ::Ifc4::IfcRampFlightTypeE const ifcopenshell::entity& Ifc4::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4_types[768]); } -void Ifc4::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcRampFlightType Ifc4::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampType::PredefinedType() const { return ::Ifc4::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -11669,7 +11669,7 @@ void Ifc4::IfcRampType::setPredefinedType(const ::Ifc4::IfcRampTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4_types[770]); } -void Ifc4::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcRampType Ifc4::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -11677,7 +11677,7 @@ void Ifc4::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vector< d const ifcopenshell::entity& Ifc4::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4_types[773]); } -void Ifc4::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4::IfcRationalBSplineCurveWithKnots Ifc4::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -11685,7 +11685,7 @@ void Ifc4::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::vector< const ifcopenshell::entity& Ifc4::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4_types[774]); } -void Ifc4::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4::IfcRationalBSplineSurfaceWithKnots Ifc4::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -11697,7 +11697,7 @@ void Ifc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[776]); } -void Ifc4::IfcRectangleHollowProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4::IfcRectangleHollowProfileDef Ifc4::IfcRectangleHollowProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -11707,7 +11707,7 @@ void Ifc4::IfcRectangleProfileDef::setYDim(const double& v) { set_attribute_valu const ifcopenshell::entity& Ifc4::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[777]); } -void Ifc4::IfcRectangleProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4::IfcRectangleProfileDef Ifc4::IfcRectangleProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -11719,7 +11719,7 @@ void Ifc4::IfcRectangularPyramid::setHeight(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4_types[778]); } -void Ifc4::IfcRectangularPyramid::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4::IfcRectangularPyramid Ifc4::IfcRectangularPyramid::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4::IfcSurface Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSurface>(); } @@ -11739,7 +11739,7 @@ void Ifc4::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[779]); } -void Ifc4::IfcRectangularTrimmedSurface::initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4::IfcRectangularTrimmedSurface Ifc4::IfcRectangularTrimmedSurface::initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -11761,7 +11761,7 @@ void Ifc4::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vector const ifcopenshell::entity& Ifc4::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4_types[780]); } -void Ifc4::IfcRecurrencePattern::initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4::IfcRecurrencePattern Ifc4::IfcRecurrencePattern::initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11777,7 +11777,7 @@ void Ifc4::IfcReference::setInnerReference(const ::Ifc4::IfcReference& v) { set_ const ifcopenshell::entity& Ifc4::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4_types[782]); } -void Ifc4::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4::IfcReference Ifc4::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -11787,7 +11787,7 @@ void Ifc4::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4::IfcTimeSer const ifcopenshell::entity& Ifc4::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4_types[784]); } -void Ifc4::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4::IfcRegularTimeSeries Ifc4::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -11805,7 +11805,7 @@ void Ifc4::IfcReinforcementBarProperties::setBarCount(const std::optional< doubl const ifcopenshell::entity& Ifc4::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[785]); } -void Ifc4::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4::IfcReinforcementBarProperties Ifc4::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -11815,7 +11815,7 @@ void Ifc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefiniti const ifcopenshell::entity& Ifc4::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[786]); } -void Ifc4::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4::IfcReinforcementDefinitionProperties Ifc4::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -11831,7 +11831,7 @@ void Ifc4::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4::IfcRein const ifcopenshell::entity& Ifc4::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4_types[787]); } -void Ifc4::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4::IfcReinforcingBar Ifc4::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -11851,7 +11851,7 @@ void Ifc4::IfcReinforcingBarType::setBendingParameters(const std::optional< std: const ifcopenshell::entity& Ifc4::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4_types[790]); } -void Ifc4::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4::IfcReinforcingBarType Ifc4::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -11859,13 +11859,13 @@ void Ifc4::IfcReinforcingElement::setSteelGrade(const std::optional< std::string const ifcopenshell::entity& Ifc4::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4_types[792]); } -void Ifc4::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4::IfcReinforcingElement Ifc4::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[793]); } -void Ifc4::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcReinforcingElementType Ifc4::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -11889,7 +11889,7 @@ void Ifc4::IfcReinforcingMesh::setPredefinedType(const std::optional< ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4_types[794]); } -void Ifc4::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4::IfcReinforcingMesh Ifc4::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -11917,7 +11917,7 @@ void Ifc4::IfcReinforcingMeshType::setBendingParameters(const std::optional< std const ifcopenshell::entity& Ifc4::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4_types[795]); } -void Ifc4::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4::IfcReinforcingMeshType Ifc4::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAggregates ::Ifc4::IfcObjectDefinition Ifc4::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcObjectDefinition>(); } @@ -11927,7 +11927,7 @@ void Ifc4::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4::IfcObj const ifcopenshell::entity& Ifc4::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4_types[797]); } -void Ifc4::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4::IfcRelAggregates Ifc4::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } @@ -11937,7 +11937,7 @@ void Ifc4::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4_types[798]); } -void Ifc4::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4::IfcRelAssigns Ifc4::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4::IfcActor Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcActor>(); } @@ -11947,7 +11947,7 @@ void Ifc4::IfcRelAssignsToActor::setActingRole(const ::Ifc4::IfcActorRole& v) { const ifcopenshell::entity& Ifc4::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4_types[799]); } -void Ifc4::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor v7_RelatingActor, ::Ifc4::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4::IfcRelAssignsToActor Ifc4::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor v7_RelatingActor, ::Ifc4::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4::IfcControl Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcControl>(); } @@ -11955,7 +11955,7 @@ void Ifc4::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4::IfcControl& const ifcopenshell::entity& Ifc4::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4_types[800]); } -void Ifc4::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4::IfcRelAssignsToControl Ifc4::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4::IfcGroup Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcGroup>(); } @@ -11963,7 +11963,7 @@ void Ifc4::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4::IfcGroup& v) { s const ifcopenshell::entity& Ifc4::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4_types[801]); } -void Ifc4::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4::IfcRelAssignsToGroup Ifc4::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -11971,7 +11971,7 @@ void Ifc4::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attrib const ifcopenshell::entity& Ifc4::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4_types[802]); } -void Ifc4::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4::IfcRelAssignsToGroupByFactor Ifc4::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4::IfcProcessSelect Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcProcessSelect>(); } @@ -11981,7 +11981,7 @@ void Ifc4::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4::IfcMeasure const ifcopenshell::entity& Ifc4::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4_types[803]); } -void Ifc4::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4::IfcRelAssignsToProcess Ifc4::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4::IfcProductSelect Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcProductSelect>(); } @@ -11989,7 +11989,7 @@ void Ifc4::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4::IfcProductSe const ifcopenshell::entity& Ifc4::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4_types[804]); } -void Ifc4::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4::IfcRelAssignsToProduct Ifc4::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4::IfcResourceSelect Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4::IfcResourceSelect>(); } @@ -11997,7 +11997,7 @@ void Ifc4::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4::IfcResourc const ifcopenshell::entity& Ifc4::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4_types[805]); } -void Ifc4::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4::IfcRelAssignsToResource Ifc4::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4::IfcDefinitionSelect > Ifc4::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcDefinitionSelect>(es); } @@ -12005,7 +12005,7 @@ void Ifc4::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4::IfcDef const ifcopenshell::entity& Ifc4::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4_types[806]); } -void Ifc4::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4::IfcRelAssociates Ifc4::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4::IfcApproval Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcApproval>(); } @@ -12013,7 +12013,7 @@ void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4::IfcApprov const ifcopenshell::entity& Ifc4::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4_types[807]); } -void Ifc4::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4::IfcRelAssociatesApproval Ifc4::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4::IfcClassificationSelect Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcClassificationSelect>(); } @@ -12021,7 +12021,7 @@ void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(const ::Ifc const ifcopenshell::entity& Ifc4::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4_types[808]); } -void Ifc4::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4::IfcRelAssociatesClassification Ifc4::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12031,7 +12031,7 @@ void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4::IfcCo const ifcopenshell::entity& Ifc4::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4_types[809]); } -void Ifc4::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4::IfcRelAssociatesConstraint Ifc4::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4::IfcDocumentSelect Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcDocumentSelect>(); } @@ -12039,7 +12039,7 @@ void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4::IfcDocume const ifcopenshell::entity& Ifc4::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4_types[810]); } -void Ifc4::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4::IfcRelAssociatesDocument Ifc4::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4::IfcLibrarySelect Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcLibrarySelect>(); } @@ -12047,7 +12047,7 @@ void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4::IfcLibraryS const ifcopenshell::entity& Ifc4::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4_types[811]); } -void Ifc4::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4::IfcRelAssociatesLibrary Ifc4::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4::IfcMaterialSelect Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4::IfcMaterialSelect>(); } @@ -12055,13 +12055,13 @@ void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4::IfcMateri const ifcopenshell::entity& Ifc4::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4_types[812]); } -void Ifc4::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4::IfcRelAssociatesMaterial Ifc4::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4_types[814]); } -void Ifc4::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcRelConnects Ifc4::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4::IfcConnectionGeometry Ifc4::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcConnectionGeometry>(); } @@ -12073,7 +12073,7 @@ void Ifc4::IfcRelConnectsElements::setRelatedElement(const ::Ifc4::IfcElement& v const ifcopenshell::entity& Ifc4::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4_types[815]); } -void Ifc4::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4::IfcRelConnectsElements Ifc4::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -12087,7 +12087,7 @@ void Ifc4::IfcRelConnectsPathElements::setRelatingConnectionType(const ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4_types[816]); } -void Ifc4::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4::IfcRelConnectsPathElements Ifc4::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4::IfcPort Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcPort>(); } @@ -12097,7 +12097,7 @@ void Ifc4::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4::IfcDistr const ifcopenshell::entity& Ifc4::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4_types[818]); } -void Ifc4::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4::IfcRelConnectsPortToElement Ifc4::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4::IfcPort Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcPort>(); } @@ -12109,7 +12109,7 @@ void Ifc4::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4::IfcElement& v) const ifcopenshell::entity& Ifc4::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4_types[817]); } -void Ifc4::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcPort v6_RelatedPort, ::Ifc4::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4::IfcRelConnectsPorts Ifc4::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcPort v6_RelatedPort, ::Ifc4::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4::IfcStructuralActivityAssignmentSelect Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcStructuralActivityAssignmentSelect>(); } @@ -12119,7 +12119,7 @@ void Ifc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(const const ifcopenshell::entity& Ifc4::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4_types[819]); } -void Ifc4::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4::IfcRelConnectsStructuralActivity Ifc4::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4::IfcStructuralMember Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcStructuralMember>(); } @@ -12137,7 +12137,7 @@ void Ifc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const :: const ifcopenshell::entity& Ifc4::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4_types[820]); } -void Ifc4::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4::IfcRelConnectsStructuralMember Ifc4::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4::IfcConnectionGeometry Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcConnectionGeometry>(); } @@ -12145,7 +12145,7 @@ void Ifc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc4: const ifcopenshell::entity& Ifc4::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4_types[821]); } -void Ifc4::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4::IfcRelConnectsWithEccentricity Ifc4::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4::IfcElement > Ifc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4::IfcElement>(es); } @@ -12155,7 +12155,7 @@ void Ifc4::IfcRelConnectsWithRealizingElements::setConnectionType(const std::opt const ifcopenshell::entity& Ifc4::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4_types[822]); } -void Ifc4::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4::IfcRelConnectsWithRealizingElements Ifc4::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4::IfcProduct > Ifc4::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcProduct>(es); } @@ -12165,7 +12165,7 @@ void Ifc4::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc4: const ifcopenshell::entity& Ifc4::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4_types[823]); } -void Ifc4::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4::IfcRelContainedInSpatialStructure Ifc4::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4::IfcElement Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } @@ -12175,7 +12175,7 @@ void Ifc4::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< ::If const ifcopenshell::entity& Ifc4::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4_types[824]); } -void Ifc4::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4::IfcRelCoversBldgElements Ifc4::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4::IfcSpace Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcSpace>(); } @@ -12185,7 +12185,7 @@ void Ifc4::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4_types[825]); } -void Ifc4::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4::IfcRelCoversSpaces Ifc4::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4::IfcContext Ifc4::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcContext>(); } @@ -12195,19 +12195,19 @@ void Ifc4::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4::IfcD const ifcopenshell::entity& Ifc4::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4_types[826]); } -void Ifc4::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4::IfcRelDeclares Ifc4::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4_types[827]); } -void Ifc4::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcRelDecomposes Ifc4::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4_types[828]); } -void Ifc4::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcRelDefines Ifc4::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4::IfcObject > Ifc4::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObject>(es); } @@ -12217,7 +12217,7 @@ void Ifc4::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4::IfcObject& v) const ifcopenshell::entity& Ifc4::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4_types[829]); } -void Ifc4::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4::IfcRelDefinesByObject Ifc4::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4::IfcObjectDefinition > Ifc4::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObjectDefinition>(es); } @@ -12227,7 +12227,7 @@ void Ifc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::Ifc4 const ifcopenshell::entity& Ifc4::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[830]); } -void Ifc4::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4::IfcRelDefinesByProperties Ifc4::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4::IfcPropertySetDefinition > Ifc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcPropertySetDefinition>(es); } @@ -12237,7 +12237,7 @@ void Ifc4::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4::IfcPropert const ifcopenshell::entity& Ifc4::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[831]); } -void Ifc4::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4::IfcRelDefinesByTemplate Ifc4::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4::IfcObject > Ifc4::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcObject>(es); } @@ -12247,7 +12247,7 @@ void Ifc4::IfcRelDefinesByType::setRelatingType(const ::Ifc4::IfcTypeObject& v) const ifcopenshell::entity& Ifc4::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4_types[832]); } -void Ifc4::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4::IfcRelDefinesByType Ifc4::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4::IfcOpeningElement Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcOpeningElement>(); } @@ -12257,7 +12257,7 @@ void Ifc4::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4::IfcElemen const ifcopenshell::entity& Ifc4::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4_types[833]); } -void Ifc4::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4::IfcRelFillsElement Ifc4::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4::IfcDistributionControlElement > Ifc4::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcDistributionControlElement>(es); } @@ -12267,7 +12267,7 @@ void Ifc4::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4::IfcDi const ifcopenshell::entity& Ifc4::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4_types[834]); } -void Ifc4::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4::IfcRelFlowControlElements Ifc4::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4::IfcElement Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } @@ -12283,7 +12283,7 @@ void Ifc4::IfcRelInterferesElements::setImpliedOrder(const boost::logic::tribool const ifcopenshell::entity& Ifc4::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4_types[835]); } -void Ifc4::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcElement v6_RelatedElement, ::Ifc4::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder)); } +Ifc4::IfcRelInterferesElements Ifc4::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcElement v6_RelatedElement, ::Ifc4::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4::IfcObjectDefinition Ifc4::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcObjectDefinition>(); } @@ -12293,7 +12293,7 @@ void Ifc4::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDe const ifcopenshell::entity& Ifc4::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4_types[836]); } -void Ifc4::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4::IfcRelNests Ifc4::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4::IfcElement Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } @@ -12303,7 +12303,7 @@ void Ifc4::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4::IfcFeat const ifcopenshell::entity& Ifc4::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4_types[837]); } -void Ifc4::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4::IfcRelProjectsElement Ifc4::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4::IfcProduct > Ifc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4::IfcProduct>(es); } @@ -12313,7 +12313,7 @@ void Ifc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::Ifc4 const ifcopenshell::entity& Ifc4::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4_types[838]); } -void Ifc4::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4::IfcRelReferencedInSpatialStructure Ifc4::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4::IfcProcess Ifc4::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcProcess>(); } @@ -12329,7 +12329,7 @@ void Ifc4::IfcRelSequence::setUserDefinedSequenceType(const std::optional< std:: const ifcopenshell::entity& Ifc4::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4_types[839]); } -void Ifc4::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcProcess v5_RelatingProcess, ::Ifc4::IfcProcess v6_RelatedProcess, ::Ifc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4::IfcRelSequence Ifc4::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcProcess v5_RelatingProcess, ::Ifc4::IfcProcess v6_RelatedProcess, ::Ifc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4::IfcSystem Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcSystem>(); } @@ -12339,7 +12339,7 @@ void Ifc4::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4_types[840]); } -void Ifc4::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4::IfcRelServicesBuildings Ifc4::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4::IfcSpaceBoundarySelect Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcSpaceBoundarySelect>(); } @@ -12355,7 +12355,7 @@ void Ifc4::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4::IfcI const ifcopenshell::entity& Ifc4::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4_types[841]); } -void Ifc4::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4::IfcRelSpaceBoundary Ifc4::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4::IfcRelSpaceBoundary1stLevel Ifc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4::IfcRelSpaceBoundary1stLevel>(); } @@ -12364,7 +12364,7 @@ void Ifc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4::IfcRelSp std::vector<::Ifc4::IfcRelSpaceBoundary1stLevel> Ifc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[842], 9)); } const ifcopenshell::entity& Ifc4::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4_types[842]); } -void Ifc4::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4::IfcRelSpaceBoundary1stLevel Ifc4::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4::IfcRelSpaceBoundary2ndLevel Ifc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4::IfcRelSpaceBoundary2ndLevel>(); } @@ -12373,7 +12373,7 @@ void Ifc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4::I std::vector<::Ifc4::IfcRelSpaceBoundary2ndLevel> Ifc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[843], 10)); } const ifcopenshell::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4_types[843]); } -void Ifc4::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4::IfcRelSpaceBoundary2ndLevel Ifc4::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4::IfcElement Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcElement>(); } @@ -12383,13 +12383,13 @@ void Ifc4::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4::IfcFeature const ifcopenshell::entity& Ifc4::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4_types[844]); } -void Ifc4::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, ::Ifc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4::IfcRelVoidsElement Ifc4::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, ::Ifc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[813]); } -void Ifc4::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcRelationship Ifc4::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -12397,7 +12397,7 @@ void Ifc4::IfcReparametrisedCompositeCurveSegment::setParamLength(const double& const ifcopenshell::entity& Ifc4::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4_types[845]); } -void Ifc4::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4::IfcReparametrisedCompositeCurveSegment Ifc4::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4::IfcRepresentationContext Ifc4::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcRepresentationContext>(); } @@ -12414,7 +12414,7 @@ std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentation::Lay std::vector<::Ifc4::IfcProductRepresentation> Ifc4::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[712], 2)); } const ifcopenshell::entity& Ifc4::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[846]); } -void Ifc4::IfcRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4::IfcRepresentation Ifc4::IfcRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12425,7 +12425,7 @@ void Ifc4::IfcRepresentationContext::setContextType(const std::optional< std::st std::vector<::Ifc4::IfcRepresentation> Ifc4::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[846], 0)); } const ifcopenshell::entity& Ifc4::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4_types[847]); } -void Ifc4::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4::IfcRepresentationContext Ifc4::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -12433,7 +12433,7 @@ std::vector<::Ifc4::IfcPresentationLayerAssignment> Ifc4::IfcRepresentationItem: std::vector<::Ifc4::IfcStyledItem> Ifc4::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[994], 0)); } const ifcopenshell::entity& Ifc4::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4_types[848]); } -void Ifc4::IfcRepresentationItem::initialize() { } +Ifc4::IfcRepresentationItem Ifc4::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4::IfcAxis2Placement Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcAxis2Placement>(); } @@ -12445,7 +12445,7 @@ std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcRepresentationMap::HasShapeAspects( std::vector<::Ifc4::IfcMappedItem> Ifc4::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[553], 0)); } const ifcopenshell::entity& Ifc4::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4_types[849]); } -void Ifc4::IfcRepresentationMap::initialize(::Ifc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4::IfcRepresentationMap Ifc4::IfcRepresentationMap::initialize(::Ifc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12456,7 +12456,7 @@ void Ifc4::IfcResource::setLongDescription(const std::optional< std::string >& v std::vector<::Ifc4::IfcRelAssignsToResource> Ifc4::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[805], 6)); } const ifcopenshell::entity& Ifc4::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4_types[850]); } -void Ifc4::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4::IfcResource Ifc4::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4::IfcResourceObjectSelect > Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4::IfcResourceObjectSelect>(es); } @@ -12466,7 +12466,7 @@ void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[851]); } -void Ifc4::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4::IfcResourceApprovalRelationship Ifc4::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4::IfcConstraint Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcConstraint>(); } @@ -12476,7 +12476,7 @@ void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(const st const ifcopenshell::entity& Ifc4::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[852]); } -void Ifc4::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4::IfcResourceConstraintRelationship Ifc4::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12486,7 +12486,7 @@ void Ifc4::IfcResourceLevelRelationship::setDescription(const std::optional< std const ifcopenshell::entity& Ifc4::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4_types[853]); } -void Ifc4::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4::IfcResourceLevelRelationship Ifc4::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12522,7 +12522,7 @@ void Ifc4::IfcResourceTime::setCompletion(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4_types[856]); } -void Ifc4::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4::IfcResourceTime Ifc4::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4::IfcAxis1Placement Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcAxis1Placement>(); } @@ -12532,7 +12532,7 @@ void Ifc4::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[857]); } -void Ifc4::IfcRevolvedAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4::IfcRevolvedAreaSolid Ifc4::IfcRevolvedAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4::IfcProfileDef Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4::IfcProfileDef>(); } @@ -12540,7 +12540,7 @@ void Ifc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4::IfcProfile const ifcopenshell::entity& Ifc4::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4_types[858]); } -void Ifc4::IfcRevolvedAreaSolidTapered::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4::IfcRevolvedAreaSolidTapered Ifc4::IfcRevolvedAreaSolidTapered::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -12550,7 +12550,7 @@ void Ifc4::IfcRightCircularCone::setBottomRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4_types[859]); } -void Ifc4::IfcRightCircularCone::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4::IfcRightCircularCone Ifc4::IfcRightCircularCone::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -12560,7 +12560,7 @@ void Ifc4::IfcRightCircularCylinder::setRadius(const double& v) { set_attribute_ const ifcopenshell::entity& Ifc4::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4_types[860]); } -void Ifc4::IfcRightCircularCylinder::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4::IfcRightCircularCylinder Ifc4::IfcRightCircularCylinder::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4::IfcRoofTypeEnum::Value > Ifc4::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -12568,7 +12568,7 @@ void Ifc4::IfcRoof::setPredefinedType(const std::optional< ::Ifc4::IfcRoofTypeEn const ifcopenshell::entity& Ifc4::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4_types[862]); } -void Ifc4::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcRoof Ifc4::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofType::PredefinedType() const { return ::Ifc4::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -12576,7 +12576,7 @@ void Ifc4::IfcRoofType::setPredefinedType(const ::Ifc4::IfcRoofTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4_types[863]); } -void Ifc4::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcRoofType Ifc4::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -12590,7 +12590,7 @@ void Ifc4::IfcRoot::setDescription(const std::optional< std::string >& v) { if ( const ifcopenshell::entity& Ifc4::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4_types[865]); } -void Ifc4::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4::IfcRoot Ifc4::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -12598,7 +12598,7 @@ void Ifc4::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& v) { s const ifcopenshell::entity& Ifc4::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[870]); } -void Ifc4::IfcRoundedRectangleProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4::IfcRoundedRectangleProfileDef Ifc4::IfcRoundedRectangleProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4::IfcSIPrefix::Value > Ifc4::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -12608,7 +12608,7 @@ void Ifc4::IfcSIUnit::setName(const ::Ifc4::IfcSIUnitName::Value& v) { set_attri const ifcopenshell::entity& Ifc4::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4_types[902]); } -void Ifc4::IfcSIUnit::initialize(::Ifc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4::IfcSIUnit Ifc4::IfcSIUnit::initialize(::Ifc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -12616,7 +12616,7 @@ void Ifc4::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4_types[871]); } -void Ifc4::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSanitaryTerminal Ifc4::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -12624,7 +12624,7 @@ void Ifc4::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4::IfcSanitaryT const ifcopenshell::entity& Ifc4::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[872]); } -void Ifc4::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcSanitaryTerminalType Ifc4::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12636,13 +12636,13 @@ void Ifc4::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional< std: const ifcopenshell::entity& Ifc4::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4_types[874]); } -void Ifc4::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4::IfcSchedulingTime Ifc4::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[875]); } -void Ifc4::IfcSeamCurve::initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4::IfcSeamCurve Ifc4::IfcSeamCurve::initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSectionProperties ::Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionProperties::SectionType() const { return ::Ifc4::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -12654,7 +12654,7 @@ void Ifc4::IfcSectionProperties::setEndProfile(const ::Ifc4::IfcProfileDef& v) { const ifcopenshell::entity& Ifc4::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[879]); } -void Ifc4::IfcSectionProperties::initialize(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef v2_StartProfile, ::Ifc4::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4::IfcSectionProperties Ifc4::IfcSectionProperties::initialize(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef v2_StartProfile, ::Ifc4::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -12672,7 +12672,7 @@ void Ifc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefini const ifcopenshell::entity& Ifc4::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[880]); } -void Ifc4::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4::IfcSectionReinforcementProperties Ifc4::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4::IfcCompositeCurve Ifc4::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCompositeCurve>(); } @@ -12684,7 +12684,7 @@ void Ifc4::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4_types[877]); } -void Ifc4::IfcSectionedSpine::initialize(::Ifc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4::IfcSectionedSpine Ifc4::IfcSectionedSpine::initialize(::Ifc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4::IfcSensorTypeEnum::Value > Ifc4::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -12692,7 +12692,7 @@ void Ifc4::IfcSensor::setPredefinedType(const std::optional< ::Ifc4::IfcSensorTy const ifcopenshell::entity& Ifc4::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4_types[883]); } -void Ifc4::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSensor Ifc4::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorType::PredefinedType() const { return ::Ifc4::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -12700,7 +12700,7 @@ void Ifc4::IfcSensorType::setPredefinedType(const ::Ifc4::IfcSensorTypeEnum::Val const ifcopenshell::entity& Ifc4::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4_types[884]); } -void Ifc4::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcSensorType Ifc4::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > Ifc4::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12708,7 +12708,7 @@ void Ifc4::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4::IfcS const ifcopenshell::entity& Ifc4::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[887]); } -void Ifc4::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcShadingDevice Ifc4::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12716,7 +12716,7 @@ void Ifc4::IfcShadingDeviceType::setPredefinedType(const ::Ifc4::IfcShadingDevic const ifcopenshell::entity& Ifc4::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[888]); } -void Ifc4::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcShadingDeviceType Ifc4::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4::IfcShapeModel > Ifc4::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcShapeModel>(es); } @@ -12732,20 +12732,20 @@ void Ifc4::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4::IfcProd const ifcopenshell::entity& Ifc4::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4_types[890]); } -void Ifc4::IfcShapeAspect::initialize(std::vector< ::Ifc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4::IfcShapeAspect Ifc4::IfcShapeAspect::initialize(std::vector< ::Ifc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4::IfcShapeAspect> Ifc4::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[890], 0)); } const ifcopenshell::entity& Ifc4::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4_types[891]); } -void Ifc4::IfcShapeModel::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4::IfcShapeModel Ifc4::IfcShapeModel::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[892]); } -void Ifc4::IfcShapeRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4::IfcShapeRepresentation Ifc4::IfcShapeRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4::IfcShell > Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcShell>(es); } @@ -12753,13 +12753,13 @@ void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc4: const ifcopenshell::entity& Ifc4::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4_types[895]); } -void Ifc4::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4::IfcShellBasedSurfaceModel Ifc4::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4_types[896]); } -void Ifc4::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4::IfcSimpleProperty Ifc4::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -12781,7 +12781,7 @@ void Ifc4::IfcSimplePropertyTemplate::setAccessState(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4_types[897]); } -void Ifc4::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4::IfcUnit v9_PrimaryUnit, ::Ifc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4::IfcSimplePropertyTemplate Ifc4::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4::IfcUnit v9_PrimaryUnit, ::Ifc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -12797,7 +12797,7 @@ void Ifc4::IfcSite::setSiteAddress(const ::Ifc4::IfcPostalAddress& v) { set_attr const ifcopenshell::entity& Ifc4::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4_types[901]); } -void Ifc4::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4::IfcSite Ifc4::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4::IfcSlabTypeEnum::Value > Ifc4::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -12805,19 +12805,19 @@ void Ifc4::IfcSlab::setPredefinedType(const std::optional< ::Ifc4::IfcSlabTypeEn const ifcopenshell::entity& Ifc4::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4_types[905]); } -void Ifc4::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSlab Ifc4::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4_types[906]); } -void Ifc4::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSlabElementedCase Ifc4::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[907]); } -void Ifc4::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSlabStandardCase Ifc4::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabType::PredefinedType() const { return ::Ifc4::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -12825,7 +12825,7 @@ void Ifc4::IfcSlabType::setPredefinedType(const ::Ifc4::IfcSlabTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4_types[908]); } -void Ifc4::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcSlabType Ifc4::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -12837,7 +12837,7 @@ void Ifc4::IfcSlippageConnectionCondition::setSlippageZ(const std::optional< dou const ifcopenshell::entity& Ifc4::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[910]); } -void Ifc4::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4::IfcSlippageConnectionCondition Ifc4::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > Ifc4::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12845,7 +12845,7 @@ void Ifc4::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4::IfcSol const ifcopenshell::entity& Ifc4::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[911]); } -void Ifc4::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSolarDevice Ifc4::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12853,13 +12853,13 @@ void Ifc4::IfcSolarDeviceType::setPredefinedType(const ::Ifc4::IfcSolarDeviceTyp const ifcopenshell::entity& Ifc4::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[912]); } -void Ifc4::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcSolarDeviceType Ifc4::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4_types[915]); } -void Ifc4::IfcSolidModel::initialize() { } +Ifc4::IfcSolidModel Ifc4::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4::IfcSpaceTypeEnum::Value > Ifc4::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -12871,7 +12871,7 @@ std::vector<::Ifc4::IfcRelCoversSpaces> Ifc4::IfcSpace::HasCoverings() const { r std::vector<::Ifc4::IfcRelSpaceBoundary> Ifc4::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[841], 4)); } const ifcopenshell::entity& Ifc4::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4_types[921]); } -void Ifc4::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4::IfcSpace Ifc4::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > Ifc4::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -12879,7 +12879,7 @@ void Ifc4::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4::IfcSpa const ifcopenshell::entity& Ifc4::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4_types[923]); } -void Ifc4::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSpaceHeater Ifc4::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -12887,7 +12887,7 @@ void Ifc4::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4::IfcSpaceHeaterTyp const ifcopenshell::entity& Ifc4::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4_types[924]); } -void Ifc4::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcSpaceHeaterType Ifc4::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceType::PredefinedType() const { return ::Ifc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -12897,7 +12897,7 @@ void Ifc4::IfcSpaceType::setLongName(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4_types[926]); } -void Ifc4::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4::IfcSpaceType Ifc4::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -12908,7 +12908,7 @@ std::vector<::Ifc4::IfcRelServicesBuildings> Ifc4::IfcSpatialElement::ServicedBy std::vector<::Ifc4::IfcRelReferencedInSpatialStructure> Ifc4::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[838], 5)); } const ifcopenshell::entity& Ifc4::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4_types[928]); } -void Ifc4::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4::IfcSpatialElement Ifc4::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -12916,7 +12916,7 @@ void Ifc4::IfcSpatialElementType::setElementType(const std::optional< std::strin const ifcopenshell::entity& Ifc4::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[929]); } -void Ifc4::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcSpatialElementType Ifc4::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4::IfcElementCompositionEnum::Value > Ifc4::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -12924,13 +12924,13 @@ void Ifc4::IfcSpatialStructureElement::setCompositionType(const std::optional< : const ifcopenshell::entity& Ifc4::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4_types[930]); } -void Ifc4::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4::IfcSpatialStructureElement Ifc4::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[931]); } -void Ifc4::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4::IfcSpatialStructureElementType Ifc4::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > Ifc4::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -12938,7 +12938,7 @@ void Ifc4::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4::IfcSpa const ifcopenshell::entity& Ifc4::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4_types[932]); } -void Ifc4::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSpatialZone Ifc4::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -12948,7 +12948,7 @@ void Ifc4::IfcSpatialZoneType::setLongName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4_types[933]); } -void Ifc4::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4::IfcSpatialZoneType Ifc4::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -12956,7 +12956,7 @@ void Ifc4::IfcSphere::setRadius(const double& v) { set_attribute_value(1, v);if const ifcopenshell::entity& Ifc4::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4_types[939]); } -void Ifc4::IfcSphere::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4::IfcSphere Ifc4::IfcSphere::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -12964,7 +12964,7 @@ void Ifc4::IfcSphericalSurface::setRadius(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[940]); } -void Ifc4::IfcSphericalSurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4::IfcSphericalSurface Ifc4::IfcSphericalSurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > Ifc4::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -12972,7 +12972,7 @@ void Ifc4::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4::IfcS const ifcopenshell::entity& Ifc4::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4_types[941]); } -void Ifc4::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcStackTerminal Ifc4::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -12980,7 +12980,7 @@ void Ifc4::IfcStackTerminalType::setPredefinedType(const ::Ifc4::IfcStackTermina const ifcopenshell::entity& Ifc4::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[942]); } -void Ifc4::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcStackTerminalType Ifc4::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4::IfcStairTypeEnum::Value > Ifc4::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -12988,7 +12988,7 @@ void Ifc4::IfcStair::setPredefinedType(const std::optional< ::Ifc4::IfcStairType const ifcopenshell::entity& Ifc4::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4_types[944]); } -void Ifc4::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcStair Ifc4::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -13004,7 +13004,7 @@ void Ifc4::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4::IfcSta const ifcopenshell::entity& Ifc4::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4_types[945]); } -void Ifc4::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4::IfcStairFlight Ifc4::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13012,7 +13012,7 @@ void Ifc4::IfcStairFlightType::setPredefinedType(const ::Ifc4::IfcStairFlightTyp const ifcopenshell::entity& Ifc4::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4_types[946]); } -void Ifc4::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcStairFlightType Ifc4::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairType::PredefinedType() const { return ::Ifc4::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -13020,7 +13020,7 @@ void Ifc4::IfcStairType::setPredefinedType(const ::Ifc4::IfcStairTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4_types[948]); } -void Ifc4::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcStairType Ifc4::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -13028,7 +13028,7 @@ void Ifc4::IfcStructuralAction::setDestabilizingLoad(const std::optional< bool > const ifcopenshell::entity& Ifc4::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4_types[951]); } -void Ifc4::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4::IfcStructuralAction Ifc4::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4::IfcStructuralLoad Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcStructuralLoad>(); } @@ -13039,7 +13039,7 @@ void Ifc4::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4::IfcGlobalOrLoca std::vector<::Ifc4::IfcRelConnectsStructuralActivity> Ifc4::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[819], 5)); } const ifcopenshell::entity& Ifc4::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4_types[952]); } -void Ifc4::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4::IfcStructuralActivity Ifc4::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -13055,7 +13055,7 @@ void Ifc4::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4::IfcObjec const ifcopenshell::entity& Ifc4::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4_types[954]); } -void Ifc4::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4::IfcStructuralAnalysisModel Ifc4::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4::IfcBoundaryCondition Ifc4::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4::IfcBoundaryCondition>(); } @@ -13064,7 +13064,7 @@ void Ifc4::IfcStructuralConnection::setAppliedCondition(const ::Ifc4::IfcBoundar std::vector<::Ifc4::IfcRelConnectsStructuralMember> Ifc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[820], 5)); } const ifcopenshell::entity& Ifc4::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4_types[955]); } -void Ifc4::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4::IfcStructuralConnection Ifc4::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13072,7 +13072,7 @@ void Ifc4::IfcStructuralConnectionCondition::setName(const std::optional< std::s const ifcopenshell::entity& Ifc4::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4_types[956]); } -void Ifc4::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcStructuralConnectionCondition Ifc4::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -13082,7 +13082,7 @@ void Ifc4::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4::IfcStructur const ifcopenshell::entity& Ifc4::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4_types[957]); } -void Ifc4::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcStructuralCurveAction Ifc4::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4::IfcDirection Ifc4::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcDirection>(); } @@ -13090,7 +13090,7 @@ void Ifc4::IfcStructuralCurveConnection::setAxis(const ::Ifc4::IfcDirection& v) const ifcopenshell::entity& Ifc4::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4_types[959]); } -void Ifc4::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4::IfcStructuralCurveConnection Ifc4::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -13100,13 +13100,13 @@ void Ifc4::IfcStructuralCurveMember::setAxis(const ::Ifc4::IfcDirection& v) { se const ifcopenshell::entity& Ifc4::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4_types[960]); } -void Ifc4::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4::IfcStructuralCurveMember Ifc4::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4_types[962]); } -void Ifc4::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4::IfcStructuralCurveMemberVarying Ifc4::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -13114,20 +13114,20 @@ void Ifc4::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4::IfcStruct const ifcopenshell::entity& Ifc4::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4_types[963]); } -void Ifc4::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcStructuralCurveReaction Ifc4::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4::IfcRelConnectsStructuralActivity> Ifc4::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[819], 4)); } const ifcopenshell::entity& Ifc4::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4_types[964]); } -void Ifc4::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4::IfcStructuralItem Ifc4::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4_types[965]); } -void Ifc4::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcStructuralLinearAction Ifc4::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13135,7 +13135,7 @@ void Ifc4::IfcStructuralLoad::setName(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4_types[966]); } -void Ifc4::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcStructuralLoad Ifc4::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -13143,7 +13143,7 @@ void Ifc4::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::optional< const ifcopenshell::entity& Ifc4::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4_types[967]); } -void Ifc4::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4::IfcStructuralLoadCase Ifc4::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4::IfcStructuralLoadOrResult > Ifc4::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcStructuralLoadOrResult>(es); } @@ -13153,7 +13153,7 @@ void Ifc4::IfcStructuralLoadConfiguration::setLocations(const std::optional< std const ifcopenshell::entity& Ifc4::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4_types[968]); } -void Ifc4::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4::IfcStructuralLoadConfiguration Ifc4::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -13171,7 +13171,7 @@ std::vector<::Ifc4::IfcStructuralResultGroup> Ifc4::IfcStructuralLoadGroup::Sour std::vector<::Ifc4::IfcStructuralAnalysisModel> Ifc4::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[954], 7)); } const ifcopenshell::entity& Ifc4::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4_types[969]); } -void Ifc4::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4::IfcStructuralLoadGroup Ifc4::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13189,13 +13189,13 @@ void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optional< d const ifcopenshell::entity& Ifc4::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4_types[970]); } -void Ifc4::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4::IfcStructuralLoadLinearForce Ifc4::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4_types[971]); } -void Ifc4::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcStructuralLoadOrResult Ifc4::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13207,7 +13207,7 @@ void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optional< do const ifcopenshell::entity& Ifc4::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4_types[972]); } -void Ifc4::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4::IfcStructuralLoadPlanarForce Ifc4::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13225,7 +13225,7 @@ void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(cons const ifcopenshell::entity& Ifc4::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4_types[973]); } -void Ifc4::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4::IfcStructuralLoadSingleDisplacement Ifc4::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -13233,7 +13233,7 @@ void Ifc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(const st const ifcopenshell::entity& Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4_types[974]); } -void Ifc4::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4::IfcStructuralLoadSingleDisplacementDistortion Ifc4::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13251,7 +13251,7 @@ void Ifc4::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< double const ifcopenshell::entity& Ifc4::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4_types[975]); } -void Ifc4::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4::IfcStructuralLoadSingleForce Ifc4::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -13259,13 +13259,13 @@ void Ifc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std::opti const ifcopenshell::entity& Ifc4::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4_types[976]); } -void Ifc4::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4::IfcStructuralLoadSingleForceWarping Ifc4::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4_types[977]); } -void Ifc4::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4::IfcStructuralLoadStatic Ifc4::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13277,26 +13277,26 @@ void Ifc4::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< double const ifcopenshell::entity& Ifc4::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4_types[978]); } -void Ifc4::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4::IfcStructuralLoadTemperature Ifc4::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4::IfcRelConnectsStructuralMember> Ifc4::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[820], 4)); } const ifcopenshell::entity& Ifc4::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4_types[979]); } -void Ifc4::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4::IfcStructuralMember Ifc4::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4_types[980]); } -void Ifc4::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcStructuralPlanarAction Ifc4::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4_types[981]); } -void Ifc4::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4::IfcStructuralPointAction Ifc4::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4::IfcAxis2Placement3D Ifc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4::IfcAxis2Placement3D>(); } @@ -13304,19 +13304,19 @@ void Ifc4::IfcStructuralPointConnection::setConditionCoordinateSystem(const ::If const ifcopenshell::entity& Ifc4::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4_types[982]); } -void Ifc4::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4::IfcStructuralPointConnection Ifc4::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4_types[983]); } -void Ifc4::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4::IfcStructuralPointReaction Ifc4::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4_types[984]); } -void Ifc4::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4::IfcStructuralReaction Ifc4::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -13329,7 +13329,7 @@ void Ifc4::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribute_ std::vector<::Ifc4::IfcStructuralAnalysisModel> Ifc4::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[954], 8)); } const ifcopenshell::entity& Ifc4::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4_types[985]); } -void Ifc4::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4::IfcStructuralResultGroup Ifc4::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -13339,13 +13339,13 @@ void Ifc4::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4::IfcStruct const ifcopenshell::entity& Ifc4::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4_types[986]); } -void Ifc4::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcStructuralSurfaceAction Ifc4::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4_types[988]); } -void Ifc4::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4::IfcStructuralSurfaceConnection Ifc4::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -13355,13 +13355,13 @@ void Ifc4::IfcStructuralSurfaceMember::setThickness(const std::optional< double const ifcopenshell::entity& Ifc4::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4_types[989]); } -void Ifc4::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4::IfcStructuralSurfaceMember Ifc4::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4_types[991]); } -void Ifc4::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4::IfcStructuralSurfaceMemberVarying Ifc4::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -13369,13 +13369,13 @@ void Ifc4::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4::IfcStru const ifcopenshell::entity& Ifc4::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4_types[992]); } -void Ifc4::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcStructuralSurfaceReaction Ifc4::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4_types[996]); } -void Ifc4::IfcStyleModel::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4::IfcStyleModel Ifc4::IfcStyleModel::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4::IfcRepresentationItem Ifc4::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcRepresentationItem>(); } @@ -13387,13 +13387,13 @@ void Ifc4::IfcStyledItem::setName(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4_types[994]); } -void Ifc4::IfcStyledItem::initialize(::Ifc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4::IfcStyledItem Ifc4::IfcStyledItem::initialize(::Ifc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[995]); } -void Ifc4::IfcStyledRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4::IfcStyledRepresentation Ifc4::IfcStyledRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > Ifc4::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -13401,7 +13401,7 @@ void Ifc4::IfcSubContractResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4_types[997]); } -void Ifc4::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4::IfcSubContractResource Ifc4::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -13409,7 +13409,7 @@ void Ifc4::IfcSubContractResourceType::setPredefinedType(const ::Ifc4::IfcSubCon const ifcopenshell::entity& Ifc4::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4_types[998]); } -void Ifc4::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4::IfcSubContractResourceType Ifc4::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4::IfcEdge Ifc4::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcEdge>(); } @@ -13417,13 +13417,13 @@ void Ifc4::IfcSubedge::setParentEdge(const ::Ifc4::IfcEdge& v) { set_attribute_v const ifcopenshell::entity& Ifc4::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4_types[1000]); } -void Ifc4::IfcSubedge::initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4::IfcSubedge Ifc4::IfcSubedge::initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[1001]); } -void Ifc4::IfcSurface::initialize() { } +Ifc4::IfcSurface Ifc4::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4::IfcCurve Ifc4::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -13435,7 +13435,7 @@ void Ifc4::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4::IfcPreferredSu const ifcopenshell::entity& Ifc4::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[1002]); } -void Ifc4::IfcSurfaceCurve::initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4::IfcSurfaceCurve Ifc4::IfcSurfaceCurve::initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4::IfcCurve Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcCurve>(); } @@ -13449,7 +13449,7 @@ void Ifc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4::IfcS const ifcopenshell::entity& Ifc4::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[1003]); } -void Ifc4::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4::IfcSurfaceCurveSweptAreaSolid Ifc4::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -13457,7 +13457,7 @@ void Ifc4::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4_types[1004]); } -void Ifc4::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSurfaceFeature Ifc4::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4::IfcDirection Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcDirection>(); } @@ -13467,7 +13467,7 @@ void Ifc4::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4_types[1006]); } -void Ifc4::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4::IfcSurfaceOfLinearExtrusion Ifc4::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4::IfcAxis1Placement Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcAxis1Placement>(); } @@ -13475,7 +13475,7 @@ void Ifc4::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4::IfcAxis1Placeme const ifcopenshell::entity& Ifc4::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4_types[1007]); } -void Ifc4::IfcSurfaceOfRevolution::initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4::IfcSurfaceOfRevolution Ifc4::IfcSurfaceOfRevolution::initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -13487,7 +13487,7 @@ void Ifc4::IfcSurfaceReinforcementArea::setShearReinforcement(const std::optiona const ifcopenshell::entity& Ifc4::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4_types[1009]); } -void Ifc4::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4::IfcSurfaceReinforcementArea Ifc4::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -13497,7 +13497,7 @@ void Ifc4::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4::IfcSurfaceStyle const ifcopenshell::entity& Ifc4::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[1011]); } -void Ifc4::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4::IfcSurfaceStyle Ifc4::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcColourRgb>(); } @@ -13511,7 +13511,7 @@ void Ifc4::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4::IfcColour const ifcopenshell::entity& Ifc4::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4_types[1013]); } -void Ifc4::IfcSurfaceStyleLighting::initialize(::Ifc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb v3_TransmissionColour, ::Ifc4::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4::IfcSurfaceStyleLighting Ifc4::IfcSurfaceStyleLighting::initialize(::Ifc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb v3_TransmissionColour, ::Ifc4::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -13521,7 +13521,7 @@ void Ifc4::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optional< d const ifcopenshell::entity& Ifc4::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4_types[1014]); } -void Ifc4::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4::IfcSurfaceStyleRefraction Ifc4::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4::IfcColourOrFactor Ifc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4::IfcColourOrFactor>(); } @@ -13541,7 +13541,7 @@ void Ifc4::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4::IfcRefle const ifcopenshell::entity& Ifc4::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4_types[1015]); } -void Ifc4::IfcSurfaceStyleRendering::initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4::IfcSurfaceStyleRendering Ifc4::IfcSurfaceStyleRendering::initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4::IfcColourRgb Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcColourRgb>(); } @@ -13551,7 +13551,7 @@ void Ifc4::IfcSurfaceStyleShading::setTransparency(const std::optional< double > const ifcopenshell::entity& Ifc4::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4_types[1016]); } -void Ifc4::IfcSurfaceStyleShading::initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4::IfcSurfaceStyleShading Ifc4::IfcSurfaceStyleShading::initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4::IfcSurfaceTexture > Ifc4::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcSurfaceTexture>(es); } @@ -13559,7 +13559,7 @@ void Ifc4::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4_types[1017]); } -void Ifc4::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4::IfcSurfaceStyleWithTextures Ifc4::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -13577,7 +13577,7 @@ std::vector<::Ifc4::IfcTextureCoordinate> Ifc4::IfcSurfaceTexture::IsMappedBy() std::vector<::Ifc4::IfcSurfaceStyleWithTextures> Ifc4::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[1017], 0)); } const ifcopenshell::entity& Ifc4::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4_types[1018]); } -void Ifc4::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4::IfcSurfaceTexture Ifc4::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4::IfcProfileDef Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcProfileDef>(); } @@ -13587,7 +13587,7 @@ void Ifc4::IfcSweptAreaSolid::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) const ifcopenshell::entity& Ifc4::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[1019]); } -void Ifc4::IfcSweptAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4::IfcSweptAreaSolid Ifc4::IfcSweptAreaSolid::initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4::IfcCurve Ifc4::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -13603,7 +13603,7 @@ void Ifc4::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4_types[1020]); } -void Ifc4::IfcSweptDiskSolid::initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4::IfcSweptDiskSolid Ifc4::IfcSweptDiskSolid::initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -13611,7 +13611,7 @@ void Ifc4::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional< doub const ifcopenshell::entity& Ifc4::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4_types[1021]); } -void Ifc4::IfcSweptDiskSolidPolygonal::initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4::IfcSweptDiskSolidPolygonal Ifc4::IfcSweptDiskSolidPolygonal::initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4::IfcProfileDef Ifc4::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcProfileDef>(); } @@ -13621,7 +13621,7 @@ void Ifc4::IfcSweptSurface::setPosition(const ::Ifc4::IfcAxis2Placement3D& v) { const ifcopenshell::entity& Ifc4::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[1022]); } -void Ifc4::IfcSweptSurface::initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4::IfcSweptSurface Ifc4::IfcSweptSurface::initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13629,7 +13629,7 @@ void Ifc4::IfcSwitchingDevice::setPredefinedType(const std::optional< ::Ifc4::If const ifcopenshell::entity& Ifc4::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4_types[1023]); } -void Ifc4::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSwitchingDevice Ifc4::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13637,14 +13637,14 @@ void Ifc4::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4::IfcSwitchingD const ifcopenshell::entity& Ifc4::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4_types[1024]); } -void Ifc4::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcSwitchingDeviceType Ifc4::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem std::vector<::Ifc4::IfcRelServicesBuildings> Ifc4::IfcSystem::ServicesBuildings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[840], 4)); } const ifcopenshell::entity& Ifc4::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4_types[1026]); } -void Ifc4::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4::IfcSystem Ifc4::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13652,7 +13652,7 @@ void Ifc4::IfcSystemFurnitureElement::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4_types[1027]); } -void Ifc4::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcSystemFurnitureElement Ifc4::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -13660,7 +13660,7 @@ void Ifc4::IfcSystemFurnitureElementType::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[1028]); } -void Ifc4::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4::IfcSystemFurnitureElementType Ifc4::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -13684,7 +13684,7 @@ void Ifc4::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double >& v) const ifcopenshell::entity& Ifc4::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[1102]); } -void Ifc4::IfcTShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4::IfcTShapeProfileDef Ifc4::IfcTShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13696,7 +13696,7 @@ void Ifc4::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4::IfcTab const ifcopenshell::entity& Ifc4::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4_types[1030]); } -void Ifc4::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4::IfcTable Ifc4::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13712,7 +13712,7 @@ void Ifc4::IfcTableColumn::setReferencePath(const ::Ifc4::IfcReference& v) { set const ifcopenshell::entity& Ifc4::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4_types[1031]); } -void Ifc4::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4::IfcUnit v4_Unit, ::Ifc4::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4::IfcTableColumn Ifc4::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4::IfcUnit v4_Unit, ::Ifc4::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4::IfcValue > > Ifc4::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcValue>(es); } @@ -13722,7 +13722,7 @@ void Ifc4::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) {s const ifcopenshell::entity& Ifc4::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4_types[1032]); } -void Ifc4::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4::IfcTableRow Ifc4::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -13730,7 +13730,7 @@ void Ifc4::IfcTank::setPredefinedType(const std::optional< ::Ifc4::IfcTankTypeEn const ifcopenshell::entity& Ifc4::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4_types[1033]); } -void Ifc4::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcTank Ifc4::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankType::PredefinedType() const { return ::Ifc4::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -13738,7 +13738,7 @@ void Ifc4::IfcTankType::setPredefinedType(const ::Ifc4::IfcTankTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4_types[1034]); } -void Ifc4::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcTankType Ifc4::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -13756,7 +13756,7 @@ void Ifc4::IfcTask::setPredefinedType(const std::optional< ::Ifc4::IfcTaskTypeEn const ifcopenshell::entity& Ifc4::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4_types[1036]); } -void Ifc4::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4::IfcTask Ifc4::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4::IfcTaskDurationEnum::Value > Ifc4::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -13796,7 +13796,7 @@ void Ifc4::IfcTaskTime::setCompletion(const std::optional< double >& v) { if (v) const ifcopenshell::entity& Ifc4::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4_types[1038]); } -void Ifc4::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4::IfcTaskTime Ifc4::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4::IfcRecurrencePattern Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4::IfcRecurrencePattern>(); } @@ -13804,7 +13804,7 @@ void Ifc4::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4::IfcRecurrencePatter const ifcopenshell::entity& Ifc4::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4_types[1039]); } -void Ifc4::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4::IfcTaskTimeRecurring Ifc4::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskType::PredefinedType() const { return ::Ifc4::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -13814,7 +13814,7 @@ void Ifc4::IfcTaskType::setWorkMethod(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4_types[1040]); } -void Ifc4::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4::IfcTaskType Ifc4::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -13832,7 +13832,7 @@ void Ifc4::IfcTelecomAddress::setMessagingIDs(const std::optional< std::vector< const ifcopenshell::entity& Ifc4::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4_types[1042]); } -void Ifc4::IfcTelecomAddress::initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4::IfcTelecomAddress Ifc4::IfcTelecomAddress::initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4::IfcTendonTypeEnum::Value > Ifc4::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -13854,7 +13854,7 @@ void Ifc4::IfcTendon::setMinCurvatureRadius(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4_types[1045]); } -void Ifc4::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4::IfcTendon Ifc4::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > Ifc4::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -13862,7 +13862,7 @@ void Ifc4::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4::IfcTe const ifcopenshell::entity& Ifc4::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4_types[1046]); } -void Ifc4::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4::IfcTendonAnchor Ifc4::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -13870,7 +13870,7 @@ void Ifc4::IfcTendonAnchorType::setPredefinedType(const ::Ifc4::IfcTendonAnchorT const ifcopenshell::entity& Ifc4::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4_types[1047]); } -void Ifc4::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcTendonAnchorType Ifc4::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonType::PredefinedType() const { return ::Ifc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -13884,7 +13884,7 @@ void Ifc4::IfcTendonType::setSheathDiameter(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4_types[1049]); } -void Ifc4::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4::IfcTendonType Ifc4::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4::IfcCartesianPointList3D Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCartesianPointList3D>(); } @@ -13894,13 +13894,13 @@ std::vector<::Ifc4::IfcIndexedColourMap> Ifc4::IfcTessellatedFaceSet::HasColours std::vector<::Ifc4::IfcIndexedTextureMap> Ifc4::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[483], 1)); } const ifcopenshell::entity& Ifc4::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4_types[1051]); } -void Ifc4::IfcTessellatedFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4::IfcTessellatedFaceSet Ifc4::IfcTessellatedFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4_types[1052]); } -void Ifc4::IfcTessellatedItem::initialize() { } +Ifc4::IfcTessellatedItem Ifc4::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -13912,7 +13912,7 @@ void Ifc4::IfcTextLiteral::setPath(const ::Ifc4::IfcTextPath::Value& v) { set_at const ifcopenshell::entity& Ifc4::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4_types[1058]); } -void Ifc4::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4::IfcTextLiteral Ifc4::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4::IfcPlanarExtent Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcPlanarExtent>(); } @@ -13922,7 +13922,7 @@ void Ifc4::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { set const ifcopenshell::entity& Ifc4::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4_types[1059]); } -void Ifc4::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4::IfcTextLiteralWithExtent Ifc4::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4::IfcTextStyleForDefinedFont Ifc4::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4::IfcTextStyleForDefinedFont>(); } @@ -13936,7 +13936,7 @@ void Ifc4::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) { const ifcopenshell::entity& Ifc4::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[1061]); } -void Ifc4::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4::IfcTextStyle Ifc4::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -13952,7 +13952,7 @@ void Ifc4::IfcTextStyleFontModel::setFontSize(const ::Ifc4::IfcSizeSelect& v) { const ifcopenshell::entity& Ifc4::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4_types[1062]); } -void Ifc4::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4::IfcTextStyleFontModel Ifc4::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4::IfcColour Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcColour>(); } @@ -13962,7 +13962,7 @@ void Ifc4::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4::IfcColo const ifcopenshell::entity& Ifc4::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4_types[1063]); } -void Ifc4::IfcTextStyleForDefinedFont::initialize(::Ifc4::IfcColour v1_Colour, ::Ifc4::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4::IfcTextStyleForDefinedFont Ifc4::IfcTextStyleForDefinedFont::initialize(::Ifc4::IfcColour v1_Colour, ::Ifc4::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4::IfcSizeSelect Ifc4::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcSizeSelect>(); } @@ -13982,7 +13982,7 @@ void Ifc4::IfcTextStyleTextModel::setLineHeight(const ::Ifc4::IfcSizeSelect& v) const ifcopenshell::entity& Ifc4::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4_types[1064]); } -void Ifc4::IfcTextStyleTextModel::initialize(::Ifc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4::IfcTextStyleTextModel Ifc4::IfcTextStyleTextModel::initialize(::Ifc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4::IfcSurfaceTexture > Ifc4::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcSurfaceTexture>(es); } @@ -13990,7 +13990,7 @@ void Ifc4::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4::IfcSurfaceTe const ifcopenshell::entity& Ifc4::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4_types[1066]); } -void Ifc4::IfcTextureCoordinate::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4::IfcTextureCoordinate Ifc4::IfcTextureCoordinate::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -14000,7 +14000,7 @@ void Ifc4::IfcTextureCoordinateGenerator::setParameter(const std::optional< std: const ifcopenshell::entity& Ifc4::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4_types[1067]); } -void Ifc4::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4::IfcTextureCoordinateGenerator Ifc4::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4::IfcTextureVertex > Ifc4::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4::IfcTextureVertex>(es); } @@ -14010,7 +14010,7 @@ void Ifc4::IfcTextureMap::setMappedTo(const ::Ifc4::IfcFace& v) { set_attribute_ const ifcopenshell::entity& Ifc4::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4_types[1068]); } -void Ifc4::IfcTextureMap::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4::IfcTextureVertex > v2_Vertices, ::Ifc4::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4::IfcTextureMap Ifc4::IfcTextureMap::initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4::IfcTextureVertex > v2_Vertices, ::Ifc4::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -14018,7 +14018,7 @@ void Ifc4::IfcTextureVertex::setCoordinates(const std::vector< double > /*[2:2]* const ifcopenshell::entity& Ifc4::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4_types[1069]); } -void Ifc4::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4::IfcTextureVertex Ifc4::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -14026,7 +14026,7 @@ void Ifc4::IfcTextureVertexList::setTexCoordsList(const std::vector< std::vector const ifcopenshell::entity& Ifc4::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4_types[1070]); } -void Ifc4::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4::IfcTextureVertexList Ifc4::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -14036,7 +14036,7 @@ void Ifc4::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute_value const ifcopenshell::entity& Ifc4::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4_types[1080]); } -void Ifc4::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4::IfcTimePeriod Ifc4::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -14059,7 +14059,7 @@ void Ifc4::IfcTimeSeries::setUnit(const ::Ifc4::IfcUnit& v) { set_attribute_valu std::vector<::Ifc4::IfcExternalReferenceRelationship> Ifc4::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[380], 3)); } const ifcopenshell::entity& Ifc4::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4_types[1081]); } -void Ifc4::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4::IfcTimeSeries Ifc4::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4::IfcValue > Ifc4::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcValue>(es); } @@ -14067,19 +14067,19 @@ void Ifc4::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4::IfcValue const ifcopenshell::entity& Ifc4::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4_types[1083]); } -void Ifc4::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4::IfcTimeSeriesValue Ifc4::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4_types[1085]); } -void Ifc4::IfcTopologicalRepresentationItem::initialize() { } +Ifc4::IfcTopologicalRepresentationItem Ifc4::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4_types[1086]); } -void Ifc4::IfcTopologyRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4::IfcTopologyRepresentation Ifc4::IfcTopologyRepresentation::initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -14089,7 +14089,7 @@ void Ifc4::IfcToroidalSurface::setMinorRadius(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4_types[1087]); } -void Ifc4::IfcToroidalSurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4::IfcToroidalSurface Ifc4::IfcToroidalSurface::initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4::IfcTransformerTypeEnum::Value > Ifc4::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -14097,7 +14097,7 @@ void Ifc4::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4::IfcTra const ifcopenshell::entity& Ifc4::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4_types[1089]); } -void Ifc4::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcTransformer Ifc4::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerType::PredefinedType() const { return ::Ifc4::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -14105,7 +14105,7 @@ void Ifc4::IfcTransformerType::setPredefinedType(const ::Ifc4::IfcTransformerTyp const ifcopenshell::entity& Ifc4::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4_types[1090]); } -void Ifc4::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcTransformerType Ifc4::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > Ifc4::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14113,7 +14113,7 @@ void Ifc4::IfcTransportElement::setPredefinedType(const std::optional< ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4_types[1094]); } -void Ifc4::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcTransportElement Ifc4::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementType::PredefinedType() const { return ::Ifc4::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14121,7 +14121,7 @@ void Ifc4::IfcTransportElementType::setPredefinedType(const ::Ifc4::IfcTransport const ifcopenshell::entity& Ifc4::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[1095]); } -void Ifc4::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcTransportElementType Ifc4::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -14135,7 +14135,7 @@ void Ifc4::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_attribut const ifcopenshell::entity& Ifc4::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[1097]); } -void Ifc4::IfcTrapeziumProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4::IfcTrapeziumProfileDef Ifc4::IfcTrapeziumProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -14149,7 +14149,7 @@ void Ifc4::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::vector< const ifcopenshell::entity& Ifc4::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4_types[1098]); } -void Ifc4::IfcTriangulatedFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4::IfcTriangulatedFaceSet Ifc4::IfcTriangulatedFaceSet::initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4::IfcCurve Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcCurve>(); } @@ -14165,7 +14165,7 @@ void Ifc4::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4::IfcTrimmingPre const ifcopenshell::entity& Ifc4::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4_types[1099]); } -void Ifc4::IfcTrimmedCurve::initialize(::Ifc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4::IfcTrimmedCurve Ifc4::IfcTrimmedCurve::initialize(::Ifc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -14173,7 +14173,7 @@ void Ifc4::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4::IfcTube const ifcopenshell::entity& Ifc4::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4_types[1103]); } -void Ifc4::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcTubeBundle Ifc4::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -14181,7 +14181,7 @@ void Ifc4::IfcTubeBundleType::setPredefinedType(const ::Ifc4::IfcTubeBundleTypeE const ifcopenshell::entity& Ifc4::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4_types[1104]); } -void Ifc4::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcTubeBundleType Ifc4::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -14192,7 +14192,7 @@ void Ifc4::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< : std::vector<::Ifc4::IfcRelDefinesByType> Ifc4::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[832], 5)); } const ifcopenshell::entity& Ifc4::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4_types[1106]); } -void Ifc4::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4::IfcTypeObject Ifc4::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -14205,7 +14205,7 @@ void Ifc4::IfcTypeProcess::setProcessType(const std::optional< std::string >& v) std::vector<::Ifc4::IfcRelAssignsToProcess> Ifc4::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[803], 6)); } const ifcopenshell::entity& Ifc4::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4_types[1107]); } -void Ifc4::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4::IfcTypeProcess Ifc4::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > Ifc4::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcRepresentationMap>(es); } @@ -14216,7 +14216,7 @@ void Ifc4::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if (v std::vector<::Ifc4::IfcRelAssignsToProduct> Ifc4::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[804], 6)); } const ifcopenshell::entity& Ifc4::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4_types[1108]); } -void Ifc4::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcTypeProduct Ifc4::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -14229,7 +14229,7 @@ void Ifc4::IfcTypeResource::setResourceType(const std::optional< std::string >& std::vector<::Ifc4::IfcRelAssignsToResource> Ifc4::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4_types[805], 6)); } const ifcopenshell::entity& Ifc4::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4_types[1109]); } -void Ifc4::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4::IfcTypeResource Ifc4::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14249,7 +14249,7 @@ void Ifc4::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double >& v) const ifcopenshell::entity& Ifc4::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[1120]); } -void Ifc4::IfcUShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4::IfcUShapeProfileDef Ifc4::IfcUShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4::IfcUnit > Ifc4::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcUnit>(es); } @@ -14257,7 +14257,7 @@ void Ifc4::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4::IfcUnit >& v) const ifcopenshell::entity& Ifc4::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4_types[1117]); } -void Ifc4::IfcUnitAssignment::initialize(std::vector< ::Ifc4::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4::IfcUnitAssignment Ifc4::IfcUnitAssignment::initialize(std::vector< ::Ifc4::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14265,7 +14265,7 @@ void Ifc4::IfcUnitaryControlElement::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4_types[1111]); } -void Ifc4::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcUnitaryControlElement Ifc4::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14273,7 +14273,7 @@ void Ifc4::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4::IfcUnit const ifcopenshell::entity& Ifc4::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4_types[1112]); } -void Ifc4::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcUnitaryControlElementType Ifc4::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -14281,7 +14281,7 @@ void Ifc4::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::Ifc4::I const ifcopenshell::entity& Ifc4::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4_types[1114]); } -void Ifc4::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcUnitaryEquipment Ifc4::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -14289,7 +14289,7 @@ void Ifc4::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4::IfcUnitaryEq const ifcopenshell::entity& Ifc4::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4_types[1115]); } -void Ifc4::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcUnitaryEquipmentType Ifc4::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4::IfcValveTypeEnum::Value > Ifc4::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -14297,7 +14297,7 @@ void Ifc4::IfcValve::setPredefinedType(const std::optional< ::Ifc4::IfcValveType const ifcopenshell::entity& Ifc4::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4_types[1122]); } -void Ifc4::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcValve Ifc4::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveType::PredefinedType() const { return ::Ifc4::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -14305,7 +14305,7 @@ void Ifc4::IfcValveType::setPredefinedType(const ::Ifc4::IfcValveTypeEnum::Value const ifcopenshell::entity& Ifc4::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4_types[1123]); } -void Ifc4::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcValveType Ifc4::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4::IfcDirection Ifc4::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcDirection>(); } @@ -14315,13 +14315,13 @@ void Ifc4::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v); const ifcopenshell::entity& Ifc4::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4_types[1126]); } -void Ifc4::IfcVector::initialize(::Ifc4::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4::IfcVector Ifc4::IfcVector::initialize(::Ifc4::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4_types[1128]); } -void Ifc4::IfcVertex::initialize() { } +Ifc4::IfcVertex Ifc4::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4::IfcVertex Ifc4::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcVertex>(); } @@ -14329,7 +14329,7 @@ void Ifc4::IfcVertexLoop::setLoopVertex(const ::Ifc4::IfcVertex& v) { set_attrib const ifcopenshell::entity& Ifc4::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4_types[1129]); } -void Ifc4::IfcVertexLoop::initialize(::Ifc4::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4::IfcVertexLoop Ifc4::IfcVertexLoop::initialize(::Ifc4::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4::IfcPoint Ifc4::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4::IfcPoint>(); } @@ -14337,7 +14337,7 @@ void Ifc4::IfcVertexPoint::setVertexGeometry(const ::Ifc4::IfcPoint& v) { set_at const ifcopenshell::entity& Ifc4::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4_types[1130]); } -void Ifc4::IfcVertexPoint::initialize(::Ifc4::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4::IfcVertexPoint Ifc4::IfcVertexPoint::initialize(::Ifc4::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -14345,7 +14345,7 @@ void Ifc4::IfcVibrationIsolator::setPredefinedType(const std::optional< ::Ifc4:: const ifcopenshell::entity& Ifc4::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4_types[1131]); } -void Ifc4::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcVibrationIsolator Ifc4::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -14353,13 +14353,13 @@ void Ifc4::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4::IfcVibratio const ifcopenshell::entity& Ifc4::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4_types[1132]); } -void Ifc4::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcVibrationIsolatorType Ifc4::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4_types[1134]); } -void Ifc4::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4::IfcVirtualElement Ifc4::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4::IfcGridAxis > Ifc4::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4::IfcGridAxis>(es); } @@ -14369,7 +14369,7 @@ void Ifc4::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< dou const ifcopenshell::entity& Ifc4::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4_types[1135]); } -void Ifc4::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4::IfcVirtualGridIntersection Ifc4::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > Ifc4::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -14377,7 +14377,7 @@ void Ifc4::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc4::Ifc const ifcopenshell::entity& Ifc4::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4_types[1136]); } -void Ifc4::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcVoidingFeature Ifc4::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4::IfcWallTypeEnum::Value > Ifc4::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -14385,19 +14385,19 @@ void Ifc4::IfcWall::setPredefinedType(const std::optional< ::Ifc4::IfcWallTypeEn const ifcopenshell::entity& Ifc4::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4_types[1140]); } -void Ifc4::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcWall Ifc4::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4_types[1141]); } -void Ifc4::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcWallElementedCase Ifc4::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[1142]); } -void Ifc4::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcWallStandardCase Ifc4::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallType::PredefinedType() const { return ::Ifc4::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -14405,7 +14405,7 @@ void Ifc4::IfcWallType::setPredefinedType(const ::Ifc4::IfcWallTypeEnum::Value& const ifcopenshell::entity& Ifc4::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4_types[1143]); } -void Ifc4::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcWallType Ifc4::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > Ifc4::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14413,7 +14413,7 @@ void Ifc4::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4::IfcW const ifcopenshell::entity& Ifc4::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4_types[1148]); } -void Ifc4::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcWasteTerminal Ifc4::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14421,7 +14421,7 @@ void Ifc4::IfcWasteTerminalType::setPredefinedType(const ::Ifc4::IfcWasteTermina const ifcopenshell::entity& Ifc4::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4_types[1149]); } -void Ifc4::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4::IfcWasteTerminalType Ifc4::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -14437,7 +14437,7 @@ void Ifc4::IfcWindow::setUserDefinedPartitioningType(const std::optional< std::s const ifcopenshell::entity& Ifc4::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4_types[1151]); } -void Ifc4::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4::IfcWindow Ifc4::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -14467,7 +14467,7 @@ void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::optiona const ifcopenshell::entity& Ifc4::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[1152]); } -void Ifc4::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4::IfcWindowLiningProperties Ifc4::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -14483,13 +14483,13 @@ void Ifc4::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4::IfcShapeA const ifcopenshell::entity& Ifc4::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4_types[1155]); } -void Ifc4::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4::IfcWindowPanelProperties Ifc4::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4_types[1156]); } -void Ifc4::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4::IfcWindowStandardCase Ifc4::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -14503,7 +14503,7 @@ void Ifc4::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_value(11, const ifcopenshell::entity& Ifc4::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4_types[1157]); } -void Ifc4::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4::IfcWindowStyle Ifc4::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowType::PredefinedType() const { return ::Ifc4::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -14517,7 +14517,7 @@ void Ifc4::IfcWindowType::setUserDefinedPartitioningType(const std::optional< st const ifcopenshell::entity& Ifc4::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4_types[1160]); } -void Ifc4::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4::IfcWindowType Ifc4::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4::IfcWorkTime > > Ifc4::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4::IfcWorkTime>(es); } @@ -14529,7 +14529,7 @@ void Ifc4::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4::IfcWo const ifcopenshell::entity& Ifc4::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4_types[1163]); } -void Ifc4::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4::IfcWorkCalendar Ifc4::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -14549,7 +14549,7 @@ void Ifc4::IfcWorkControl::setFinishTime(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4_types[1165]); } -void Ifc4::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4::IfcWorkControl Ifc4::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > Ifc4::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -14557,7 +14557,7 @@ void Ifc4::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4::IfcWorkPl const ifcopenshell::entity& Ifc4::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4_types[1166]); } -void Ifc4::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4::IfcWorkPlan Ifc4::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > Ifc4::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -14565,7 +14565,7 @@ void Ifc4::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4::IfcWo const ifcopenshell::entity& Ifc4::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4_types[1168]); } -void Ifc4::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4::IfcWorkSchedule Ifc4::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4::IfcRecurrencePattern Ifc4::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4::IfcRecurrencePattern>(); } @@ -14577,7 +14577,7 @@ void Ifc4::IfcWorkTime::setFinish(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4_types[1170]); } -void Ifc4::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4::IfcWorkTime Ifc4::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14595,7 +14595,7 @@ void Ifc4::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double >& v) const ifcopenshell::entity& Ifc4::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4_types[1172]); } -void Ifc4::IfcZShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4::IfcZShapeProfileDef Ifc4::IfcZShapeProfileDef::initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14603,5 +14603,5 @@ void Ifc4::IfcZone::setLongName(const std::optional< std::string >& v) { if (v) const ifcopenshell::entity& Ifc4::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4_types[1171]); } -void Ifc4::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4::IfcZone Ifc4::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4.h b/src/ifcparse/schemas/Ifc4.h index 8b2c53304d..2492b31a8f 100644 --- a/src/ifcparse/schemas/Ifc4.h +++ b/src/ifcparse/schemas/Ifc4.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1118,8 +1105,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1142,8 +1128,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1168,8 +1153,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1261,8 +1245,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1702,8 +1685,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1727,8 +1709,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1775,8 +1756,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1808,8 +1788,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1830,8 +1809,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1856,8 +1834,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1885,8 +1862,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1926,8 +1902,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1971,8 +1946,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2005,8 +1979,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2162,8 +2135,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2874,8 +2846,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2896,8 +2867,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2918,8 +2888,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2940,8 +2909,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3008,8 +2976,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3035,8 +3002,7 @@ public: /// IFC2x4 CHANGE The select type has been deprecated. class IFC_PARSE_API IfcPresentationStyleSelect : public express::Select { public: - IfcPresentationStyleSelect() {} - explicit IfcPresentationStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3082,8 +3048,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3102,8 +3067,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3130,8 +3094,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3150,8 +3113,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3172,8 +3134,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3284,8 +3245,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3306,8 +3266,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3326,8 +3285,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3356,8 +3314,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3394,8 +3351,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3497,8 +3453,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3547,8 +3502,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3578,8 +3532,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3607,8 +3560,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3635,8 +3587,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3664,8 +3615,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcStyleAssignmentSelect : public express::Select { public: - IfcStyleAssignmentSelect() {} - explicit IfcStyleAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3692,8 +3642,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3726,8 +3675,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3770,8 +3718,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3791,8 +3738,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3813,8 +3759,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3837,8 +3782,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3869,8 +3813,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3904,8 +3847,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4585,8 +4527,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4607,8 +4548,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4637,16 +4577,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4656,16 +4595,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4677,16 +4615,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4707,16 +4644,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4732,16 +4668,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4757,16 +4692,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4784,16 +4718,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4814,16 +4747,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4842,16 +4774,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4862,16 +4793,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4883,16 +4813,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -4909,16 +4838,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -4935,16 +4863,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -4963,16 +4890,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -4991,31 +4917,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5059,16 +4983,15 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5113,16 +5036,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5136,16 +5058,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5159,16 +5080,15 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5181,16 +5101,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5206,16 +5125,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5234,16 +5152,15 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5255,16 +5172,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5279,16 +5195,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5303,16 +5218,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5328,16 +5242,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5354,16 +5267,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5379,16 +5291,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5403,16 +5314,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5427,16 +5337,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5463,16 +5372,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5491,16 +5399,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5521,16 +5428,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5543,16 +5449,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5579,16 +5484,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5606,16 +5510,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5640,16 +5543,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5671,16 +5573,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5699,16 +5600,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5728,16 +5628,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5750,16 +5649,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5778,16 +5676,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5811,16 +5708,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -5837,16 +5733,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -5857,16 +5752,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -5884,16 +5778,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -5941,16 +5834,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -5963,16 +5855,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -5986,16 +5877,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6017,16 +5907,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6048,16 +5937,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6070,16 +5958,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6141,16 +6028,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6163,16 +6049,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6186,16 +6071,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6216,31 +6100,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6292,16 +6174,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6318,16 +6199,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6335,16 +6215,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6382,16 +6261,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6403,16 +6281,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6424,16 +6301,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6607,16 +6483,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6637,16 +6512,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -6831,16 +6705,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -6878,16 +6751,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -6907,16 +6779,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -6931,16 +6802,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -6974,16 +6844,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -6998,16 +6867,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7022,16 +6890,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7046,16 +6913,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7071,16 +6937,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7094,16 +6959,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7127,16 +6991,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7153,16 +7016,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7175,16 +7037,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7205,16 +7066,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7232,16 +7092,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7258,16 +7117,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7283,16 +7141,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7313,16 +7170,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7341,16 +7197,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7364,16 +7219,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7391,16 +7245,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7418,16 +7271,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7440,16 +7292,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7470,16 +7321,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7499,16 +7349,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7527,16 +7376,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7554,31 +7402,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7624,16 +7470,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7644,31 +7489,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7682,16 +7525,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -7716,16 +7558,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -7740,16 +7581,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7809,16 +7649,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -7832,16 +7671,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -7853,31 +7691,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -7906,16 +7742,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -7937,16 +7772,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -7960,16 +7794,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -7988,16 +7821,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8019,16 +7851,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8044,16 +7875,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8079,16 +7909,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8337,16 +8166,15 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8368,16 +8196,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8395,16 +8222,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8452,16 +8278,15 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8475,16 +8300,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-46:1992: The null style type specifies, that a representation item is not styled. @@ -8497,16 +8321,15 @@ public: /// IFC2x4 CHANGE  The enumeration is deprecated. class IFC_PARSE_API IfcNullStyle : public express::DeclaredType { public: - IfcNullStyle() {} - explicit IfcNullStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNullStyle_NULL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNullStyle initialize(Value v); + IfcNullStyle initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -8514,16 +8337,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8557,16 +8379,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8584,16 +8405,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8618,16 +8438,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -8645,16 +8464,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -8665,16 +8483,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -8701,16 +8518,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -8724,16 +8540,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8761,16 +8576,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -8797,16 +8611,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -8824,16 +8637,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -8869,16 +8681,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -8898,16 +8709,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -8930,31 +8740,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -8973,16 +8781,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -8995,16 +8802,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9020,16 +8826,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9040,16 +8845,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9066,16 +8870,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9118,16 +8921,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9139,16 +8941,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9168,16 +8969,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9210,16 +9010,15 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9244,16 +9043,15 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9269,16 +9067,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9331,16 +9128,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9366,16 +9162,15 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9396,16 +9191,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9429,16 +9223,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9452,46 +9245,43 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -9525,16 +9315,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -9605,16 +9394,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -9646,16 +9434,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -9699,16 +9486,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -9732,16 +9518,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -9756,16 +9541,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -9798,16 +9582,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -9817,16 +9600,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -9841,16 +9623,15 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -9873,16 +9654,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9919,16 +9699,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -9942,16 +9721,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -9968,16 +9746,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10017,16 +9794,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10056,16 +9832,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10079,16 +9854,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10108,16 +9882,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10215,16 +9988,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10242,16 +10014,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10271,16 +10042,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10303,16 +10073,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10329,16 +10098,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10357,16 +10125,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10379,16 +10146,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10404,16 +10170,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10429,16 +10194,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10459,16 +10223,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -10481,16 +10244,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -10518,16 +10280,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -10539,16 +10300,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -10571,46 +10331,43 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -10622,16 +10379,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -10647,16 +10403,15 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -10672,16 +10427,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -10702,16 +10456,15 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -10740,16 +10493,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_CRANEWAY, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -10765,16 +10517,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -10787,16 +10538,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -10837,16 +10587,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -10867,16 +10616,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -10893,16 +10641,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -10950,16 +10697,15 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -10973,16 +10719,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11001,16 +10746,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11052,16 +10796,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11080,16 +10823,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11178,16 +10920,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11256,16 +10997,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11277,16 +11017,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -11365,16 +11104,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11395,16 +11133,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -11480,16 +11217,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -11505,16 +11241,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -11530,16 +11265,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -11555,16 +11289,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -11574,11 +11307,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -11588,11 +11320,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -11605,11 +11336,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -11619,31 +11349,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -11655,21 +11382,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -11679,11 +11404,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -11731,11 +11455,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -11751,11 +11474,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -11808,11 +11530,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -11823,11 +11544,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -11838,11 +11558,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -11854,11 +11573,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -11869,11 +11587,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -11896,11 +11613,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -11917,11 +11633,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -11960,11 +11675,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -11975,11 +11689,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -11991,11 +11704,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12005,11 +11717,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12019,11 +11730,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12034,11 +11744,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12048,11 +11757,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12062,11 +11770,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12076,11 +11783,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12092,11 +11798,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12106,11 +11811,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12120,11 +11824,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12134,11 +11837,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12157,11 +11859,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12178,11 +11879,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12210,11 +11910,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12224,11 +11923,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12238,11 +11936,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12260,11 +11957,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12274,11 +11970,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12286,11 +11981,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12309,11 +12003,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12323,11 +12016,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12337,11 +12029,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12353,11 +12044,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12369,11 +12059,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12381,11 +12070,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12395,11 +12083,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -12409,11 +12096,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -12432,11 +12118,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -12451,11 +12136,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -12467,21 +12151,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -12491,11 +12173,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -12505,11 +12186,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -12519,11 +12199,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -12533,11 +12212,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -12561,11 +12238,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -12577,11 +12253,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -12593,11 +12268,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -12607,11 +12281,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -12621,11 +12294,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -12635,11 +12307,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -12649,11 +12320,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -12665,11 +12335,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -12681,11 +12350,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -12695,11 +12363,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -12709,11 +12376,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -12723,11 +12389,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -12741,11 +12406,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -12755,11 +12419,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -12769,11 +12432,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -12783,11 +12445,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -12796,11 +12457,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12861,11 +12521,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -12875,11 +12534,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -12890,11 +12548,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -12902,11 +12559,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -12918,11 +12574,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -12932,11 +12587,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -12952,21 +12606,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -12977,11 +12629,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -12992,11 +12643,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13006,11 +12656,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13024,11 +12673,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13038,21 +12686,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13062,11 +12708,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13081,11 +12726,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13097,11 +12741,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13111,11 +12754,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13126,11 +12768,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13140,11 +12781,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13154,11 +12794,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13168,11 +12807,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13182,11 +12820,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13198,21 +12835,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13222,21 +12857,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13246,11 +12879,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13260,11 +12892,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13276,11 +12907,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13294,11 +12924,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13308,11 +12937,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13322,11 +12950,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13342,11 +12969,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13361,11 +12987,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13383,11 +13008,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -13411,11 +13035,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -13430,11 +13053,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -13444,11 +13066,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -13458,11 +13079,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -13471,11 +13091,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -13484,11 +13103,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -13498,11 +13116,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -13514,11 +13131,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -13531,11 +13147,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -13547,11 +13162,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -13560,11 +13174,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -13574,11 +13187,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -13590,11 +13202,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -13604,11 +13215,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -13620,11 +13230,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -13634,11 +13243,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -13648,11 +13256,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -13662,11 +13269,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -13696,11 +13302,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -13710,11 +13315,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -13725,11 +13329,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -13746,8 +13349,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -13765,7 +13367,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -13774,8 +13376,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4::IfcAddressTypeEnum::Value > Purpose() const; @@ -13793,15 +13394,14 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4::IfcOrganization ApplicationDeveloper() const; @@ -13817,7 +13417,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -13835,8 +13435,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -13875,7 +13474,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -13884,8 +13483,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -13927,7 +13525,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect v8_RequestingApproval, ::Ifc4::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect v8_RequestingApproval, ::Ifc4::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -13946,15 +13544,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -13968,8 +13565,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -13991,7 +13587,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14005,8 +13601,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14019,7 +13614,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14033,8 +13628,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14056,7 +13650,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14069,15 +13663,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14095,12 +13688,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14120,8 +13712,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14131,7 +13722,7 @@ public: void setPointOnRelatedElement(const ::Ifc4::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14143,8 +13734,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14154,7 +13744,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14164,8 +13754,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14175,7 +13764,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14191,8 +13780,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14222,7 +13810,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14272,8 +13860,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14283,7 +13870,7 @@ public: void setTargetCRS(const ::Ifc4::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14309,8 +13896,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14335,7 +13921,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -14381,12 +13967,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -14397,8 +13982,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4::IfcDerivedUnitElement > Elements() const; @@ -14410,7 +13994,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -14423,8 +14007,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4::IfcNamedUnit Unit() const; @@ -14434,7 +14017,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -14455,8 +14038,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -14481,7 +14063,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -14491,12 +14073,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -14509,8 +14090,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -14534,7 +14114,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -14546,12 +14126,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -14562,12 +14141,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -14578,12 +14156,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -14610,8 +14187,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14628,15 +14204,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14646,7 +14221,7 @@ public: void setListValues(const std::vector< ::Ifc4::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -14658,8 +14233,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -14686,7 +14260,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -14697,8 +14271,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -14716,7 +14289,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -14735,8 +14308,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14751,15 +14323,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -14769,7 +14340,7 @@ public: void setDistributionData(const std::vector< ::Ifc4::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -14784,8 +14355,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -14814,7 +14384,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -14823,8 +14393,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4::IfcClassificationSelect > MaterialClassifications() const; @@ -14834,7 +14403,7 @@ public: void setClassifiedMaterial(const ::Ifc4::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -14862,15 +14431,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -14897,8 +14465,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4::IfcMaterial Material() const; @@ -14932,7 +14499,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -14969,8 +14536,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4::IfcMaterialLayer > MaterialLayers() const; @@ -14985,7 +14551,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15032,8 +14598,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15043,7 +14608,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15064,15 +14629,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15081,8 +14645,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15105,7 +14668,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15114,8 +14677,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15134,7 +14696,7 @@ public: void setCompositeProfile(const ::Ifc4::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15143,15 +14705,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, ::Ifc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15186,13 +14747,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15206,8 +14766,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4::IfcValue ValueComponent() const; @@ -15217,7 +14776,7 @@ public: void setUnitComponent(const ::Ifc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcValue v1_ValueComponent, ::Ifc4::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4::IfcValue v1_ValueComponent, ::Ifc4::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15273,8 +14832,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4::IfcBenchmarkEnum::Value Benchmark() const; @@ -15289,7 +14847,7 @@ public: void setReferencePath(const ::Ifc4::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4::IfcMetricValueSelect v10_DataValue, ::Ifc4::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4::IfcMetricValueSelect v10_DataValue, ::Ifc4::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15298,15 +14856,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15315,8 +14872,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4::IfcDimensionalExponents Dimensions() const; @@ -15326,7 +14882,7 @@ public: void setUnitType(const ::Ifc4::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15341,14 +14897,13 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement std::vector< IfcLocalPlacement > ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(); + IfcObjectPlacement initialize(); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -15361,8 +14916,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4::IfcConstraint > > BenchmarkValues() const; @@ -15377,7 +14931,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -15389,8 +14943,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15413,7 +14966,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -15427,8 +14980,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4::IfcPersonAndOrganization OwningUser() const; @@ -15456,7 +15008,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -15469,8 +15021,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15505,7 +15056,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -15514,8 +15065,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4::IfcPerson ThePerson() const; @@ -15528,7 +15078,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcPerson v1_ThePerson, ::Ifc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4::IfcPerson v1_ThePerson, ::Ifc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -15537,8 +15087,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -15550,7 +15099,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -15563,23 +15112,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -15610,17 +15157,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -15639,8 +15185,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -15656,7 +15201,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -15673,8 +15218,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -15694,7 +15238,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -15703,15 +15247,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -15720,15 +15263,14 @@ public: /// HISTORY New entity in Release IFC2x2. class IFC_PARSE_API IfcPresentationStyleAssignment : public express::Entity { public: - IfcPresentationStyleAssignment() {} - explicit IfcPresentationStyleAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4::IfcPresentationStyleSelect > Styles() const; void setStyles(const std::vector< ::Ifc4::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcPresentationStyleSelect > v1_Styles); + IfcPresentationStyleAssignment initialize(std::vector< ::Ifc4::IfcPresentationStyleSelect > v1_Styles); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -15749,8 +15291,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15763,7 +15304,7 @@ public: void setRepresentations(const std::vector< ::Ifc4::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -15937,8 +15478,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4::IfcProfileTypeEnum::Value ProfileType() const; @@ -15950,7 +15490,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -15977,8 +15517,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -15998,18 +15537,17 @@ public: void setMapUnit(const ::Ifc4::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16059,8 +15597,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16073,7 +15610,7 @@ public: void setUnit(const ::Ifc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4::IfcValue > v2_EnumerationValues, ::Ifc4::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4::IfcValue > v2_EnumerationValues, ::Ifc4::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16082,8 +15619,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16095,7 +15631,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16104,8 +15640,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16117,7 +15652,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16126,8 +15661,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16139,7 +15673,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16148,8 +15682,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16161,7 +15694,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16170,8 +15703,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16183,7 +15715,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16192,8 +15724,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16205,7 +15736,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16215,8 +15746,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16257,13 +15787,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16277,7 +15806,7 @@ public: void setInnerReference(const ::Ifc4::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16327,8 +15856,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4::IfcRepresentationContext ContextOfItems() const; @@ -16348,7 +15876,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -16362,8 +15890,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16374,7 +15901,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -16410,14 +15937,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -16432,8 +15958,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16446,15 +15971,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16464,7 +15988,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -16477,8 +16001,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16498,7 +16021,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -16509,8 +16032,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4::IfcSIPrefix::Value > Prefix() const; @@ -16522,15 +16044,14 @@ public: void setName(const ::Ifc4::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16544,7 +16065,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -16585,8 +16106,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -16609,7 +16129,7 @@ public: void setPartOfProductDefinitionShape(const ::Ifc4::IfcProductRepresentationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -16631,13 +16151,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -16776,42 +16295,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -16826,8 +16342,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4::IfcStructuralLoadOrResult > Values() const; @@ -16837,31 +16352,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -16870,8 +16383,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -16890,7 +16402,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -16899,12 +16411,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -16936,8 +16447,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -16957,7 +16467,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -16968,12 +16478,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -16982,8 +16491,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -16996,7 +16504,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17007,8 +16515,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4::IfcSurfaceSide::Value Side() const; @@ -17018,7 +16525,7 @@ public: void setStyles(const std::vector< ::Ifc4::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17033,8 +16540,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17054,7 +16560,7 @@ public: void setReflectanceColour(const ::Ifc4::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb v3_TransmissionColour, ::Ifc4::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb v3_TransmissionColour, ::Ifc4::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17063,8 +16569,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17074,7 +16579,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17085,8 +16590,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4::IfcColourRgb SurfaceColour() const; @@ -17095,7 +16599,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17117,15 +16621,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17221,8 +16724,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17254,7 +16756,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17273,8 +16775,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17287,7 +16788,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17296,8 +16797,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17315,7 +16815,7 @@ public: void setReferencePath(const ::Ifc4::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4::IfcUnit v4_Unit, ::Ifc4::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4::IfcUnit v4_Unit, ::Ifc4::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17332,8 +16832,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4::IfcValue > > RowCells() const; @@ -17343,7 +16842,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17355,8 +16854,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -17465,21 +16963,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -17489,8 +16986,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -17515,7 +17011,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -17547,8 +17043,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -17569,7 +17064,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -17590,8 +17085,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4::IfcColour Colour() const; @@ -17601,7 +17095,7 @@ public: void setBackgroundColour(const ::Ifc4::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcColour v1_Colour, ::Ifc4::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4::IfcColour v1_Colour, ::Ifc4::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -17612,8 +17106,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -17645,7 +17138,7 @@ public: void setLineHeight(const ::Ifc4::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -17660,14 +17153,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -17697,8 +17189,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -17712,7 +17203,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -17767,8 +17258,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -17779,7 +17269,7 @@ public: void setMappedTo(const ::Ifc4::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4::IfcTextureVertex > v2_Vertices, ::Ifc4::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4::IfcTextureVertex > v2_Vertices, ::Ifc4::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -17810,27 +17300,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -17840,8 +17328,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -17851,7 +17338,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -17860,8 +17347,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -17890,7 +17376,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -17903,15 +17389,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -17920,12 +17405,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -17963,12 +17447,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -17977,15 +17460,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -17999,12 +17481,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18017,15 +17498,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18088,8 +17568,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4::IfcGridAxis > IntersectingAxes() const; @@ -18099,7 +17578,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18111,8 +17590,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18129,7 +17607,7 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18140,8 +17618,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4::IfcApproval RelatingApproval() const; @@ -18151,7 +17628,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18173,15 +17650,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18200,15 +17676,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18231,15 +17706,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18252,8 +17726,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18263,7 +17736,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18296,15 +17769,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18323,8 +17795,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -18378,7 +17849,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -18403,8 +17874,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4::IfcClassificationReferenceSelect ReferencedSource() const; @@ -18420,19 +17890,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -18441,8 +17910,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -18452,7 +17920,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -18492,8 +17960,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4::IfcProfileDef > Profiles() const; @@ -18503,7 +17970,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -18516,15 +17983,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -18541,8 +18007,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -18552,7 +18017,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -18575,8 +18040,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -18589,7 +18053,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -18600,8 +18064,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -18609,7 +18072,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -18660,8 +18123,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -18672,7 +18134,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -18694,15 +18156,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -18717,8 +18178,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -18739,7 +18199,7 @@ public: void setRateSource(const ::Ifc4::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -18760,8 +18220,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -18776,7 +18235,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4::IfcSizeSelect v3_CurveWidth, ::Ifc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4::IfcSizeSelect v3_CurveWidth, ::Ifc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -18785,8 +18244,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -18796,7 +18254,7 @@ public: void setPatternList(const std::vector< ::Ifc4::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -18811,8 +18269,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -18825,7 +18282,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -18834,8 +18291,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -18849,7 +18305,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -18937,8 +18393,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4::IfcProfileDef ParentProfile() const; @@ -18951,15 +18406,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, ::Ifc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, ::Ifc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19031,7 +18485,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19043,8 +18497,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4::IfcDocumentInformation RelatingDocument() const; @@ -19057,7 +18510,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19072,8 +18525,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19086,7 +18538,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19139,8 +18591,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4::IfcVertex EdgeStart() const; @@ -19150,7 +18601,7 @@ public: void setEdgeEnd(const ::Ifc4::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19187,8 +18638,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4::IfcCurve EdgeGeometry() const; @@ -19198,7 +18648,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19225,8 +18675,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19244,13 +18693,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19260,7 +18708,7 @@ public: void setProperties(const std::vector< ::Ifc4::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19271,8 +18719,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19284,7 +18731,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19332,8 +18779,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4::IfcFaceBound > Bounds() const; @@ -19341,7 +18787,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -19350,8 +18796,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4::IfcLoop Bound() const; @@ -19361,7 +18806,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -19370,12 +18815,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -19415,8 +18859,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4::IfcSurface FaceSurface() const; @@ -19426,7 +18869,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -19437,8 +18880,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -19460,7 +18902,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -19498,8 +18940,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4::IfcFillStyleSelect > FillStyles() const; @@ -19508,7 +18949,7 @@ public: void setModelorDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -19559,8 +19000,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -19580,7 +19020,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -19603,12 +19043,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -19625,8 +19064,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4::IfcGeometricRepresentationContext ParentContext() const; @@ -19652,7 +19090,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -19663,15 +19101,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -19720,8 +19157,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4::IfcVirtualGridIntersection PlacementLocation() const; @@ -19733,7 +19169,7 @@ public: void setPlacementRefDirection(const ::Ifc4::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect v2_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect v2_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -19752,8 +19188,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4::IfcSurface BaseSurface() const; @@ -19763,7 +19198,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -19802,21 +19237,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4::IfcTessellatedFaceSet& v); @@ -19828,13 +19261,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4::IfcTessellatedFaceSet& v); @@ -19842,19 +19274,18 @@ public: void setTexCoords(const ::Ifc4::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4::IfcSurfaceTexture > v1_Maps, ::Ifc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -19863,15 +19294,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, std::vector< ::Ifc4::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -19912,8 +19342,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -19925,7 +19354,7 @@ public: void setDurationType(const ::Ifc4::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -19936,8 +19365,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -19954,7 +19382,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -19965,12 +19393,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -19983,8 +19410,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -19992,7 +19418,7 @@ public: void setOrientation(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20003,8 +19429,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4::IfcAxis2Placement3D Position() const; @@ -20026,7 +19451,7 @@ public: void setLightDistributionDataSource(const ::Ifc4::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D v5_Position, ::Ifc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D v5_Position, ::Ifc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20045,8 +19470,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20067,7 +19491,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20086,8 +19510,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20106,7 +19529,7 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20162,8 +19585,7 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. ::Ifc4::IfcObjectPlacement PlacementRelTo() const; @@ -20173,7 +19595,7 @@ public: void setRelativePlacement(const ::Ifc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20203,12 +19625,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20231,8 +19652,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4::IfcRepresentationMap MappingSource() const; @@ -20242,7 +19662,7 @@ public: void setMappingTarget(const ::Ifc4::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcRepresentationMap v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4::IfcRepresentationMap v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20273,8 +19693,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -20300,7 +19719,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -20309,8 +19728,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -20330,7 +19748,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -20348,8 +19766,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -20362,7 +19779,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -20396,15 +19813,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations, ::Ifc4::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations, ::Ifc4::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -20508,8 +19924,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4::IfcMaterialLayerSet ForLayerSet() const; @@ -20540,7 +19955,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -20551,8 +19966,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4::IfcMaterialProfileSet ForProfileSet() const; @@ -20570,7 +19984,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -20599,8 +20013,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4::IfcMaterialProfileSet ForProfileEndSet() const; @@ -20610,7 +20023,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -20636,8 +20049,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -20646,15 +20058,14 @@ public: void setMaterial(const ::Ifc4::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4::IfcMaterial RelatingMaterial() const; @@ -20667,7 +20078,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -20698,12 +20109,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -20757,8 +20167,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -20769,7 +20178,7 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -20832,12 +20241,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -20847,8 +20255,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4::IfcOrganization RelatingOrganization() const; @@ -20858,7 +20265,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -20869,8 +20276,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4::IfcEdge EdgeElement() const; @@ -20880,7 +20286,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -20926,15 +20332,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -20952,15 +20357,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -20973,8 +20377,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4::IfcPhysicalQuantity > HasQuantities() const; @@ -20990,7 +20393,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21012,8 +20415,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21031,7 +20433,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21044,15 +20446,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4::IfcCartesianPoint Location() const; void setLocation(const ::Ifc4::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPoint v1_Location); + IfcPlacement initialize(::Ifc4::IfcCartesianPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21061,8 +20462,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21072,7 +20472,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21081,12 +20481,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21099,8 +20498,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4::IfcCurve BasisCurve() const; @@ -21110,7 +20508,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21123,8 +20521,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4::IfcSurface BasisSurface() const; @@ -21137,7 +20534,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21180,15 +20577,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21248,8 +20644,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4::IfcAxis2Placement3D Position() const; @@ -21261,7 +20656,7 @@ public: void setPolygonalBoundary(const ::Ifc4::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D v3_Position, ::Ifc4::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D v3_Position, ::Ifc4::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -21272,25 +20667,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -21305,12 +20698,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -21326,14 +20718,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -21348,23 +20739,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcProperty > v3_Properties, ::Ifc4::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -21380,7 +20769,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -21434,14 +20823,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -21453,8 +20841,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4::IfcProperty DependingProperty() const; @@ -21467,7 +20854,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcProperty v3_DependingProperty, ::Ifc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcProperty v3_DependingProperty, ::Ifc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -21513,15 +20900,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -21550,22 +20936,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -21603,8 +20987,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -21614,7 +20997,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -21623,8 +21006,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -21634,7 +21016,7 @@ public: void setValues(const std::vector< ::Ifc4::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -21643,8 +21025,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -21666,7 +21047,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -21678,12 +21059,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -21693,8 +21073,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -21704,7 +21083,7 @@ public: void setRelatingApproval(const ::Ifc4::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -21728,8 +21107,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4::IfcConstraint RelatingConstraint() const; @@ -21739,14 +21117,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -21795,7 +21172,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -21836,15 +21213,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -21853,8 +21229,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4::IfcSectionTypeEnum::Value SectionType() const; @@ -21867,7 +21242,7 @@ public: void setEndProfile(const ::Ifc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef v2_StartProfile, ::Ifc4::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef v2_StartProfile, ::Ifc4::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -21878,8 +21253,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -21901,7 +21275,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -21958,8 +21332,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4::IfcCompositeCurve SpineCurve() const; @@ -21972,7 +21345,7 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4::IfcAxis2Placement3D > v3_CrossSectionPositions); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -21988,26 +21361,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22020,8 +21391,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22034,7 +21404,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22043,12 +21413,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22057,8 +21426,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22080,7 +21448,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22089,8 +21457,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22103,7 +21470,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22112,8 +21479,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22135,22 +21501,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22160,8 +21525,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22183,7 +21547,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22195,15 +21559,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22217,15 +21580,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4::IfcVertex v1_EdgeStart, ::Ifc4::IfcVertex v2_EdgeEnd, ::Ifc4::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22239,12 +21601,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -22293,8 +21654,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -22329,7 +21689,7 @@ public: void setReflectanceMethod(const ::Ifc4::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -22351,8 +21711,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4::IfcProfileDef SweptArea() const; @@ -22362,7 +21721,7 @@ public: void setPosition(const ::Ifc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -22419,8 +21778,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4::IfcCurve Directrix() const; @@ -22443,7 +21801,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -22457,15 +21815,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -22474,8 +21831,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4::IfcProfileDef SweptCurve() const; @@ -22485,7 +21841,7 @@ public: void setPosition(const ::Ifc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -22517,8 +21873,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -22549,17 +21904,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -22573,8 +21927,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -22588,7 +21941,7 @@ public: void setPath(const ::Ifc4::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -22601,8 +21954,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4::IfcPlanarExtent Extent() const; @@ -22612,7 +21964,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4::IfcAxis2Placement v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -22681,8 +22033,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -22704,7 +22055,7 @@ public: void setFontSize(const ::Ifc4::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22746,8 +22097,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -22763,7 +22113,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -22798,8 +22148,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -22818,7 +22167,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -22850,8 +22199,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -22867,7 +22215,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -22937,8 +22285,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > RepresentationMaps() const; @@ -22949,7 +22296,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -22965,8 +22312,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -22982,7 +22328,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23014,8 +22360,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23040,7 +22385,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23051,8 +22396,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4::IfcDirection Orientation() const; @@ -23062,7 +22406,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23078,15 +22422,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -23108,8 +22451,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -23125,7 +22467,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23154,8 +22496,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23177,7 +22518,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23194,12 +22535,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4::IfcFaceBound > v1_Bounds, ::Ifc4::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23223,8 +22563,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23238,7 +22577,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23279,8 +22618,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -23311,7 +22649,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -23324,15 +22662,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4::IfcDirection Axis() const; void setAxis(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -23347,15 +22684,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -23372,8 +22708,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4::IfcDirection Axis() const; @@ -23383,7 +22718,7 @@ public: void setRefDirection(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis, ::Ifc4::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4::IfcCartesianPoint v1_Location, ::Ifc4::IfcDirection v2_Axis, ::Ifc4::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -23413,8 +22748,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4::IfcBooleanOperator::Value Operator() const; @@ -23427,7 +22761,7 @@ public: void setSecondOperand(const ::Ifc4::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -23443,12 +22777,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -23474,8 +22807,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4::IfcCartesianPoint Corner() const; @@ -23491,7 +22823,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -23525,15 +22857,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -23559,8 +22890,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -23579,7 +22909,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -23590,49 +22920,45 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -23666,8 +22992,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4::IfcDirection Axis1() const; @@ -23683,7 +23008,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -23692,12 +23017,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -23711,15 +23035,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -23728,15 +23051,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4::IfcDirection Axis3() const; void setAxis3(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -23751,8 +23073,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -23762,7 +23083,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4::IfcDirection v1_Axis1, ::Ifc4::IfcDirection v2_Axis2, ::Ifc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -23778,15 +23099,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -23839,12 +23159,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -23856,8 +23175,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -23876,7 +23194,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -23885,8 +23203,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -23897,7 +23214,7 @@ public: void setHasProperties(const std::vector< ::Ifc4::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -23908,8 +23225,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. ::Ifc4::IfcTransitionCode::Value Transition() const; @@ -23925,7 +23241,7 @@ public: std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -23944,8 +23260,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4::IfcAppliedValue > >& v); @@ -23953,7 +23268,7 @@ public: void setBaseQuantity(const ::Ifc4::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -23970,8 +23285,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -23996,7 +23310,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24010,15 +23324,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24027,15 +23340,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24080,15 +23392,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24102,12 +23413,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24124,8 +23434,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4::IfcPlane BasisSurface() const; @@ -24138,7 +23447,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcPlane v1_BasisSurface, ::Ifc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4::IfcPlane v1_BasisSurface, ::Ifc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24163,8 +23472,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4::IfcSurface BasisSurface() const; @@ -24176,7 +23484,7 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24187,15 +23495,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -24225,8 +23532,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -24242,7 +23548,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24257,15 +23563,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -24346,8 +23651,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -24359,7 +23663,7 @@ public: void setQuantities(const std::vector< ::Ifc4::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -24385,15 +23689,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -24402,15 +23705,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -24430,8 +23732,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -24441,7 +23742,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -24451,8 +23752,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -24469,7 +23769,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -24541,8 +23841,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4::IfcDirection ExtrudedDirection() const; @@ -24553,7 +23852,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -24655,15 +23954,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -24679,15 +23977,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -24738,8 +24035,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4::IfcCurveStyle HatchLineAppearance() const; @@ -24766,7 +24062,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -24775,8 +24071,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4::IfcVector > TilingPattern() const; @@ -24789,7 +24084,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -24851,8 +24146,7 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc4::IfcCurve Directrix() const; @@ -24868,7 +24162,7 @@ public: void setFixedReference(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -24900,12 +24194,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -24946,8 +24239,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -24956,7 +24248,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25021,15 +24313,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25040,12 +24331,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25112,8 +24402,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25136,32 +24425,30 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25216,8 +24503,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25239,7 +24525,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25254,15 +24540,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -25279,8 +24564,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4::IfcCartesianPoint Pnt() const; @@ -25290,7 +24574,7 @@ public: void setDir(const ::Ifc4::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPoint v1_Pnt, ::Ifc4::IfcVector v2_Dir); + IfcLine initialize(::Ifc4::IfcCartesianPoint v1_Pnt, ::Ifc4::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -25357,15 +24641,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4::IfcClosedShell Outer() const; void setOuter(const ::Ifc4::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -25451,8 +24734,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -25463,7 +24745,7 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -25478,8 +24760,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The curve that is being offset. ::Ifc4::IfcCurve BasisCurve() const; @@ -25492,7 +24773,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -25511,8 +24792,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The curve that is being offset. ::Ifc4::IfcCurve BasisCurve() const; @@ -25528,7 +24808,7 @@ public: void setRefDirection(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection v4_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -25539,8 +24819,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4::IfcSurface& v); @@ -25548,7 +24827,7 @@ public: void setReferenceCurve(const ::Ifc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BasisSurface, ::Ifc4::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4::IfcSurface v1_BasisSurface, ::Ifc4::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -25558,8 +24837,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -25567,7 +24845,7 @@ public: void setPlacement(const ::Ifc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -25607,12 +24885,11 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4::IfcAxis2Placement3D v1_Position); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -25621,12 +24898,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -25637,12 +24913,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -25666,12 +24941,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -25688,8 +24962,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -25697,7 +24970,7 @@ public: void setPredefinedType(const ::Ifc4::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -25741,8 +25014,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -25760,7 +25032,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -25855,8 +25127,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4::IfcObjectPlacement ObjectPlacement() const; @@ -25867,7 +25138,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -25915,12 +25186,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -25948,12 +25218,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26061,8 +25330,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4::IfcValue UpperBoundValue() const; @@ -26080,7 +25348,7 @@ public: void setSetPointValue(const ::Ifc4::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_UpperBoundValue, ::Ifc4::IfcValue v4_LowerBoundValue, ::Ifc4::IfcUnit v5_Unit, ::Ifc4::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_UpperBoundValue, ::Ifc4::IfcValue v4_LowerBoundValue, ::Ifc4::IfcUnit v5_Unit, ::Ifc4::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26161,8 +25429,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26174,7 +25441,7 @@ public: void setEnumerationReference(const ::Ifc4::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -26243,8 +25510,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -26256,7 +25522,7 @@ public: void setUnit(const ::Ifc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_ListValues, ::Ifc4::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_ListValues, ::Ifc4::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -26275,8 +25541,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -26288,7 +25553,7 @@ public: void setPropertyReference(const ::Ifc4::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -26345,15 +25610,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -26388,8 +25652,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -26413,7 +25676,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -26461,8 +25724,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -26476,7 +25738,7 @@ public: void setUnit(const ::Ifc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_NominalValue, ::Ifc4::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4::IfcValue v3_NominalValue, ::Ifc4::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -26596,8 +25858,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -26625,7 +25886,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4::IfcUnit v6_DefiningUnit, ::Ifc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4::IfcUnit v6_DefiningUnit, ::Ifc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -26653,14 +25914,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -26680,8 +25940,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4::IfcObjectTypeEnum::Value ProxyType() const; @@ -26691,7 +25950,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -26715,8 +25974,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -26729,7 +25987,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -26821,8 +26079,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -26835,7 +26092,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -26854,8 +26111,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4::IfcSurface BasisSurface() const; @@ -26880,7 +26136,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -26910,8 +26166,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -26921,7 +26176,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -26936,8 +26191,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4::IfcObjectDefinition > RelatedObjects() const; @@ -26948,7 +26202,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -26961,8 +26215,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4::IfcActor RelatingActor() const; @@ -26972,7 +26225,7 @@ public: void setActingRole(const ::Ifc4::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor v7_RelatingActor, ::Ifc4::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor v7_RelatingActor, ::Ifc4::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -26981,15 +26234,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27006,15 +26258,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27027,15 +26278,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27061,8 +26311,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27074,7 +26323,7 @@ public: void setQuantityInProcess(const ::Ifc4::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27086,8 +26335,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27096,7 +26344,7 @@ public: void setRelatingProduct(const ::Ifc4::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27106,8 +26354,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27116,7 +26363,7 @@ public: void setRelatingResource(const ::Ifc4::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27161,8 +26408,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27171,22 +26417,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27220,23 +26465,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27246,7 +26489,7 @@ public: void setRelatingConstraint(const ::Ifc4::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -27257,15 +26500,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -27276,15 +26518,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -27382,27 +26623,25 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4::IfcMaterialSelect v6_RelatingMaterial); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -27428,8 +26667,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4::IfcConnectionGeometry ConnectionGeometry() const; @@ -27442,7 +26680,7 @@ public: void setRelatedElement(const ::Ifc4::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -27476,8 +26714,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -27493,7 +26730,7 @@ public: void setRelatingConnectionType(const ::Ifc4::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -27522,8 +26759,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4::IfcPort RelatingPort() const; @@ -27535,7 +26771,7 @@ public: void setRelatedElement(const ::Ifc4::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -27552,8 +26788,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4::IfcPort RelatingPort() const; @@ -27566,15 +26801,14 @@ public: void setRealizingElement(const ::Ifc4::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcPort v6_RelatedPort, ::Ifc4::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPort v5_RelatingPort, ::Ifc4::IfcPort v6_RelatedPort, ::Ifc4::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -27584,7 +26818,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -27612,8 +26846,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4::IfcStructuralMember RelatingStructuralMember() const; @@ -27635,7 +26868,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -27656,15 +26889,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -27691,8 +26923,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4::IfcElement > RealizingElements() const; @@ -27702,7 +26933,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4::IfcElement v6_RelatingElement, ::Ifc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -27766,8 +26997,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -27779,7 +27009,7 @@ public: void setRelatingStructure(const ::Ifc4::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -27799,8 +27029,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -27812,7 +27041,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -27842,8 +27071,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -27855,7 +27083,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -27870,8 +27098,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4::IfcContext RelatingContext() const; @@ -27881,7 +27108,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -27915,12 +27142,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -27951,12 +27177,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -27975,8 +27200,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4::IfcObject > RelatedObjects() const; @@ -27986,7 +27210,7 @@ public: void setRelatingObject(const ::Ifc4::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28005,8 +27229,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4::IfcObjectDefinition > RelatedObjects() const; @@ -28016,7 +27239,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28032,8 +27255,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28043,7 +27265,7 @@ public: void setRelatingTemplate(const ::Ifc4::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28116,8 +27338,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4::IfcObject >& v); @@ -28126,7 +27347,7 @@ public: void setRelatingType(const ::Ifc4::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcObject > v5_RelatedObjects, ::Ifc4::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28139,8 +27360,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4::IfcOpeningElement RelatingOpeningElement() const; @@ -28152,7 +27372,7 @@ public: void setRelatedBuildingElement(const ::Ifc4::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28163,8 +27383,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4::IfcDistributionControlElement > RelatedControlElements() const; @@ -28174,7 +27393,7 @@ public: void setRelatingFlowElement(const ::Ifc4::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28225,8 +27444,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4::IfcElement RelatingElement() const; @@ -28245,7 +27463,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcElement v6_RelatedElement, ::Ifc4::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcElement v6_RelatedElement, ::Ifc4::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -28274,8 +27492,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -28289,7 +27506,7 @@ public: void setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -28325,8 +27542,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4::IfcElement RelatingElement() const; @@ -28336,7 +27552,7 @@ public: void setRelatedFeatureElement(const ::Ifc4::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingElement, ::Ifc4::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -28389,8 +27605,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -28403,7 +27618,7 @@ public: void setRelatingStructure(const ::Ifc4::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4::IfcProduct > v5_RelatedElements, ::Ifc4::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -28461,8 +27676,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4::IfcProcess RelatingProcess() const; @@ -28491,7 +27705,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcProcess v5_RelatingProcess, ::Ifc4::IfcProcess v6_RelatedProcess, ::Ifc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcProcess v5_RelatingProcess, ::Ifc4::IfcProcess v6_RelatedProcess, ::Ifc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -28516,8 +27730,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4::IfcSystem RelatingSystem() const; @@ -28531,7 +27744,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -28697,8 +27910,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4::IfcSpaceBoundarySelect RelatingSpace() const; @@ -28723,7 +27935,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -28774,8 +27986,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -28783,7 +27994,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -28819,8 +28030,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -28828,7 +28038,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4::IfcElement v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -28839,8 +28049,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4::IfcElement& v); @@ -28848,7 +28057,7 @@ public: void setRelatedOpeningElement(const ::Ifc4::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, ::Ifc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcElement v5_RelatingBuildingElement, ::Ifc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -28875,14 +28084,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -28899,8 +28107,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -28916,7 +28123,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -28996,8 +28203,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4::IfcAxis1Placement Axis() const; @@ -29007,7 +28213,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29069,14 +28275,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29145,8 +28350,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29156,7 +28360,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29241,8 +28445,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -29252,7 +28455,7 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -29301,8 +28504,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -29353,7 +28555,7 @@ public: void setAccessState(const std::optional< ::Ifc4::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4::IfcUnit v9_PrimaryUnit, ::Ifc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4::IfcUnit v9_PrimaryUnit, ::Ifc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -29388,8 +28590,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -29401,7 +28602,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -29436,15 +28637,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -29522,8 +28722,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -29533,7 +28732,7 @@ public: void setCompositionType(const std::optional< ::Ifc4::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -29571,12 +28770,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -29629,15 +28827,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -29671,8 +28868,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -29681,7 +28877,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -29735,27 +28931,25 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -29852,8 +29046,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -29882,7 +29075,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -29973,13 +29166,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -29987,13 +29179,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30017,12 +29208,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30046,8 +29236,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30057,7 +29246,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30079,12 +29268,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30110,15 +29298,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30133,21 +29320,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4::IfcCurve& v); @@ -30157,7 +29342,7 @@ public: void setMasterRepresentation(const ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -30223,8 +29408,7 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc4::IfcCurve Directrix() const; @@ -30244,7 +29428,7 @@ public: void setReferenceSurface(const ::Ifc4::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4::IfcProfileDef v1_SweptArea, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -30261,8 +29445,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4::IfcDirection ExtrudedDirection() const; @@ -30272,7 +29455,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -30293,15 +29476,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4::IfcProfileDef v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D v2_Position, ::Ifc4::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -30335,14 +29517,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -30591,8 +29772,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -30635,7 +29815,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -30679,8 +29859,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -30691,13 +29870,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4::IfcCartesianPointList3D& v); @@ -30705,13 +29883,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -30719,7 +29896,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -30786,21 +29963,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -30812,7 +29987,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -30914,8 +30089,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -30963,7 +30137,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31012,8 +30186,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31034,7 +30207,7 @@ public: void setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31053,8 +30226,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4::IfcActorSelect TheActor() const; @@ -31062,7 +30234,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31099,12 +30271,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31129,14 +30300,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -31313,13 +30483,12 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -31392,8 +30561,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -31418,7 +30586,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -31429,8 +30597,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -31449,7 +30616,7 @@ public: void setKnotSpec(const ::Ifc4::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -31550,8 +30717,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -31564,7 +30730,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -31575,12 +30741,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -31594,12 +30759,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -31777,8 +30941,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -31791,7 +30954,7 @@ public: void setBuildingAddress(const ::Ifc4::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -31824,12 +30987,11 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: - IfcBuildingElementType() {} - explicit IfcBuildingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuildingElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32010,15 +31172,14 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32047,15 +31208,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32077,25 +31237,23 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32197,15 +31355,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32217,8 +31374,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32229,7 +31385,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32299,8 +31455,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4::IfcCompositeCurveSegment > Segments() const; @@ -32310,7 +31465,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32325,12 +31480,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32339,15 +31493,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32364,15 +31517,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32389,15 +31541,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -32414,15 +31565,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -32498,8 +31648,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4::IfcResourceTime Usage() const; void setUsage(const ::Ifc4::IfcResourceTime& v); @@ -32509,7 +31658,7 @@ public: void setBaseQuantity(const ::Ifc4::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -32523,8 +31672,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -32535,7 +31683,7 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -32575,8 +31723,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32599,7 +31746,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -32626,8 +31773,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -32655,7 +31801,7 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -32738,15 +31884,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -32760,8 +31905,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -32769,7 +31913,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -32794,15 +31938,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -32860,15 +32003,14 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -32900,12 +32042,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -32974,12 +32115,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33078,8 +32218,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33128,7 +32267,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33177,8 +32316,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33199,7 +32337,7 @@ public: void setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33331,8 +32469,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33346,7 +32483,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -33422,12 +32559,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -33444,12 +32580,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -33506,8 +32641,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -33526,7 +32660,7 @@ public: std::vector< IfcRelCoversBldgElements > HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -33624,8 +32758,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -33637,7 +32770,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -33663,15 +32796,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -33752,12 +32884,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -33770,12 +32901,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -33806,8 +32936,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -33817,7 +32946,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -33844,12 +32973,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -33879,14 +33007,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -33916,15 +33043,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -33954,15 +33080,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34043,8 +33168,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34064,7 +33188,7 @@ public: void setEventOccurenceTime(const ::Ifc4::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34073,12 +33197,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34106,12 +33229,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34139,15 +33261,14 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4::IfcClosedShell > v2_Voids); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34159,15 +33280,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34194,15 +33314,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34300,12 +33419,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -34364,13 +33482,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -34424,13 +33541,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -34456,12 +33572,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -34488,12 +33603,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -34529,15 +33643,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -34563,12 +33676,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -34603,12 +33715,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34619,12 +33730,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -34635,12 +33745,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34652,12 +33761,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -34670,15 +33778,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Subtype of footing. ::Ifc4::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -34786,12 +33893,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -34826,14 +33932,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -34977,15 +34082,14 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -35085,8 +34189,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcProduct { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4::IfcGridAxis > UAxes() const; @@ -35102,7 +34205,7 @@ public: std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35136,13 +34239,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35175,15 +34277,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35213,21 +34314,19 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4::IfcCartesianPointList& v); @@ -35237,7 +34336,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35274,24 +34373,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35306,8 +34403,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35333,7 +34429,7 @@ public: void setOriginalValue(const ::Ifc4::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4::IfcCostValue v10_CurrentValue, ::Ifc4::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4::IfcCostValue v10_CurrentValue, ::Ifc4::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35364,15 +34460,14 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -35400,8 +34495,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -35409,7 +34503,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -35442,15 +34536,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -35485,15 +34578,14 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -35526,8 +34618,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -35538,7 +34629,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -35577,8 +34668,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -35591,7 +34681,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -35621,14 +34711,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -35733,15 +34822,14 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMemberTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -35772,15 +34860,14 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -35791,8 +34878,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -35801,7 +34887,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36007,8 +35093,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36018,7 +35103,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -36115,12 +35200,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36153,15 +35237,14 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36170,8 +35253,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36183,7 +35265,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36218,8 +35300,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36238,7 +35319,7 @@ public: void setShapeAspectStyle(const ::Ifc4::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36279,8 +35360,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36299,7 +35379,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36310,15 +35390,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Subtype of pile. ::Ifc4::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36351,15 +35430,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -36396,15 +35474,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -36485,21 +35562,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -36509,7 +35584,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -36527,15 +35602,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -36592,15 +35666,14 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -36708,8 +35781,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -36717,7 +35789,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -36764,8 +35836,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36788,7 +35859,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -36899,8 +35970,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36909,7 +35979,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -36948,15 +36018,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -36988,15 +36057,14 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcPumpTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37020,15 +36088,14 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRailingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37052,15 +36119,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37097,15 +36163,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37122,15 +36187,14 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37142,26 +36206,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37189,8 +36251,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37213,7 +36274,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37228,8 +36289,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37264,7 +36324,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v20_BendingParameters); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37290,8 +36350,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37305,7 +36364,7 @@ public: void setRelatedObjects(const std::vector< ::Ifc4::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4::IfcObjectDefinition > v6_RelatedObjects); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -37341,15 +36400,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -37390,25 +36448,23 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -37433,15 +36489,14 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -37634,8 +36689,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -37657,7 +36711,7 @@ public: void setSiteAddress(const ::Ifc4::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -37738,15 +36792,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -37776,14 +36829,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38037,8 +37089,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38054,7 +37105,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38088,15 +37139,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -38181,8 +37231,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -38191,7 +37240,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -38221,15 +37270,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -38253,15 +37301,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -38298,15 +37345,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -38329,23 +37375,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4::IfcBoundaryCondition AppliedCondition() const; @@ -38353,7 +37397,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -38413,8 +37457,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38424,7 +37467,7 @@ public: void setPredefinedType(const ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -38445,8 +37488,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -38455,7 +37497,7 @@ public: void setAxis(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -38496,8 +37538,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -38509,7 +37550,7 @@ public: void setAxis(const ::Ifc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -38533,12 +37574,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -38592,15 +37632,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -38611,12 +37650,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -38653,8 +37691,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -38675,7 +37712,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -38724,12 +37761,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -38746,15 +37782,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -38801,12 +37836,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -38814,8 +37848,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -38829,7 +37862,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -38885,8 +37918,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38896,7 +37928,7 @@ public: void setPredefinedType(const ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -38912,12 +37944,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -38945,8 +37976,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -38954,7 +37984,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -38990,15 +38020,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39042,15 +38071,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39071,13 +38099,12 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39105,14 +38132,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39148,21 +38174,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcTendonTypeEnum::Value >& v); @@ -39182,37 +38206,34 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcTendonTypeEnum::Value& v); @@ -39224,7 +38245,7 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -39255,15 +38276,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -39383,8 +38403,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39393,7 +38412,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -39475,8 +38494,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4::IfcCurve BasisCurve() const; @@ -39495,7 +38513,7 @@ public: void setMasterRepresentation(const ::Ifc4::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -39528,15 +38546,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -39568,15 +38585,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -39618,15 +38634,14 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -39664,14 +38679,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -39697,15 +38711,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -39795,12 +38808,11 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -39836,15 +38848,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -39932,15 +38943,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -39980,15 +38990,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40113,8 +39122,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40128,7 +39136,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40145,8 +39153,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -40166,7 +39173,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -40214,8 +39221,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -40240,7 +39246,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -40269,8 +39275,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -40278,7 +39283,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -40322,8 +39327,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -40331,7 +39335,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -40420,8 +39424,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40432,7 +39435,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -40474,8 +39477,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -40498,7 +39500,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -40528,15 +39530,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -40566,14 +39567,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -40603,15 +39603,14 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -40639,8 +39638,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -40676,7 +39674,7 @@ public: void setDepreciatedValue(const ::Ifc4::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4::IfcCostValue v7_OriginalValue, ::Ifc4::IfcCostValue v8_CurrentValue, ::Ifc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4::IfcActorSelect v10_Owner, ::Ifc4::IfcActorSelect v11_User, ::Ifc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4::IfcCostValue v7_OriginalValue, ::Ifc4::IfcCostValue v8_CurrentValue, ::Ifc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4::IfcActorSelect v10_Owner, ::Ifc4::IfcActorSelect v11_User, ::Ifc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -40722,15 +39720,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -40783,8 +39780,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -40803,7 +39799,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -40824,8 +39820,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -40838,7 +39833,7 @@ public: void setKnotSpec(const ::Ifc4::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -40940,15 +39935,14 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -40981,15 +39975,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41000,12 +39993,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -41372,12 +40364,11 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: - IfcBuildingElement() {} - explicit IfcBuildingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuildingElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -41398,15 +40389,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -41414,15 +40404,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -41616,14 +40605,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -41661,15 +40649,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -41709,8 +40696,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -41719,7 +40705,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -41750,14 +40736,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -41787,15 +40772,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -41831,15 +40815,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -41871,15 +40854,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -41924,15 +40906,14 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -41968,15 +40949,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42021,8 +41001,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42030,7 +41009,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42061,25 +41040,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42110,15 +41087,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42393,8 +41369,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42404,7 +41379,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -42653,12 +41628,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -42694,15 +41668,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -42733,15 +41706,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -42772,15 +41744,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -42806,8 +41777,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -42815,7 +41785,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -42845,8 +41815,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -42854,7 +41823,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -42873,8 +41842,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -42882,7 +41850,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -42915,15 +41883,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -42960,15 +41927,14 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43196,8 +42162,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43206,7 +42171,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43348,8 +42313,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43359,7 +42323,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43397,15 +42361,14 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -43582,15 +42545,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -43782,15 +42744,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -43831,15 +42792,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -43897,12 +42857,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44068,13 +43027,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44146,13 +43104,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44238,8 +43195,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44251,7 +43207,7 @@ public: void setSystemType(const std::optional< ::Ifc4::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44295,8 +43251,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44308,7 +43263,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -44668,8 +43623,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -44698,7 +43652,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -44806,12 +43760,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -44844,15 +43797,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -44885,15 +43837,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -44923,15 +43874,14 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -44964,15 +43914,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45003,15 +43952,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45042,15 +43990,14 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45086,15 +44033,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45125,15 +44071,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45164,15 +44109,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45185,12 +44129,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45235,14 +44178,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45290,14 +44232,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45365,14 +44306,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45391,8 +44331,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45400,7 +44339,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45432,15 +44371,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45473,15 +44411,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -45518,15 +44455,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -45539,12 +44475,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -45553,12 +44488,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -45592,15 +44526,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -45684,14 +44617,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -45700,12 +44632,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -45732,12 +44663,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -45750,12 +44680,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -45770,12 +44699,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -45784,12 +44712,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -45815,8 +44742,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The generic type of the footing. /// @@ -45825,7 +44751,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFootingTypeEnum::Value > v9_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -45879,14 +44805,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -45933,14 +44858,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46001,14 +44925,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46078,14 +45001,13 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46136,14 +45058,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46213,14 +45134,13 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46268,14 +45188,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -46529,8 +45448,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -46540,7 +45458,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -46783,12 +45701,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -46833,14 +45750,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -46849,12 +45765,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -46924,14 +45839,13 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcOutletTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -46953,8 +45867,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The predefined generic type of the pile according to function. /// @@ -46968,7 +45881,7 @@ public: void setConstructionType(const std::optional< ::Ifc4::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47057,14 +45970,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47128,14 +46040,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -47367,8 +46278,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -47378,7 +46288,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -47535,12 +46445,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -47620,14 +46529,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -47671,15 +46579,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -47732,14 +46639,13 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcPumpTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -47875,8 +46781,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -47885,7 +46790,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -48022,8 +46927,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -48034,7 +46938,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48226,8 +47130,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48237,7 +47140,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48277,15 +47180,14 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48317,8 +47219,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48333,7 +47234,7 @@ public: void setBarSurface(const std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -48353,8 +47254,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -48377,7 +47277,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -48526,8 +47426,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -48536,7 +47435,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -48666,14 +47565,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -48725,15 +47623,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -48751,8 +47648,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -48760,7 +47656,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -49024,8 +47920,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -49035,7 +47930,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -49122,12 +48017,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -49290,12 +48184,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -49346,14 +48239,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -49419,14 +48311,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -49480,14 +48371,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -49656,8 +48546,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -49666,7 +48555,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -49837,8 +48726,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -49865,7 +48753,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -49892,8 +48780,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -49925,15 +48812,14 @@ public: void setSharedPlacement(const ::Ifc4::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -49944,7 +48830,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -49955,12 +48841,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, ::Ifc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -50052,14 +48937,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -50123,14 +49007,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTankTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -50176,14 +49059,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -50234,14 +49116,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -50271,15 +49152,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -50355,14 +49235,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -50552,14 +49431,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -50805,8 +49683,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -50816,7 +49693,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -50918,12 +49795,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -51129,12 +50005,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -51242,14 +50117,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -51611,8 +50485,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -51641,7 +50514,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -51759,12 +50632,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -51799,15 +50671,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -51868,14 +50739,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -51921,14 +50791,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -51977,14 +50846,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -52014,15 +50882,14 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcAlarmTypeEnum::Value v10_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -52204,14 +51071,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -52452,8 +51318,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -52463,7 +51328,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -52718,12 +51583,11 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -52796,14 +51660,13 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -52848,14 +51711,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -52920,15 +51782,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -52991,15 +51852,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -53077,15 +51937,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -53176,15 +52035,14 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -53257,14 +52115,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -53334,14 +52191,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53447,14 +52303,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -53504,14 +52359,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -53581,14 +52435,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -53628,15 +52481,14 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4::IfcControllerTypeEnum::Value v10_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -53689,14 +52541,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -53757,14 +52608,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -53839,14 +52689,13 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDamperTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -53881,24 +52730,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -53980,13 +52827,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -54065,14 +52911,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -54125,14 +52970,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -54178,14 +53022,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54287,14 +53130,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -54355,14 +53197,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -54407,14 +53248,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -54465,14 +53305,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -54517,14 +53356,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -54569,14 +53407,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -54634,14 +53471,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -54732,14 +53568,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -54809,14 +53644,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -54872,14 +53706,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; /// Entity Definition /// @@ -54935,14 +53768,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -55080,14 +53912,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -55146,14 +53977,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -55219,14 +54049,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -55272,14 +54101,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -55389,14 +54217,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x1.cpp b/src/ifcparse/schemas/Ifc4x1.cpp index f493e36970..18e6979607 100644 --- a/src/ifcparse/schemas/Ifc4x1.cpp +++ b/src/ifcparse/schemas/Ifc4x1.cpp @@ -6252,652 +6252,652 @@ const ifcopenshell::select_type& Ifc4x1::IfcWarpingStiffnessSelect::Class() { re // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[0]); } -void Ifc4x1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcAbsorbedDoseMeasure Ifc4x1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1]); } -void Ifc4x1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcAccelerationMeasure Ifc4x1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[40]); } -void Ifc4x1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcAmountOfSubstanceMeasure Ifc4x1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[43]); } -void Ifc4x1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcAngularVelocityMeasure Ifc4x1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x1::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[54]); } -void Ifc4x1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcArcIndex Ifc4x1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[55]); } -void Ifc4x1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcAreaDensityMeasure Ifc4x1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[56]); } -void Ifc4x1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcAreaMeasure Ifc4x1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x1::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[74]); } -void Ifc4x1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcBinary Ifc4x1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x1::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[80]); } -void Ifc4x1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcBoolean Ifc4x1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x1::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[94]); } -void Ifc4x1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcBoxAlignment Ifc4x1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x1::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[129]); } -void Ifc4x1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcCardinalPointReference Ifc4x1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x1::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[173]); } -void Ifc4x1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcComplexNumber Ifc4x1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[181]); } -void Ifc4x1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcCompoundPlaneAngleMeasure Ifc4x1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[211]); } -void Ifc4x1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcContextDependentMeasure Ifc4x1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[233]); } -void Ifc4x1::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcCountMeasure Ifc4x1::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[248]); } -void Ifc4x1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcCurvatureMeasure Ifc4x1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x1::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[267]); } -void Ifc4x1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDate Ifc4x1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x1::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[268]); } -void Ifc4x1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDateTime Ifc4x1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x1::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[269]); } -void Ifc4x1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDayInMonthNumber Ifc4x1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x1::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[270]); } -void Ifc4x1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDayInWeekNumber Ifc4x1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[277]); } -void Ifc4x1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDescriptiveMeasure Ifc4x1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x1::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[279]); } -void Ifc4x1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDimensionCount Ifc4x1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[318]); } -void Ifc4x1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDoseEquivalentMeasure Ifc4x1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x1::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[330]); } -void Ifc4x1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDuration Ifc4x1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[331]); } -void Ifc4x1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcDynamicViscosityMeasure Ifc4x1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[338]); } -void Ifc4x1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcElectricCapacitanceMeasure Ifc4x1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[339]); } -void Ifc4x1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcElectricChargeMeasure Ifc4x1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[340]); } -void Ifc4x1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcElectricConductanceMeasure Ifc4x1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[341]); } -void Ifc4x1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcElectricCurrentMeasure Ifc4x1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[354]); } -void Ifc4x1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcElectricResistanceMeasure Ifc4x1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[358]); } -void Ifc4x1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcElectricVoltageMeasure Ifc4x1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[373]); } -void Ifc4x1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcEnergyMeasure Ifc4x1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x1::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[449]); } -void Ifc4x1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcFontStyle Ifc4x1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x1::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[450]); } -void Ifc4x1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcFontVariant Ifc4x1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x1::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[451]); } -void Ifc4x1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcFontWeight Ifc4x1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[455]); } -void Ifc4x1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcForceMeasure Ifc4x1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[456]); } -void Ifc4x1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcFrequencyMeasure Ifc4x1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x1::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[472]); } -void Ifc4x1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcGloballyUniqueId Ifc4x1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[485]); } -void Ifc4x1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcHeatFluxDensityMeasure Ifc4x1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[486]); } -void Ifc4x1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcHeatingValueMeasure Ifc4x1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x1::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[490]); } -void Ifc4x1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcIdentifier Ifc4x1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[491]); } -void Ifc4x1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcIlluminanceMeasure Ifc4x1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[499]); } -void Ifc4x1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcInductanceMeasure Ifc4x1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x1::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[500]); } -void Ifc4x1::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcInteger Ifc4x1::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[501]); } -void Ifc4x1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcIntegerCountRateMeasure Ifc4x1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[509]); } -void Ifc4x1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcIonConcentrationMeasure Ifc4x1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[513]); } -void Ifc4x1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcIsothermalMoistureCapacityMeasure Ifc4x1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[517]); } -void Ifc4x1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcKinematicViscosityMeasure Ifc4x1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x1::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[519]); } -void Ifc4x1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLabel Ifc4x1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x1::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[527]); } -void Ifc4x1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLanguageId Ifc4x1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[530]); } -void Ifc4x1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLengthMeasure Ifc4x1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x1::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[555]); } -void Ifc4x1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLineIndex Ifc4x1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[549]); } -void Ifc4x1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLinearForceMeasure Ifc4x1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[550]); } -void Ifc4x1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLinearMomentMeasure Ifc4x1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[553]); } -void Ifc4x1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLinearStiffnessMeasure Ifc4x1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[554]); } -void Ifc4x1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLinearVelocityMeasure Ifc4x1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x1::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[559]); } -void Ifc4x1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLogical Ifc4x1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[563]); } -void Ifc4x1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLuminousFluxMeasure Ifc4x1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[564]); } -void Ifc4x1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLuminousIntensityDistributionMeasure Ifc4x1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[565]); } -void Ifc4x1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcLuminousIntensityMeasure Ifc4x1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[566]); } -void Ifc4x1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMagneticFluxDensityMeasure Ifc4x1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[567]); } -void Ifc4x1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMagneticFluxMeasure Ifc4x1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[571]); } -void Ifc4x1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMassDensityMeasure Ifc4x1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[572]); } -void Ifc4x1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMassFlowRateMeasure Ifc4x1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[573]); } -void Ifc4x1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMassMeasure Ifc4x1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[574]); } -void Ifc4x1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMassPerLengthMeasure Ifc4x1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[610]); } -void Ifc4x1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcModulusOfElasticityMeasure Ifc4x1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[611]); } -void Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[612]); } -void Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[614]); } -void Ifc4x1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcModulusOfSubgradeReactionMeasure Ifc4x1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[617]); } -void Ifc4x1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMoistureDiffusivityMeasure Ifc4x1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[618]); } -void Ifc4x1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMolecularWeightMeasure Ifc4x1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[619]); } -void Ifc4x1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMomentOfInertiaMeasure Ifc4x1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[620]); } -void Ifc4x1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMonetaryMeasure Ifc4x1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x1::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[622]); } -void Ifc4x1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcMonthInYearNumber Ifc4x1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[627]); } -void Ifc4x1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcNonNegativeLengthMeasure Ifc4x1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[628]); } -void Ifc4x1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcNormalisedRatioMeasure Ifc4x1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[630]); } -void Ifc4x1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcNumericMeasure Ifc4x1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[669]); } -void Ifc4x1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPHMeasure Ifc4x1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x1::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[658]); } -void Ifc4x1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcParameterValue Ifc4x1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[688]); } -void Ifc4x1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPlanarForceMeasure Ifc4x1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[690]); } -void Ifc4x1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPlaneAngleMeasure Ifc4x1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x1::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[705]); } -void Ifc4x1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPositiveInteger Ifc4x1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[706]); } -void Ifc4x1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPositiveLengthMeasure Ifc4x1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[707]); } -void Ifc4x1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPositivePlaneAngleMeasure Ifc4x1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[708]); } -void Ifc4x1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPositiveRatioMeasure Ifc4x1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[710]); } -void Ifc4x1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPowerMeasure Ifc4x1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x1::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[718]); } -void Ifc4x1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPresentableText Ifc4x1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[725]); } -void Ifc4x1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcPressureMeasure Ifc4x1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x1::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[759]); } -void Ifc4x1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x1::IfcPropertySetDefinitionSet Ifc4x1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x1::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x1::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[783]); } -void Ifc4x1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcRadioActivityMeasure Ifc4x1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[793]); } -void Ifc4x1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcRatioMeasure Ifc4x1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x1::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[796]); } -void Ifc4x1::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcReal Ifc4x1::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[889]); } -void Ifc4x1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcRotationalFrequencyMeasure Ifc4x1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[890]); } -void Ifc4x1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcRotationalMassMeasure Ifc4x1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[891]); } -void Ifc4x1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcRotationalStiffnessMeasure Ifc4x1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[903]); } -void Ifc4x1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSectionModulusMeasure Ifc4x1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[899]); } -void Ifc4x1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSectionalAreaIntegralMeasure Ifc4x1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[918]); } -void Ifc4x1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcShearModulusMeasure Ifc4x1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[939]); } -void Ifc4x1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSolidAngleMeasure Ifc4x1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[942]); } -void Ifc4x1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSoundPowerLevelMeasure Ifc4x1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[943]); } -void Ifc4x1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSoundPowerMeasure Ifc4x1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[944]); } -void Ifc4x1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSoundPressureLevelMeasure Ifc4x1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[945]); } -void Ifc4x1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSoundPressureMeasure Ifc4x1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[960]); } -void Ifc4x1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSpecificHeatCapacityMeasure Ifc4x1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x1::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[961]); } -void Ifc4x1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSpecularExponent Ifc4x1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x1::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[963]); } -void Ifc4x1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcSpecularRoughness Ifc4x1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1068]); } -void Ifc4x1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTemperatureGradientMeasure Ifc4x1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1069]); } -void Ifc4x1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTemperatureRateOfChangeMeasure Ifc4x1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x1::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1078]); } -void Ifc4x1::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcText Ifc4x1::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x1::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1079]); } -void Ifc4x1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTextAlignment Ifc4x1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x1::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1080]); } -void Ifc4x1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTextDecoration Ifc4x1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x1::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1081]); } -void Ifc4x1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTextFontName Ifc4x1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x1::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1090]); } -void Ifc4x1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTextTransformation Ifc4x1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1096]); } -void Ifc4x1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcThermalAdmittanceMeasure Ifc4x1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1097]); } -void Ifc4x1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcThermalConductivityMeasure Ifc4x1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1098]); } -void Ifc4x1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcThermalExpansionCoefficientMeasure Ifc4x1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1099]); } -void Ifc4x1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcThermalResistanceMeasure Ifc4x1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1100]); } -void Ifc4x1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcThermalTransmittanceMeasure Ifc4x1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1101]); } -void Ifc4x1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcThermodynamicTemperatureMeasure Ifc4x1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x1::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1102]); } -void Ifc4x1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTime Ifc4x1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1103]); } -void Ifc4x1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTimeMeasure Ifc4x1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x1::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1109]); } -void Ifc4x1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTimeStamp Ifc4x1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1113]); } -void Ifc4x1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcTorqueMeasure Ifc4x1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x1::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1147]); } -void Ifc4x1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcURIReference Ifc4x1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1153]); } -void Ifc4x1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcVaporPermeabilityMeasure Ifc4x1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1166]); } -void Ifc4x1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcVolumeMeasure Ifc4x1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1167]); } -void Ifc4x1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcVolumetricFlowRateMeasure Ifc4x1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1173]); } -void Ifc4x1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcWarpingConstantMeasure Ifc4x1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x1::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X1_types[1174]); } -void Ifc4x1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x1::IfcWarpingMomentMeasure Ifc4x1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -6911,7 +6911,7 @@ void Ifc4x1::IfcActionRequest::setLongDescription(const std::optional< std::stri const ifcopenshell::entity& Ifc4x1::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X1_types[2]); } -void Ifc4x1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x1::IfcActionRequest Ifc4x1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x1::IfcActorSelect Ifc4x1::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcActorSelect>(); } @@ -6920,7 +6920,7 @@ void Ifc4x1::IfcActor::setTheActor(const ::Ifc4x1::IfcActorSelect& v) { set_attr std::vector<::Ifc4x1::IfcRelAssignsToActor> Ifc4x1::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[822], 6)); } const ifcopenshell::entity& Ifc4x1::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[6]); } -void Ifc4x1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x1::IfcActor Ifc4x1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x1::IfcRoleEnum::Value Ifc4x1::IfcActorRole::Role() const { return ::Ifc4x1::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -6933,7 +6933,7 @@ void Ifc4x1::IfcActorRole::setDescription(const std::optional< std::string >& v) std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X1_types[7]); } -void Ifc4x1::IfcActorRole::initialize(::Ifc4x1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x1::IfcActorRole Ifc4x1::IfcActorRole::initialize(::Ifc4x1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > Ifc4x1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -6941,7 +6941,7 @@ void Ifc4x1::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x1::IfcAc const ifcopenshell::entity& Ifc4x1::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[9]); } -void Ifc4x1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcActuator Ifc4x1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x1::IfcActuatorTypeEnum::Value Ifc4x1::IfcActuatorType::PredefinedType() const { return ::Ifc4x1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -6949,7 +6949,7 @@ void Ifc4x1::IfcActuatorType::setPredefinedType(const ::Ifc4x1::IfcActuatorTypeE const ifcopenshell::entity& Ifc4x1::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[10]); } -void Ifc4x1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcActuatorType Ifc4x1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Ifc4x1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -6963,13 +6963,13 @@ std::vector<::Ifc4x1::IfcPerson> Ifc4x1::IfcAddress::OfPerson() const { return c std::vector<::Ifc4x1::IfcOrganization> Ifc4x1::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[648], 4)); } const ifcopenshell::entity& Ifc4x1::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X1_types[12]); } -void Ifc4x1::IfcAddress::initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x1::IfcAddress Ifc4x1::IfcAddress::initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x1::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X1_types[14]); } -void Ifc4x1::IfcAdvancedBrep::initialize(::Ifc4x1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x1::IfcAdvancedBrep Ifc4x1::IfcAdvancedBrep::initialize(::Ifc4x1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x1::IfcClosedShell > Ifc4x1::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcClosedShell>(es); } @@ -6977,13 +6977,13 @@ void Ifc4x1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[15]); } -void Ifc4x1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x1::IfcAdvancedBrepWithVoids Ifc4x1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x1::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X1_types[16]); } -void Ifc4x1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x1::IfcAdvancedFace Ifc4x1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > Ifc4x1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -6991,7 +6991,7 @@ void Ifc4x1::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[17]); } -void Ifc4x1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcAirTerminal Ifc4x1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -6999,7 +6999,7 @@ void Ifc4x1::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X1_types[18]); } -void Ifc4x1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcAirTerminalBox Ifc4x1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value Ifc4x1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -7007,7 +7007,7 @@ void Ifc4x1::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x1::IfcAirTerm const ifcopenshell::entity& Ifc4x1::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[19]); } -void Ifc4x1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcAirTerminalBoxType Ifc4x1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x1::IfcAirTerminalTypeEnum::Value Ifc4x1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7015,7 +7015,7 @@ void Ifc4x1::IfcAirTerminalType::setPredefinedType(const ::Ifc4x1::IfcAirTermina const ifcopenshell::entity& Ifc4x1::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[21]); } -void Ifc4x1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcAirTerminalType Ifc4x1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -7023,7 +7023,7 @@ void Ifc4x1::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x1::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X1_types[23]); } -void Ifc4x1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcAirToAirHeatRecovery Ifc4x1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -7031,7 +7031,7 @@ void Ifc4x1::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x1::IfcA const ifcopenshell::entity& Ifc4x1::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[24]); } -void Ifc4x1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcAirToAirHeatRecoveryType Ifc4x1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > Ifc4x1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -7039,7 +7039,7 @@ void Ifc4x1::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x1::IfcAlarm const ifcopenshell::entity& Ifc4x1::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X1_types[26]); } -void Ifc4x1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcAlarm Ifc4x1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x1::IfcAlarmTypeEnum::Value Ifc4x1::IfcAlarmType::PredefinedType() const { return ::Ifc4x1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -7047,7 +7047,7 @@ void Ifc4x1::IfcAlarmType::setPredefinedType(const ::Ifc4x1::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[27]); } -void Ifc4x1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcAlarmType Ifc4x1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > Ifc4x1::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7055,7 +7055,7 @@ void Ifc4x1::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x1::IfcA const ifcopenshell::entity& Ifc4x1::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[29]); } -void Ifc4x1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis, std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcAlignment Ifc4x1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis, std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlignment2DHorizontal std::optional< double > Ifc4x1::IfcAlignment2DHorizontal::StartDistAlong() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -7066,7 +7066,7 @@ void Ifc4x1::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x1:: std::vector<::Ifc4x1::IfcAlignmentCurve> Ifc4x1::IfcAlignment2DHorizontal::ToAlignmentCurve() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[38], 0)); } const ifcopenshell::entity& Ifc4x1::IfcAlignment2DHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[30]); } -void Ifc4x1::IfcAlignment2DHorizontal::initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment > v2_Segments) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, cast_vector(v2_Segments)); } +Ifc4x1::IfcAlignment2DHorizontal Ifc4x1::IfcAlignment2DHorizontal::initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment > v2_Segments) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, cast_vector(v2_Segments));; return *this; } // Function implementations for IfcAlignment2DHorizontalSegment ::Ifc4x1::IfcCurveSegment2D Ifc4x1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcCurveSegment2D>(); } @@ -7075,7 +7075,7 @@ void Ifc4x1::IfcAlignment2DHorizontalSegment::setCurveGeometry(const ::Ifc4x1::I std::vector<::Ifc4x1::IfcAlignment2DHorizontal> Ifc4x1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[30], 1)); } const ifcopenshell::entity& Ifc4x1::IfcAlignment2DHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[31]); } -void Ifc4x1::IfcAlignment2DHorizontalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x1::IfcCurveSegment2D v4_CurveGeometry) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_CurveGeometry)); } +Ifc4x1::IfcAlignment2DHorizontalSegment Ifc4x1::IfcAlignment2DHorizontalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x1::IfcCurveSegment2D v4_CurveGeometry) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_CurveGeometry));; return *this; } // Function implementations for IfcAlignment2DSegment std::optional< bool > Ifc4x1::IfcAlignment2DSegment::TangentialContinuity() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } bool v = get_attribute_value(0); return v; } @@ -7087,7 +7087,7 @@ void Ifc4x1::IfcAlignment2DSegment::setEndTag(const std::optional< std::string > const ifcopenshell::entity& Ifc4x1::IfcAlignment2DSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[32]); } -void Ifc4x1::IfcAlignment2DSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); } } +Ifc4x1::IfcAlignment2DSegment Ifc4x1::IfcAlignment2DSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; return *this; } // Function implementations for IfcAlignment2DVerSegCircularArc double Ifc4x1::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(7); return v; } @@ -7097,13 +7097,13 @@ void Ifc4x1::IfcAlignment2DVerSegCircularArc::setIsConvex(const bool& v) { set_a const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVerSegCircularArc::Class() { return *((ifcopenshell::entity*)IFC4X1_types[33]); } -void Ifc4x1::IfcAlignment2DVerSegCircularArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex)); } +Ifc4x1::IfcAlignment2DVerSegCircularArc Ifc4x1::IfcAlignment2DVerSegCircularArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVerSegLine const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVerSegLine::Class() { return *((ifcopenshell::entity*)IFC4X1_types[34]); } -void Ifc4x1::IfcAlignment2DVerSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); } +Ifc4x1::IfcAlignment2DVerSegLine Ifc4x1::IfcAlignment2DVerSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; return *this; } // Function implementations for IfcAlignment2DVerSegParabolicArc double Ifc4x1::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(7); return v; } @@ -7113,7 +7113,7 @@ void Ifc4x1::IfcAlignment2DVerSegParabolicArc::setIsConvex(const bool& v) { set_ const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVerSegParabolicArc::Class() { return *((ifcopenshell::entity*)IFC4X1_types[35]); } -void Ifc4x1::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex)); } +Ifc4x1::IfcAlignment2DVerSegParabolicArc Ifc4x1::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVertical std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > Ifc4x1::IfcAlignment2DVertical::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcAlignment2DVerticalSegment>(es); } @@ -7122,7 +7122,7 @@ void Ifc4x1::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x1::If std::vector<::Ifc4x1::IfcAlignmentCurve> Ifc4x1::IfcAlignment2DVertical::ToAlignmentCurve() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[38], 1)); } const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVertical::Class() { return *((ifcopenshell::entity*)IFC4X1_types[36]); } -void Ifc4x1::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments)); } +Ifc4x1::IfcAlignment2DVertical Ifc4x1::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments));; return *this; } // Function implementations for IfcAlignment2DVerticalSegment double Ifc4x1::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } @@ -7137,7 +7137,7 @@ void Ifc4x1::IfcAlignment2DVerticalSegment::setStartGradient(const double& v) { std::vector<::Ifc4x1::IfcAlignment2DVertical> Ifc4x1::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[36], 0)); } const ifcopenshell::entity& Ifc4x1::IfcAlignment2DVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[37]); } -void Ifc4x1::IfcAlignment2DVerticalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); } +Ifc4x1::IfcAlignment2DVerticalSegment Ifc4x1::IfcAlignment2DVerticalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; return *this; } // Function implementations for IfcAlignmentCurve ::Ifc4x1::IfcAlignment2DHorizontal Ifc4x1::IfcAlignmentCurve::Horizontal() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcAlignment2DHorizontal>(); } @@ -7149,14 +7149,14 @@ void Ifc4x1::IfcAlignmentCurve::setTag(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x1::IfcAlignmentCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[38]); } -void Ifc4x1::IfcAlignmentCurve::initialize(::Ifc4x1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x1::IfcAlignmentCurve Ifc4x1::IfcAlignmentCurve::initialize(::Ifc4x1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcAnnotation std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[846], 4)); } const ifcopenshell::entity& Ifc4x1::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[44]); } -void Ifc4x1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x1::IfcAnnotation Ifc4x1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x1::IfcCurve Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -7166,7 +7166,7 @@ void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std: const ifcopenshell::entity& Ifc4x1::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X1_types[45]); } -void Ifc4x1::IfcAnnotationFillArea::initialize(::Ifc4x1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x1::IfcAnnotationFillArea Ifc4x1::IfcAnnotationFillArea::initialize(::Ifc4x1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x1::IfcOrganization Ifc4x1::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcOrganization>(); } @@ -7180,7 +7180,7 @@ void Ifc4x1::IfcApplication::setApplicationIdentifier(const std::string& v) { se const ifcopenshell::entity& Ifc4x1::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X1_types[46]); } -void Ifc4x1::IfcApplication::initialize(::Ifc4x1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x1::IfcApplication Ifc4x1::IfcApplication::initialize(::Ifc4x1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7207,7 +7207,7 @@ void Ifc4x1::IfcAppliedValue::setComponents(const std::optional< std::vector< :: std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[47]); } -void Ifc4x1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x1::IfcAppliedValue Ifc4x1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7236,7 +7236,7 @@ std::vector<::Ifc4x1::IfcApprovalRelationship> Ifc4x1::IfcApproval::IsRelatedWit std::vector<::Ifc4x1::IfcApprovalRelationship> Ifc4x1::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[50], 2)); } const ifcopenshell::entity& Ifc4x1::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X1_types[49]); } -void Ifc4x1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect v8_RequestingApproval, ::Ifc4x1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x1::IfcApproval Ifc4x1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect v8_RequestingApproval, ::Ifc4x1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x1::IfcApproval Ifc4x1::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcApproval>(); } @@ -7246,7 +7246,7 @@ void Ifc4x1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::I const ifcopenshell::entity& Ifc4x1::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[50]); } -void Ifc4x1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x1::IfcApprovalRelationship Ifc4x1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x1::IfcCurve Ifc4x1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } @@ -7254,7 +7254,7 @@ void Ifc4x1::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x1::IfcCurv const ifcopenshell::entity& Ifc4x1::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[51]); } -void Ifc4x1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x1::IfcArbitraryClosedProfileDef Ifc4x1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x1::IfcBoundedCurve Ifc4x1::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcBoundedCurve>(); } @@ -7262,7 +7262,7 @@ void Ifc4x1::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x1::IfcBoundedCurv const ifcopenshell::entity& Ifc4x1::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[52]); } -void Ifc4x1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x1::IfcArbitraryOpenProfileDef Ifc4x1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x1::IfcCurve > Ifc4x1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x1::IfcCurve>(es); } @@ -7270,7 +7270,7 @@ void Ifc4x1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< const ifcopenshell::entity& Ifc4x1::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[53]); } -void Ifc4x1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x1::IfcArbitraryProfileDefWithVoids Ifc4x1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -7294,7 +7294,7 @@ void Ifc4x1::IfcAsset::setDepreciatedValue(const ::Ifc4x1::IfcCostValue& v) { se const ifcopenshell::entity& Ifc4x1::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X1_types[59]); } -void Ifc4x1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x1::IfcCostValue v7_OriginalValue, ::Ifc4x1::IfcCostValue v8_CurrentValue, ::Ifc4x1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x1::IfcActorSelect v10_Owner, ::Ifc4x1::IfcActorSelect v11_User, ::Ifc4x1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x1::IfcAsset Ifc4x1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x1::IfcCostValue v7_OriginalValue, ::Ifc4x1::IfcCostValue v8_CurrentValue, ::Ifc4x1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x1::IfcActorSelect v10_Owner, ::Ifc4x1::IfcActorSelect v11_User, ::Ifc4x1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -7324,7 +7324,7 @@ void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[60]); } -void Ifc4x1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x1::IfcAsymmetricIShapeProfileDef Ifc4x1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -7332,7 +7332,7 @@ void Ifc4x1::IfcAudioVisualAppliance::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x1::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X1_types[61]); } -void Ifc4x1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcAudioVisualAppliance Ifc4x1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -7340,7 +7340,7 @@ void Ifc4x1::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x1::IfcA const ifcopenshell::entity& Ifc4x1::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[62]); } -void Ifc4x1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcAudioVisualApplianceType Ifc4x1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x1::IfcDirection Ifc4x1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } @@ -7348,7 +7348,7 @@ void Ifc4x1::IfcAxis1Placement::setAxis(const ::Ifc4x1::IfcDirection& v) { set_a const ifcopenshell::entity& Ifc4x1::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[64]); } -void Ifc4x1::IfcAxis1Placement::initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x1::IfcAxis1Placement Ifc4x1::IfcAxis1Placement::initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x1::IfcDirection Ifc4x1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } @@ -7356,7 +7356,7 @@ void Ifc4x1::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x1::IfcDirection& const ifcopenshell::entity& Ifc4x1::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[66]); } -void Ifc4x1::IfcAxis2Placement2D::initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x1::IfcAxis2Placement2D Ifc4x1::IfcAxis2Placement2D::initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x1::IfcDirection Ifc4x1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcDirection>(); } @@ -7366,7 +7366,7 @@ void Ifc4x1::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x1::IfcDirection& const ifcopenshell::entity& Ifc4x1::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[67]); } -void Ifc4x1::IfcAxis2Placement3D::initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis, ::Ifc4x1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcAxis2Placement3D::initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis, ::Ifc4x1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -7382,7 +7382,7 @@ void Ifc4x1::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc4x1::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[96]); } -void Ifc4x1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x1::IfcBSplineCurve Ifc4x1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -7394,7 +7394,7 @@ void Ifc4x1::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x1::IfcKnotType:: const ifcopenshell::entity& Ifc4x1::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X1_types[98]); } -void Ifc4x1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x1::IfcBSplineCurveWithKnots Ifc4x1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -7414,7 +7414,7 @@ void Ifc4x1::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x1::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[99]); } -void Ifc4x1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x1::IfcBSplineSurface Ifc4x1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -7430,7 +7430,7 @@ void Ifc4x1::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x1::IfcKnotType const ifcopenshell::entity& Ifc4x1::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X1_types[101]); } -void Ifc4x1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x1::IfcBSplineSurfaceWithKnots Ifc4x1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > Ifc4x1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -7438,13 +7438,13 @@ void Ifc4x1::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x1::IfcBeamTy const ifcopenshell::entity& Ifc4x1::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X1_types[68]); } -void Ifc4x1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcBeam Ifc4x1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4x1::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[69]); } -void Ifc4x1::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcBeamStandardCase Ifc4x1::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x1::IfcBeamTypeEnum::Value Ifc4x1::IfcBeamType::PredefinedType() const { return ::Ifc4x1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -7452,7 +7452,7 @@ void Ifc4x1::IfcBeamType::setPredefinedType(const ::Ifc4x1::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[70]); } -void Ifc4x1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcBeamType Ifc4x1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -7462,7 +7462,7 @@ void Ifc4x1::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) { s const ifcopenshell::entity& Ifc4x1::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X1_types[75]); } -void Ifc4x1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x1::IfcBlobTexture Ifc4x1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -7474,7 +7474,7 @@ void Ifc4x1::IfcBlock::setZLength(const double& v) { set_attribute_value(3, v);i const ifcopenshell::entity& Ifc4x1::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X1_types[76]); } -void Ifc4x1::IfcBlock::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x1::IfcBlock Ifc4x1::IfcBlock::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > Ifc4x1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -7482,7 +7482,7 @@ void Ifc4x1::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x1::IfcBoil const ifcopenshell::entity& Ifc4x1::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X1_types[77]); } -void Ifc4x1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcBoiler Ifc4x1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x1::IfcBoilerTypeEnum::Value Ifc4x1::IfcBoilerType::PredefinedType() const { return ::Ifc4x1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -7490,13 +7490,13 @@ void Ifc4x1::IfcBoilerType::setPredefinedType(const ::Ifc4x1::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[78]); } -void Ifc4x1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcBoilerType Ifc4x1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x1::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X1_types[81]); } -void Ifc4x1::IfcBooleanClippingResult::initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x1::IfcBooleanClippingResult Ifc4x1::IfcBooleanClippingResult::initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanResult::Operator() const { return ::Ifc4x1::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -7508,7 +7508,7 @@ void Ifc4x1::IfcBooleanResult::setSecondOperand(const ::Ifc4x1::IfcBooleanOperan const ifcopenshell::entity& Ifc4x1::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X1_types[84]); } -void Ifc4x1::IfcBooleanResult::initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x1::IfcBooleanResult Ifc4x1::IfcBooleanResult::initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7516,13 +7516,13 @@ void Ifc4x1::IfcBoundaryCondition::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[85]); } -void Ifc4x1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcBoundaryCondition Ifc4x1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x1::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[86]); } -void Ifc4x1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x1::IfcBoundaryCurve Ifc4x1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -7540,7 +7540,7 @@ void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::I const ifcopenshell::entity& Ifc4x1::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[87]); } -void Ifc4x1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x1::IfcBoundaryEdgeCondition Ifc4x1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x1::IfcModulusOfSubgradeReactionSelect Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(); } @@ -7552,7 +7552,7 @@ void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const :: const ifcopenshell::entity& Ifc4x1::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[88]); } -void Ifc4x1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x1::IfcBoundaryFaceCondition Ifc4x1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x1::IfcTranslationalStiffnessSelect Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcTranslationalStiffnessSelect>(); } @@ -7570,7 +7570,7 @@ void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[89]); } -void Ifc4x1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x1::IfcBoundaryNodeCondition Ifc4x1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x1::IfcWarpingStiffnessSelect Ifc4x1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcWarpingStiffnessSelect>(); } @@ -7578,19 +7578,19 @@ void Ifc4x1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X1_types[90]); } -void Ifc4x1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x1::IfcBoundaryNodeConditionWarping Ifc4x1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x1::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[91]); } -void Ifc4x1::IfcBoundedCurve::initialize() { } +Ifc4x1::IfcBoundedCurve Ifc4x1::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x1::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[92]); } -void Ifc4x1::IfcBoundedSurface::initialize() { } +Ifc4x1::IfcBoundedSurface Ifc4x1::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } @@ -7604,7 +7604,7 @@ void Ifc4x1::IfcBoundingBox::setZDim(const double& v) { set_attribute_value(3, v const ifcopenshell::entity& Ifc4x1::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X1_types[93]); } -void Ifc4x1::IfcBoundingBox::initialize(::Ifc4x1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x1::IfcBoundingBox Ifc4x1::IfcBoundingBox::initialize(::Ifc4x1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x1::IfcBoundingBox Ifc4x1::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcBoundingBox>(); } @@ -7612,7 +7612,7 @@ void Ifc4x1::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x1::IfcBoundingBox& v) const ifcopenshell::entity& Ifc4x1::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X1_types[95]); } -void Ifc4x1::IfcBoxedHalfSpace::initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x1::IfcBoxedHalfSpace Ifc4x1::IfcBoxedHalfSpace::initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -7624,13 +7624,13 @@ void Ifc4x1::IfcBuilding::setBuildingAddress(const ::Ifc4x1::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x1::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X1_types[102]); } -void Ifc4x1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x1::IfcBuilding Ifc4x1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElement const ifcopenshell::entity& Ifc4x1::IfcBuildingElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[103]); } -void Ifc4x1::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcBuildingElement Ifc4x1::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > Ifc4x1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -7638,7 +7638,7 @@ void Ifc4x1::IfcBuildingElementPart::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x1::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X1_types[104]); } -void Ifc4x1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcBuildingElementPart Ifc4x1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value Ifc4x1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -7646,7 +7646,7 @@ void Ifc4x1::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x1::IfcBu const ifcopenshell::entity& Ifc4x1::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[105]); } -void Ifc4x1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcBuildingElementPartType Ifc4x1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -7654,7 +7654,7 @@ void Ifc4x1::IfcBuildingElementProxy::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x1::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X1_types[107]); } -void Ifc4x1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcBuildingElementProxy Ifc4x1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value Ifc4x1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -7662,13 +7662,13 @@ void Ifc4x1::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x1::IfcB const ifcopenshell::entity& Ifc4x1::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[108]); } -void Ifc4x1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcBuildingElementProxyType Ifc4x1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementType const ifcopenshell::entity& Ifc4x1::IfcBuildingElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[110]); } -void Ifc4x1::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcBuildingElementType Ifc4x1::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -7676,7 +7676,7 @@ void Ifc4x1::IfcBuildingStorey::setElevation(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x1::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X1_types[111]); } -void Ifc4x1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x1::IfcBuildingStorey Ifc4x1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > Ifc4x1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -7686,7 +7686,7 @@ void Ifc4x1::IfcBuildingSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[112]); } -void Ifc4x1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x1::IfcBuildingSystem Ifc4x1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > Ifc4x1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -7694,7 +7694,7 @@ void Ifc4x1::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x1::IfcBurn const ifcopenshell::entity& Ifc4x1::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X1_types[114]); } -void Ifc4x1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcBurner Ifc4x1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x1::IfcBurnerTypeEnum::Value Ifc4x1::IfcBurnerType::PredefinedType() const { return ::Ifc4x1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -7702,7 +7702,7 @@ void Ifc4x1::IfcBurnerType::setPredefinedType(const ::Ifc4x1::IfcBurnerTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[115]); } -void Ifc4x1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcBurnerType Ifc4x1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -7718,7 +7718,7 @@ void Ifc4x1::IfcCShapeProfileDef::setInternalFilletRadius(const std::optional< d const ifcopenshell::entity& Ifc4x1::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[243]); } -void Ifc4x1::IfcCShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x1::IfcCShapeProfileDef Ifc4x1::IfcCShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -7726,7 +7726,7 @@ void Ifc4x1::IfcCableCarrierFitting::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x1::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[117]); } -void Ifc4x1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCableCarrierFitting Ifc4x1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value Ifc4x1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -7734,7 +7734,7 @@ void Ifc4x1::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x1::IfcCa const ifcopenshell::entity& Ifc4x1::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[118]); } -void Ifc4x1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCableCarrierFittingType Ifc4x1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7742,7 +7742,7 @@ void Ifc4x1::IfcCableCarrierSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x1::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[120]); } -void Ifc4x1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCableCarrierSegment Ifc4x1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -7750,7 +7750,7 @@ void Ifc4x1::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x1::IfcCa const ifcopenshell::entity& Ifc4x1::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[121]); } -void Ifc4x1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCableCarrierSegmentType Ifc4x1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > Ifc4x1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -7758,7 +7758,7 @@ void Ifc4x1::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[123]); } -void Ifc4x1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCableFitting Ifc4x1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x1::IfcCableFittingTypeEnum::Value Ifc4x1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -7766,7 +7766,7 @@ void Ifc4x1::IfcCableFittingType::setPredefinedType(const ::Ifc4x1::IfcCableFitt const ifcopenshell::entity& Ifc4x1::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[124]); } -void Ifc4x1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCableFittingType Ifc4x1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > Ifc4x1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7774,7 +7774,7 @@ void Ifc4x1::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[126]); } -void Ifc4x1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCableSegment Ifc4x1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x1::IfcCableSegmentTypeEnum::Value Ifc4x1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -7782,7 +7782,7 @@ void Ifc4x1::IfcCableSegmentType::setPredefinedType(const ::Ifc4x1::IfcCableSegm const ifcopenshell::entity& Ifc4x1::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[127]); } -void Ifc4x1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCableSegmentType Ifc4x1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -7790,13 +7790,13 @@ void Ifc4x1::IfcCartesianPoint::setCoordinates(const std::vector< double > /*[1: const ifcopenshell::entity& Ifc4x1::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X1_types[130]); } -void Ifc4x1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x1::IfcCartesianPoint Ifc4x1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x1::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X1_types[131]); } -void Ifc4x1::IfcCartesianPointList::initialize() { } +Ifc4x1::IfcCartesianPointList Ifc4x1::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -7806,7 +7806,7 @@ void Ifc4x1::IfcCartesianPointList2D::setTagList(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x1::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[132]); } -void Ifc4x1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x1::IfcCartesianPointList2D Ifc4x1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -7816,7 +7816,7 @@ void Ifc4x1::IfcCartesianPointList3D::setTagList(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x1::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[133]); } -void Ifc4x1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x1::IfcCartesianPointList3D Ifc4x1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x1::IfcDirection Ifc4x1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcDirection>(); } @@ -7830,13 +7830,13 @@ void Ifc4x1::IfcCartesianTransformationOperator::setScale(const std::optional< d const ifcopenshell::entity& Ifc4x1::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[134]); } -void Ifc4x1::IfcCartesianTransformationOperator::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x1::IfcCartesianTransformationOperator Ifc4x1::IfcCartesianTransformationOperator::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x1::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[135]); } -void Ifc4x1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x1::IfcCartesianTransformationOperator2D Ifc4x1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -7844,7 +7844,7 @@ void Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::setScale2(const std const ifcopenshell::entity& Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X1_types[136]); } -void Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x1::IfcCartesianTransformationOperator2DnonUniform Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x1::IfcDirection Ifc4x1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcDirection>(); } @@ -7852,7 +7852,7 @@ void Ifc4x1::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x1::IfcD const ifcopenshell::entity& Ifc4x1::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[137]); } -void Ifc4x1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x1::IfcCartesianTransformationOperator3D Ifc4x1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -7862,7 +7862,7 @@ void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale3(const std const ifcopenshell::entity& Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X1_types[138]); } -void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x1::IfcCartesianTransformationOperator3DnonUniform Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -7870,7 +7870,7 @@ void Ifc4x1::IfcCenterLineProfileDef::setThickness(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[139]); } -void Ifc4x1::IfcCenterLineProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x1::IfcCenterLineProfileDef Ifc4x1::IfcCenterLineProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > Ifc4x1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -7878,7 +7878,7 @@ void Ifc4x1::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x1::IfcChi const ifcopenshell::entity& Ifc4x1::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X1_types[141]); } -void Ifc4x1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcChiller Ifc4x1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x1::IfcChillerTypeEnum::Value Ifc4x1::IfcChillerType::PredefinedType() const { return ::Ifc4x1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -7886,7 +7886,7 @@ void Ifc4x1::IfcChillerType::setPredefinedType(const ::Ifc4x1::IfcChillerTypeEnu const ifcopenshell::entity& Ifc4x1::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[142]); } -void Ifc4x1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcChillerType Ifc4x1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > Ifc4x1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -7894,7 +7894,7 @@ void Ifc4x1::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x1::IfcChi const ifcopenshell::entity& Ifc4x1::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X1_types[144]); } -void Ifc4x1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcChimney Ifc4x1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x1::IfcChimneyTypeEnum::Value Ifc4x1::IfcChimneyType::PredefinedType() const { return ::Ifc4x1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -7902,7 +7902,7 @@ void Ifc4x1::IfcChimneyType::setPredefinedType(const ::Ifc4x1::IfcChimneyTypeEnu const ifcopenshell::entity& Ifc4x1::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[145]); } -void Ifc4x1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcChimneyType Ifc4x1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -7910,7 +7910,7 @@ void Ifc4x1::IfcCircle::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc4x1::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[147]); } -void Ifc4x1::IfcCircle::initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x1::IfcCircle Ifc4x1::IfcCircle::initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -7918,7 +7918,7 @@ void Ifc4x1::IfcCircleHollowProfileDef::setWallThickness(const double& v) { set_ const ifcopenshell::entity& Ifc4x1::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[148]); } -void Ifc4x1::IfcCircleHollowProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x1::IfcCircleHollowProfileDef Ifc4x1::IfcCircleHollowProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -7926,7 +7926,7 @@ void Ifc4x1::IfcCircleProfileDef::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x1::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[149]); } -void Ifc4x1::IfcCircleProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x1::IfcCircleProfileDef Ifc4x1::IfcCircleProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCircularArcSegment2D double Ifc4x1::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } @@ -7936,19 +7936,19 @@ void Ifc4x1::IfcCircularArcSegment2D::setIsCCW(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4x1::IfcCircularArcSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[150]); } -void Ifc4x1::IfcCircularArcSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW)); } +Ifc4x1::IfcCircularArcSegment2D Ifc4x1::IfcCircularArcSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x1::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[151]); } -void Ifc4x1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcCivilElement Ifc4x1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x1::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[152]); } -void Ifc4x1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcCivilElementType Ifc4x1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7970,7 +7970,7 @@ std::vector<::Ifc4x1::IfcRelAssociatesClassification> Ifc4x1::IfcClassification: std::vector<::Ifc4x1::IfcClassificationReference> Ifc4x1::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[154], 3)); } const ifcopenshell::entity& Ifc4x1::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X1_types[153]); } -void Ifc4x1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x1::IfcClassification Ifc4x1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x1::IfcClassificationReferenceSelect Ifc4x1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcClassificationReferenceSelect>(); } @@ -7984,13 +7984,13 @@ std::vector<::Ifc4x1::IfcRelAssociatesClassification> Ifc4x1::IfcClassificationR std::vector<::Ifc4x1::IfcClassificationReference> Ifc4x1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[154], 3)); } const ifcopenshell::entity& Ifc4x1::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X1_types[154]); } -void Ifc4x1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x1::IfcClassificationReference Ifc4x1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x1::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X1_types[157]); } -void Ifc4x1::IfcClosedShell::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x1::IfcClosedShell Ifc4x1::IfcClosedShell::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > Ifc4x1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -7998,7 +7998,7 @@ void Ifc4x1::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x1::IfcCoilTy const ifcopenshell::entity& Ifc4x1::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X1_types[158]); } -void Ifc4x1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCoil Ifc4x1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x1::IfcCoilTypeEnum::Value Ifc4x1::IfcCoilType::PredefinedType() const { return ::Ifc4x1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -8006,7 +8006,7 @@ void Ifc4x1::IfcCoilType::setPredefinedType(const ::Ifc4x1::IfcCoilTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[159]); } -void Ifc4x1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCoilType Ifc4x1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -8018,7 +8018,7 @@ void Ifc4x1::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, v); const ifcopenshell::entity& Ifc4x1::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X1_types[163]); } -void Ifc4x1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x1::IfcColourRgb Ifc4x1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8026,7 +8026,7 @@ void Ifc4x1::IfcColourRgbList::setColourList(const std::vector< std::vector< dou const ifcopenshell::entity& Ifc4x1::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X1_types[164]); } -void Ifc4x1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x1::IfcColourRgbList Ifc4x1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8034,7 +8034,7 @@ void Ifc4x1::IfcColourSpecification::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X1_types[165]); } -void Ifc4x1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcColourSpecification Ifc4x1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > Ifc4x1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -8042,13 +8042,13 @@ void Ifc4x1::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x1::IfcColu const ifcopenshell::entity& Ifc4x1::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X1_types[166]); } -void Ifc4x1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcColumn Ifc4x1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4x1::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[167]); } -void Ifc4x1::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcColumnStandardCase Ifc4x1::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x1::IfcColumnTypeEnum::Value Ifc4x1::IfcColumnType::PredefinedType() const { return ::Ifc4x1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -8056,7 +8056,7 @@ void Ifc4x1::IfcColumnType::setPredefinedType(const ::Ifc4x1::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[168]); } -void Ifc4x1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcColumnType Ifc4x1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8064,7 +8064,7 @@ void Ifc4x1::IfcCommunicationsAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X1_types[170]); } -void Ifc4x1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCommunicationsAppliance Ifc4x1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8072,7 +8072,7 @@ void Ifc4x1::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[171]); } -void Ifc4x1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCommunicationsApplianceType Ifc4x1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -8082,7 +8082,7 @@ void Ifc4x1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X1_types[174]); } -void Ifc4x1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x1::IfcComplexProperty Ifc4x1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -8094,7 +8094,7 @@ void Ifc4x1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::opti const ifcopenshell::entity& Ifc4x1::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[175]); } -void Ifc4x1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x1::IfcComplexPropertyTemplate Ifc4x1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x1::IfcCompositeCurveSegment > Ifc4x1::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcCompositeCurveSegment>(es); } @@ -8104,13 +8104,13 @@ void Ifc4x1::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x1::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[177]); } -void Ifc4x1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x1::IfcCompositeCurve Ifc4x1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x1::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[178]); } -void Ifc4x1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x1::IfcCompositeCurveOnSurface Ifc4x1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment ::Ifc4x1::IfcTransitionCode::Value Ifc4x1::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x1::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -8123,7 +8123,7 @@ void Ifc4x1::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x1::IfcCurve& std::vector<::Ifc4x1::IfcCompositeCurve> Ifc4x1::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[177], 0)); } const ifcopenshell::entity& Ifc4x1::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[179]); } -void Ifc4x1::IfcCompositeCurveSegment::initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x1::IfcCompositeCurveSegment Ifc4x1::IfcCompositeCurveSegment::initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x1::IfcProfileDef > Ifc4x1::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcProfileDef>(es); } @@ -8133,7 +8133,7 @@ void Ifc4x1::IfcCompositeProfileDef::setLabel(const std::optional< std::string > const ifcopenshell::entity& Ifc4x1::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[180]); } -void Ifc4x1::IfcCompositeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x1::IfcCompositeProfileDef Ifc4x1::IfcCompositeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > Ifc4x1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -8141,7 +8141,7 @@ void Ifc4x1::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[182]); } -void Ifc4x1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCompressor Ifc4x1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x1::IfcCompressorTypeEnum::Value Ifc4x1::IfcCompressorType::PredefinedType() const { return ::Ifc4x1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -8149,7 +8149,7 @@ void Ifc4x1::IfcCompressorType::setPredefinedType(const ::Ifc4x1::IfcCompressorT const ifcopenshell::entity& Ifc4x1::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[183]); } -void Ifc4x1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCompressorType Ifc4x1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > Ifc4x1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -8157,7 +8157,7 @@ void Ifc4x1::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x1::IfcC const ifcopenshell::entity& Ifc4x1::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X1_types[185]); } -void Ifc4x1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCondenser Ifc4x1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x1::IfcCondenserTypeEnum::Value Ifc4x1::IfcCondenserType::PredefinedType() const { return ::Ifc4x1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -8165,7 +8165,7 @@ void Ifc4x1::IfcCondenserType::setPredefinedType(const ::Ifc4x1::IfcCondenserTyp const ifcopenshell::entity& Ifc4x1::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[186]); } -void Ifc4x1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCondenserType Ifc4x1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement>(); } @@ -8173,7 +8173,7 @@ void Ifc4x1::IfcConic::setPosition(const ::Ifc4x1::IfcAxis2Placement& v) { set_a const ifcopenshell::entity& Ifc4x1::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X1_types[188]); } -void Ifc4x1::IfcConic::initialize(::Ifc4x1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x1::IfcConic Ifc4x1::IfcConic::initialize(::Ifc4x1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x1::IfcFace > Ifc4x1::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcFace>(es); } @@ -8181,7 +8181,7 @@ void Ifc4x1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x1::IfcFa const ifcopenshell::entity& Ifc4x1::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[189]); } -void Ifc4x1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x1::IfcConnectedFaceSet Ifc4x1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x1::IfcCurveOrEdgeCurve Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurveOrEdgeCurve>(); } @@ -8191,13 +8191,13 @@ void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X1_types[190]); } -void Ifc4x1::IfcConnectionCurveGeometry::initialize(::Ifc4x1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x1::IfcConnectionCurveGeometry Ifc4x1::IfcConnectionCurveGeometry::initialize(::Ifc4x1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x1::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X1_types[191]); } -void Ifc4x1::IfcConnectionGeometry::initialize() { } +Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -8209,7 +8209,7 @@ void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInZ(const std::optio const ifcopenshell::entity& Ifc4x1::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[192]); } -void Ifc4x1::IfcConnectionPointEccentricity::initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x1::IfcConnectionPointEccentricity Ifc4x1::IfcConnectionPointEccentricity::initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x1::IfcPointOrVertexPoint Ifc4x1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcPointOrVertexPoint>(); } @@ -8219,7 +8219,7 @@ void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X1_types[193]); } -void Ifc4x1::IfcConnectionPointGeometry::initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x1::IfcConnectionPointGeometry Ifc4x1::IfcConnectionPointGeometry::initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x1::IfcSurfaceOrFaceSurface Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurfaceOrFaceSurface>(); } @@ -8229,7 +8229,7 @@ void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x1::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X1_types[194]); } -void Ifc4x1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x1::IfcConnectionSurfaceGeometry Ifc4x1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x1::IfcSolidOrShell Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSolidOrShell>(); } @@ -8239,7 +8239,7 @@ void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X1_types[196]); } -void Ifc4x1::IfcConnectionVolumeGeometry::initialize(::Ifc4x1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x1::IfcConnectionVolumeGeometry Ifc4x1::IfcConnectionVolumeGeometry::initialize(::Ifc4x1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8261,7 +8261,7 @@ std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcConstraint::H std::vector<::Ifc4x1::IfcResourceConstraintRelationship> Ifc4x1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[875], 2)); } const ifcopenshell::entity& Ifc4x1::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X1_types[197]); } -void Ifc4x1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x1::IfcConstraint Ifc4x1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8269,7 +8269,7 @@ void Ifc4x1::IfcConstructionEquipmentResource::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x1::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[199]); } -void Ifc4x1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcConstructionEquipmentResource Ifc4x1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8277,7 +8277,7 @@ void Ifc4x1::IfcConstructionEquipmentResourceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x1::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[200]); } -void Ifc4x1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcConstructionEquipmentResourceType Ifc4x1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8285,7 +8285,7 @@ void Ifc4x1::IfcConstructionMaterialResource::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x1::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[202]); } -void Ifc4x1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcConstructionMaterialResource Ifc4x1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8293,7 +8293,7 @@ void Ifc4x1::IfcConstructionMaterialResourceType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[203]); } -void Ifc4x1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcConstructionMaterialResourceType Ifc4x1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8301,7 +8301,7 @@ void Ifc4x1::IfcConstructionProductResource::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x1::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[205]); } -void Ifc4x1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcConstructionProductResource Ifc4x1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value Ifc4x1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8309,7 +8309,7 @@ void Ifc4x1::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[206]); } -void Ifc4x1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcConstructionProductResourceType Ifc4x1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x1::IfcResourceTime Ifc4x1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcResourceTime>(); } @@ -8321,7 +8321,7 @@ void Ifc4x1::IfcConstructionResource::setBaseQuantity(const ::Ifc4x1::IfcPhysica const ifcopenshell::entity& Ifc4x1::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[208]); } -void Ifc4x1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x1::IfcConstructionResource Ifc4x1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > Ifc4x1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x1::IfcAppliedValue>(es); } @@ -8331,7 +8331,7 @@ void Ifc4x1::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x1::IfcPhy const ifcopenshell::entity& Ifc4x1::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[209]); } -void Ifc4x1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x1::IfcConstructionResourceType Ifc4x1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -8349,7 +8349,7 @@ std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcContext::IsDefinedBy std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[849], 4)); } const ifcopenshell::entity& Ifc4x1::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X1_types[210]); } -void Ifc4x1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x1::IfcContext Ifc4x1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -8358,7 +8358,7 @@ void Ifc4x1::IfcContextDependentUnit::setName(const std::string& v) { set_attrib std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[212]); } -void Ifc4x1::IfcContextDependentUnit::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x1::IfcContextDependentUnit Ifc4x1::IfcContextDependentUnit::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8367,7 +8367,7 @@ void Ifc4x1::IfcControl::setIdentification(const std::optional< std::string >& v std::vector<::Ifc4x1::IfcRelAssignsToControl> Ifc4x1::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[823], 6)); } const ifcopenshell::entity& Ifc4x1::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X1_types[213]); } -void Ifc4x1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x1::IfcControl Ifc4x1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > Ifc4x1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -8375,7 +8375,7 @@ void Ifc4x1::IfcController::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X1_types[214]); } -void Ifc4x1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcController Ifc4x1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x1::IfcControllerTypeEnum::Value Ifc4x1::IfcControllerType::PredefinedType() const { return ::Ifc4x1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -8383,7 +8383,7 @@ void Ifc4x1::IfcControllerType::setPredefinedType(const ::Ifc4x1::IfcControllerT const ifcopenshell::entity& Ifc4x1::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[215]); } -void Ifc4x1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcControllerType Ifc4x1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -8394,7 +8394,7 @@ void Ifc4x1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x1::IfcMeas std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[217]); } -void Ifc4x1::IfcConversionBasedUnit::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x1::IfcConversionBasedUnit Ifc4x1::IfcConversionBasedUnit::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -8402,7 +8402,7 @@ void Ifc4x1::IfcConversionBasedUnitWithOffset::setConversionOffset(const double& const ifcopenshell::entity& Ifc4x1::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X1_types[218]); } -void Ifc4x1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x1::IfcConversionBasedUnitWithOffset Ifc4x1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > Ifc4x1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8410,7 +8410,7 @@ void Ifc4x1::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X1_types[219]); } -void Ifc4x1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCooledBeam Ifc4x1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x1::IfcCooledBeamTypeEnum::Value Ifc4x1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8418,7 +8418,7 @@ void Ifc4x1::IfcCooledBeamType::setPredefinedType(const ::Ifc4x1::IfcCooledBeamT const ifcopenshell::entity& Ifc4x1::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[220]); } -void Ifc4x1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCooledBeamType Ifc4x1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > Ifc4x1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -8426,7 +8426,7 @@ void Ifc4x1::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X1_types[222]); } -void Ifc4x1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCoolingTower Ifc4x1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x1::IfcCoolingTowerTypeEnum::Value Ifc4x1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -8434,7 +8434,7 @@ void Ifc4x1::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x1::IfcCoolingTo const ifcopenshell::entity& Ifc4x1::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[223]); } -void Ifc4x1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCoolingTowerType Ifc4x1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x1::IfcCoordinateReferenceSystemSelect Ifc4x1::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCoordinateReferenceSystemSelect>(); } @@ -8444,7 +8444,7 @@ void Ifc4x1::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x1::IfcCoordinateR const ifcopenshell::entity& Ifc4x1::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[225]); } -void Ifc4x1::IfcCoordinateOperation::initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x1::IfcCoordinateOperation Ifc4x1::IfcCoordinateOperation::initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x1::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8459,7 +8459,7 @@ void Ifc4x1::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::vector<::Ifc4x1::IfcCoordinateOperation> Ifc4x1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[225], 0)); } const ifcopenshell::entity& Ifc4x1::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[226]); } -void Ifc4x1::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x1::IfcCoordinateReferenceSystem Ifc4x1::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > Ifc4x1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -8471,7 +8471,7 @@ void Ifc4x1::IfcCostItem::setCostQuantities(const std::optional< std::vector< :: const ifcopenshell::entity& Ifc4x1::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[228]); } -void Ifc4x1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x1::IfcCostItem Ifc4x1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > Ifc4x1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -8485,13 +8485,13 @@ void Ifc4x1::IfcCostSchedule::setUpdateDate(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X1_types[230]); } -void Ifc4x1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x1::IfcCostSchedule Ifc4x1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x1::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[232]); } -void Ifc4x1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x1::IfcCostValue Ifc4x1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > Ifc4x1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -8501,7 +8501,7 @@ std::vector<::Ifc4x1::IfcRelCoversSpaces> Ifc4x1::IfcCovering::CoversSpaces() co std::vector<::Ifc4x1::IfcRelCoversBldgElements> Ifc4x1::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[847], 5)); } const ifcopenshell::entity& Ifc4x1::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X1_types[234]); } -void Ifc4x1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCovering Ifc4x1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x1::IfcCoveringTypeEnum::Value Ifc4x1::IfcCoveringType::PredefinedType() const { return ::Ifc4x1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -8509,7 +8509,7 @@ void Ifc4x1::IfcCoveringType::setPredefinedType(const ::Ifc4x1::IfcCoveringTypeE const ifcopenshell::entity& Ifc4x1::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[235]); } -void Ifc4x1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCoveringType Ifc4x1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > Ifc4x1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8517,7 +8517,7 @@ void Ifc4x1::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[237]); } -void Ifc4x1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcCrewResource Ifc4x1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x1::IfcCrewResourceTypeEnum::Value Ifc4x1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8525,7 +8525,7 @@ void Ifc4x1::IfcCrewResourceType::setPredefinedType(const ::Ifc4x1::IfcCrewResou const ifcopenshell::entity& Ifc4x1::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[238]); } -void Ifc4x1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcCrewResourceType Ifc4x1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement3D>(); } @@ -8533,7 +8533,7 @@ void Ifc4x1::IfcCsgPrimitive3D::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4x1::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[240]); } -void Ifc4x1::IfcCsgPrimitive3D::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x1::IfcCsgPrimitive3D Ifc4x1::IfcCsgPrimitive3D::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x1::IfcCsgSelect Ifc4x1::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCsgSelect>(); } @@ -8541,7 +8541,7 @@ void Ifc4x1::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x1::IfcCsgSelect& v) const ifcopenshell::entity& Ifc4x1::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[242]); } -void Ifc4x1::IfcCsgSolid::initialize(::Ifc4x1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x1::IfcCsgSolid Ifc4x1::IfcCsgSolid::initialize(::Ifc4x1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x1::IfcMonetaryUnit Ifc4x1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcMonetaryUnit>(); } @@ -8557,7 +8557,7 @@ void Ifc4x1::IfcCurrencyRelationship::setRateSource(const ::Ifc4x1::IfcLibraryIn const ifcopenshell::entity& Ifc4x1::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[244]); } -void Ifc4x1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x1::IfcCurrencyRelationship Ifc4x1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > Ifc4x1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -8565,7 +8565,7 @@ void Ifc4x1::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X1_types[245]); } -void Ifc4x1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcCurtainWall Ifc4x1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x1::IfcCurtainWallTypeEnum::Value Ifc4x1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -8573,13 +8573,13 @@ void Ifc4x1::IfcCurtainWallType::setPredefinedType(const ::Ifc4x1::IfcCurtainWal const ifcopenshell::entity& Ifc4x1::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[246]); } -void Ifc4x1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcCurtainWallType Ifc4x1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x1::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[249]); } -void Ifc4x1::IfcCurve::initialize() { } +Ifc4x1::IfcCurve Ifc4x1::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x1::IfcPlane Ifc4x1::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcPlane>(); } @@ -8591,7 +8591,7 @@ void Ifc4x1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X1_types[250]); } -void Ifc4x1::IfcCurveBoundedPlane::initialize(::Ifc4x1::IfcPlane v1_BasisSurface, ::Ifc4x1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x1::IfcCurveBoundedPlane Ifc4x1::IfcCurveBoundedPlane::initialize(::Ifc4x1::IfcPlane v1_BasisSurface, ::Ifc4x1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x1::IfcSurface Ifc4x1::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } @@ -8603,7 +8603,7 @@ void Ifc4x1::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attri const ifcopenshell::entity& Ifc4x1::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[251]); } -void Ifc4x1::IfcCurveBoundedSurface::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x1::IfcCurveBoundedSurface Ifc4x1::IfcCurveBoundedSurface::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment2D ::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcCurveSegment2D::StartPoint() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } @@ -8615,7 +8615,7 @@ void Ifc4x1::IfcCurveSegment2D::setSegmentLength(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x1::IfcCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[256]); } -void Ifc4x1::IfcCurveSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x1::IfcCurveSegment2D Ifc4x1::IfcCurveSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect Ifc4x1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -8629,7 +8629,7 @@ void Ifc4x1::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4x1::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[257]); } -void Ifc4x1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x1::IfcSizeSelect v3_CurveWidth, ::Ifc4x1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x1::IfcCurveStyle Ifc4x1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x1::IfcSizeSelect v3_CurveWidth, ::Ifc4x1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8639,7 +8639,7 @@ void Ifc4x1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x1::IfcC const ifcopenshell::entity& Ifc4x1::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[258]); } -void Ifc4x1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x1::IfcCurveStyleFont Ifc4x1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8651,7 +8651,7 @@ void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { const ifcopenshell::entity& Ifc4x1::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X1_types[259]); } -void Ifc4x1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x1::IfcCurveStyleFontAndScaling Ifc4x1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -8661,7 +8661,7 @@ void Ifc4x1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const double& v const ifcopenshell::entity& Ifc4x1::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X1_types[260]); } -void Ifc4x1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x1::IfcCurveStyleFontPattern Ifc4x1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -8669,7 +8669,7 @@ void Ifc4x1::IfcCylindricalSurface::setRadius(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x1::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[262]); } -void Ifc4x1::IfcCylindricalSurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x1::IfcCylindricalSurface Ifc4x1::IfcCylindricalSurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > Ifc4x1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -8677,7 +8677,7 @@ void Ifc4x1::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x1::IfcDamp const ifcopenshell::entity& Ifc4x1::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X1_types[263]); } -void Ifc4x1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcDamper Ifc4x1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x1::IfcDamperTypeEnum::Value Ifc4x1::IfcDamperType::PredefinedType() const { return ::Ifc4x1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -8685,7 +8685,7 @@ void Ifc4x1::IfcDamperType::setPredefinedType(const ::Ifc4x1::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[264]); } -void Ifc4x1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcDamperType Ifc4x1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x1::IfcProfileDef Ifc4x1::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcProfileDef>(); } @@ -8697,7 +8697,7 @@ void Ifc4x1::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[273]); } -void Ifc4x1::IfcDerivedProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x1::IfcDerivedProfileDef Ifc4x1::IfcDerivedProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x1::IfcDerivedUnitElement > Ifc4x1::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcDerivedUnitElement>(es); } @@ -8709,7 +8709,7 @@ void Ifc4x1::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string const ifcopenshell::entity& Ifc4x1::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[274]); } -void Ifc4x1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4x1::IfcDerivedUnit Ifc4x1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x1::IfcNamedUnit Ifc4x1::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcNamedUnit>(); } @@ -8719,7 +8719,7 @@ void Ifc4x1::IfcDerivedUnitElement::setExponent(const int& v) { set_attribute_va const ifcopenshell::entity& Ifc4x1::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[275]); } -void Ifc4x1::IfcDerivedUnitElement::initialize(::Ifc4x1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x1::IfcDerivedUnitElement Ifc4x1::IfcDerivedUnitElement::initialize(::Ifc4x1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -8739,7 +8739,7 @@ void Ifc4x1::IfcDimensionalExponents::setLuminousIntensityExponent(const int& v) const ifcopenshell::entity& Ifc4x1::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X1_types[278]); } -void Ifc4x1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x1::IfcDimensionalExponents Ifc4x1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -8747,7 +8747,7 @@ void Ifc4x1::IfcDirection::setDirectionRatios(const std::vector< double > /*[2:3 const ifcopenshell::entity& Ifc4x1::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[280]); } -void Ifc4x1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x1::IfcDirection Ifc4x1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -8755,7 +8755,7 @@ void Ifc4x1::IfcDiscreteAccessory::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X1_types[282]); } -void Ifc4x1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcDiscreteAccessory Ifc4x1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -8763,7 +8763,7 @@ void Ifc4x1::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x1::IfcDisc const ifcopenshell::entity& Ifc4x1::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[283]); } -void Ifc4x1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcDiscreteAccessoryType Ifc4x1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistanceExpression double Ifc4x1::IfcDistanceExpression::DistanceAlong() const { double v = get_attribute_value(0); return v; } @@ -8779,7 +8779,7 @@ void Ifc4x1::IfcDistanceExpression::setAlongHorizontal(const std::optional< bool const ifcopenshell::entity& Ifc4x1::IfcDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X1_types[285]); } -void Ifc4x1::IfcDistanceExpression::initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); } } +Ifc4x1::IfcDistanceExpression Ifc4x1::IfcDistanceExpression::initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -8787,7 +8787,7 @@ void Ifc4x1::IfcDistributionChamberElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[286]); } -void Ifc4x1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcDistributionChamberElement Ifc4x1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value Ifc4x1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -8795,52 +8795,52 @@ void Ifc4x1::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[287]); } -void Ifc4x1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcDistributionChamberElementType Ifc4x1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x1::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[289]); } -void Ifc4x1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x1::IfcDistributionCircuit Ifc4x1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x1::IfcRelFlowControlElements> Ifc4x1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[857], 4)); } const ifcopenshell::entity& Ifc4x1::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[290]); } -void Ifc4x1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcDistributionControlElement Ifc4x1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x1::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[291]); } -void Ifc4x1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcDistributionControlElementType Ifc4x1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x1::IfcRelConnectsPortToElement> Ifc4x1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[841], 5)); } const ifcopenshell::entity& Ifc4x1::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[292]); } -void Ifc4x1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcDistributionElement Ifc4x1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x1::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[293]); } -void Ifc4x1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcDistributionElementType Ifc4x1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x1::IfcRelFlowControlElements> Ifc4x1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[857], 5)); } const ifcopenshell::entity& Ifc4x1::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[294]); } -void Ifc4x1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcDistributionFlowElement Ifc4x1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x1::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[295]); } -void Ifc4x1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcDistributionFlowElementType Ifc4x1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > Ifc4x1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -8852,7 +8852,7 @@ void Ifc4x1::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X1_types[296]); } -void Ifc4x1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x1::IfcDistributionPort Ifc4x1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8862,7 +8862,7 @@ void Ifc4x1::IfcDistributionSystem::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x1::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[298]); } -void Ifc4x1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x1::IfcDistributionSystem Ifc4x1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -8906,7 +8906,7 @@ std::vector<::Ifc4x1::IfcDocumentInformationRelationship> Ifc4x1::IfcDocumentInf std::vector<::Ifc4x1::IfcDocumentInformationRelationship> Ifc4x1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[302], 2)); } const ifcopenshell::entity& Ifc4x1::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[301]); } -void Ifc4x1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x1::IfcDocumentInformation Ifc4x1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x1::IfcDocumentInformation Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcDocumentInformation>(); } @@ -8918,7 +8918,7 @@ void Ifc4x1::IfcDocumentInformationRelationship::setRelationshipType(const std:: const ifcopenshell::entity& Ifc4x1::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[302]); } -void Ifc4x1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x1::IfcDocumentInformationRelationship Ifc4x1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -8929,7 +8929,7 @@ void Ifc4x1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x1::IfcDocu std::vector<::Ifc4x1::IfcRelAssociatesDocument> Ifc4x1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[833], 5)); } const ifcopenshell::entity& Ifc4x1::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X1_types[303]); } -void Ifc4x1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x1::IfcDocumentReference Ifc4x1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -8945,7 +8945,7 @@ void Ifc4x1::IfcDoor::setUserDefinedOperationType(const std::optional< std::stri const ifcopenshell::entity& Ifc4x1::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[306]); } -void Ifc4x1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x1::IfcDoor Ifc4x1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8977,7 +8977,7 @@ void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[307]); } -void Ifc4x1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x1::IfcDoorLiningProperties Ifc4x1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8993,13 +8993,13 @@ void Ifc4x1::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x1::IfcShap const ifcopenshell::entity& Ifc4x1::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[310]); } -void Ifc4x1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x1::IfcDoorPanelProperties Ifc4x1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4x1::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[311]); } -void Ifc4x1::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x1::IfcDoorStandardCase Ifc4x1::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4x1::IfcDoorStyleOperationEnum::Value Ifc4x1::IfcDoorStyle::OperationType() const { return ::Ifc4x1::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -9013,7 +9013,7 @@ void Ifc4x1::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value(11, const ifcopenshell::entity& Ifc4x1::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[312]); } -void Ifc4x1::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x1::IfcDoorStyle Ifc4x1::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4x1::IfcDoorTypeEnum::Value Ifc4x1::IfcDoorType::PredefinedType() const { return ::Ifc4x1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -9027,19 +9027,19 @@ void Ifc4x1::IfcDoorType::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x1::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[315]); } -void Ifc4x1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x1::IfcDoorType Ifc4x1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x1::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X1_types[319]); } -void Ifc4x1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x1::IfcDraughtingPreDefinedColour Ifc4x1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x1::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[320]); } -void Ifc4x1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x1::IfcDraughtingPreDefinedCurveFont Ifc4x1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > Ifc4x1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -9047,7 +9047,7 @@ void Ifc4x1::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[321]); } -void Ifc4x1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcDuctFitting Ifc4x1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x1::IfcDuctFittingTypeEnum::Value Ifc4x1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -9055,7 +9055,7 @@ void Ifc4x1::IfcDuctFittingType::setPredefinedType(const ::Ifc4x1::IfcDuctFittin const ifcopenshell::entity& Ifc4x1::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[322]); } -void Ifc4x1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcDuctFittingType Ifc4x1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > Ifc4x1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9063,7 +9063,7 @@ void Ifc4x1::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[324]); } -void Ifc4x1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcDuctSegment Ifc4x1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x1::IfcDuctSegmentTypeEnum::Value Ifc4x1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9071,7 +9071,7 @@ void Ifc4x1::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x1::IfcDuctSegmen const ifcopenshell::entity& Ifc4x1::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[325]); } -void Ifc4x1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcDuctSegmentType Ifc4x1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > Ifc4x1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -9079,7 +9079,7 @@ void Ifc4x1::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X1_types[327]); } -void Ifc4x1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcDuctSilencer Ifc4x1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x1::IfcDuctSilencerTypeEnum::Value Ifc4x1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -9087,7 +9087,7 @@ void Ifc4x1::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x1::IfcDuctSilen const ifcopenshell::entity& Ifc4x1::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[328]); } -void Ifc4x1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcDuctSilencerType Ifc4x1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEdge ::Ifc4x1::IfcVertex Ifc4x1::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcVertex>(); } @@ -9097,7 +9097,7 @@ void Ifc4x1::IfcEdge::setEdgeEnd(const ::Ifc4x1::IfcVertex& v) { set_attribute_v const ifcopenshell::entity& Ifc4x1::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X1_types[332]); } -void Ifc4x1::IfcEdge::initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x1::IfcEdge Ifc4x1::IfcEdge::initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x1::IfcCurve Ifc4x1::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } @@ -9107,7 +9107,7 @@ void Ifc4x1::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x1::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[333]); } -void Ifc4x1::IfcEdgeCurve::initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x1::IfcEdgeCurve Ifc4x1::IfcEdgeCurve::initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x1::IfcOrientedEdge > Ifc4x1::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcOrientedEdge>(es); } @@ -9115,7 +9115,7 @@ void Ifc4x1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEd const ifcopenshell::entity& Ifc4x1::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X1_types[334]); } -void Ifc4x1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x1::IfcEdgeLoop Ifc4x1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > Ifc4x1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9123,7 +9123,7 @@ void Ifc4x1::IfcElectricAppliance::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X1_types[335]); } -void Ifc4x1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcElectricAppliance Ifc4x1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x1::IfcElectricApplianceTypeEnum::Value Ifc4x1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9131,7 +9131,7 @@ void Ifc4x1::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x1::IfcElec const ifcopenshell::entity& Ifc4x1::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[336]); } -void Ifc4x1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElectricApplianceType Ifc4x1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9139,7 +9139,7 @@ void Ifc4x1::IfcElectricDistributionBoard::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x1::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X1_types[342]); } -void Ifc4x1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcElectricDistributionBoard Ifc4x1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9147,7 +9147,7 @@ void Ifc4x1::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[343]); } -void Ifc4x1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElectricDistributionBoardType Ifc4x1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -9155,7 +9155,7 @@ void Ifc4x1::IfcElectricFlowStorageDevice::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x1::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[345]); } -void Ifc4x1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcElectricFlowStorageDevice Ifc4x1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -9163,7 +9163,7 @@ void Ifc4x1::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[346]); } -void Ifc4x1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElectricFlowStorageDeviceType Ifc4x1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > Ifc4x1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -9171,7 +9171,7 @@ void Ifc4x1::IfcElectricGenerator::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[348]); } -void Ifc4x1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcElectricGenerator Ifc4x1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value Ifc4x1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -9179,7 +9179,7 @@ void Ifc4x1::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x1::IfcElec const ifcopenshell::entity& Ifc4x1::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[349]); } -void Ifc4x1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElectricGeneratorType Ifc4x1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > Ifc4x1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -9187,7 +9187,7 @@ void Ifc4x1::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[351]); } -void Ifc4x1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcElectricMotor Ifc4x1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x1::IfcElectricMotorTypeEnum::Value Ifc4x1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -9195,7 +9195,7 @@ void Ifc4x1::IfcElectricMotorType::setPredefinedType(const ::Ifc4x1::IfcElectric const ifcopenshell::entity& Ifc4x1::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[352]); } -void Ifc4x1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElectricMotorType Ifc4x1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > Ifc4x1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -9203,7 +9203,7 @@ void Ifc4x1::IfcElectricTimeControl::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x1::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X1_types[355]); } -void Ifc4x1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcElectricTimeControl Ifc4x1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value Ifc4x1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -9211,7 +9211,7 @@ void Ifc4x1::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x1::IfcEl const ifcopenshell::entity& Ifc4x1::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[356]); } -void Ifc4x1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElectricTimeControlType Ifc4x1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -9231,7 +9231,7 @@ std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcElement::Con std::vector<::Ifc4x1::IfcRelCoversBldgElements> Ifc4x1::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[847], 4)); } const ifcopenshell::entity& Ifc4x1::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[359]); } -void Ifc4x1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcElement Ifc4x1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > Ifc4x1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -9241,7 +9241,7 @@ void Ifc4x1::IfcElementAssembly::setPredefinedType(const std::optional< ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X1_types[361]); } -void Ifc4x1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x1::IfcElementAssembly Ifc4x1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x1::IfcElementAssemblyTypeEnum::Value Ifc4x1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -9249,19 +9249,19 @@ void Ifc4x1::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x1::IfcElemen const ifcopenshell::entity& Ifc4x1::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[362]); } -void Ifc4x1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcElementAssemblyType Ifc4x1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x1::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X1_types[364]); } -void Ifc4x1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcElementComponent Ifc4x1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x1::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[365]); } -void Ifc4x1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcElementComponentType Ifc4x1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9271,7 +9271,7 @@ void Ifc4x1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x1::IfcP const ifcopenshell::entity& Ifc4x1::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[367]); } -void Ifc4x1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x1::IfcElementQuantity Ifc4x1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -9279,7 +9279,7 @@ void Ifc4x1::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[368]); } -void Ifc4x1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcElementType Ifc4x1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement3D>(); } @@ -9287,7 +9287,7 @@ void Ifc4x1::IfcElementarySurface::setPosition(const ::Ifc4x1::IfcAxis2Placement const ifcopenshell::entity& Ifc4x1::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[360]); } -void Ifc4x1::IfcElementarySurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x1::IfcElementarySurface Ifc4x1::IfcElementarySurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -9297,7 +9297,7 @@ void Ifc4x1::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value(2, const ifcopenshell::entity& Ifc4x1::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X1_types[369]); } -void Ifc4x1::IfcEllipse::initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x1::IfcEllipse Ifc4x1::IfcEllipse::initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -9307,19 +9307,19 @@ void Ifc4x1::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x1::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[370]); } -void Ifc4x1::IfcEllipseProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x1::IfcEllipseProfileDef Ifc4x1::IfcEllipseProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x1::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[371]); } -void Ifc4x1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcEnergyConversionDevice Ifc4x1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x1::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[372]); } -void Ifc4x1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcEnergyConversionDeviceType Ifc4x1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > Ifc4x1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -9327,7 +9327,7 @@ void Ifc4x1::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x1::IfcEngi const ifcopenshell::entity& Ifc4x1::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X1_types[374]); } -void Ifc4x1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcEngine Ifc4x1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x1::IfcEngineTypeEnum::Value Ifc4x1::IfcEngineType::PredefinedType() const { return ::Ifc4x1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -9335,7 +9335,7 @@ void Ifc4x1::IfcEngineType::setPredefinedType(const ::Ifc4x1::IfcEngineTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[375]); } -void Ifc4x1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcEngineType Ifc4x1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -9343,7 +9343,7 @@ void Ifc4x1::IfcEvaporativeCooler::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X1_types[377]); } -void Ifc4x1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcEvaporativeCooler Ifc4x1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -9351,7 +9351,7 @@ void Ifc4x1::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x1::IfcEvap const ifcopenshell::entity& Ifc4x1::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[378]); } -void Ifc4x1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcEvaporativeCoolerType Ifc4x1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > Ifc4x1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -9359,7 +9359,7 @@ void Ifc4x1::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[380]); } -void Ifc4x1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcEvaporator Ifc4x1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x1::IfcEvaporatorTypeEnum::Value Ifc4x1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -9367,7 +9367,7 @@ void Ifc4x1::IfcEvaporatorType::setPredefinedType(const ::Ifc4x1::IfcEvaporatorT const ifcopenshell::entity& Ifc4x1::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[381]); } -void Ifc4x1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcEvaporatorType Ifc4x1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x1::IfcEventTypeEnum::Value > Ifc4x1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -9381,7 +9381,7 @@ void Ifc4x1::IfcEvent::setEventOccurenceTime(const ::Ifc4x1::IfcEventTime& v) { const ifcopenshell::entity& Ifc4x1::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X1_types[383]); } -void Ifc4x1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x1::IfcEvent Ifc4x1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9395,7 +9395,7 @@ void Ifc4x1::IfcEventTime::setScheduleDate(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[384]); } -void Ifc4x1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x1::IfcEventTime Ifc4x1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x1::IfcEventTypeEnum::Value Ifc4x1::IfcEventType::PredefinedType() const { return ::Ifc4x1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -9407,7 +9407,7 @@ void Ifc4x1::IfcEventType::setUserDefinedEventTriggerType(const std::optional< s const ifcopenshell::entity& Ifc4x1::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[386]); } -void Ifc4x1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x1::IfcEventType Ifc4x1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9419,13 +9419,13 @@ void Ifc4x1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[388]); } -void Ifc4x1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x1::IfcExtendedProperties Ifc4x1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x1::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[389]); } -void Ifc4x1::IfcExternalInformation::initialize() { } +Ifc4x1::IfcExternalInformation Ifc4x1::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9438,7 +9438,7 @@ void Ifc4x1::IfcExternalReference::setName(const std::optional< std::string >& v std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 2)); } const ifcopenshell::entity& Ifc4x1::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X1_types[393]); } -void Ifc4x1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x1::IfcExternalReference Ifc4x1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x1::IfcExternalReference Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcExternalReference>(); } @@ -9448,7 +9448,7 @@ void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(const s const ifcopenshell::entity& Ifc4x1::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[394]); } -void Ifc4x1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x1::IfcExternalReferenceRelationship Ifc4x1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9457,31 +9457,31 @@ void Ifc4x1::IfcExternalSpatialElement::setPredefinedType(const std::optional< : std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[864], 4)); } const ifcopenshell::entity& Ifc4x1::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[395]); } -void Ifc4x1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcExternalSpatialElement Ifc4x1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x1::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[397]); } -void Ifc4x1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x1::IfcExternalSpatialStructureElement Ifc4x1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x1::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[390]); } -void Ifc4x1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x1::IfcExternallyDefinedHatchStyle Ifc4x1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x1::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[391]); } -void Ifc4x1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x1::IfcExternallyDefinedSurfaceStyle Ifc4x1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x1::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[392]); } -void Ifc4x1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x1::IfcExternallyDefinedTextFont Ifc4x1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x1::IfcDirection Ifc4x1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcDirection>(); } @@ -9491,7 +9491,7 @@ void Ifc4x1::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x1::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[398]); } -void Ifc4x1::IfcExtrudedAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x1::IfcExtrudedAreaSolid Ifc4x1::IfcExtrudedAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x1::IfcProfileDef Ifc4x1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcProfileDef>(); } @@ -9499,7 +9499,7 @@ void Ifc4x1::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x1::IfcPro const ifcopenshell::entity& Ifc4x1::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X1_types[399]); } -void Ifc4x1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x1::IfcExtrudedAreaSolidTapered Ifc4x1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x1::IfcFaceBound > Ifc4x1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcFaceBound>(es); } @@ -9508,7 +9508,7 @@ void Ifc4x1::IfcFace::setBounds(const std::vector< ::Ifc4x1::IfcFaceBound >& v) std::vector<::Ifc4x1::IfcTextureMap> Ifc4x1::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[1093], 2)); } const ifcopenshell::entity& Ifc4x1::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X1_types[400]); } -void Ifc4x1::IfcFace::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x1::IfcFace Ifc4x1::IfcFace::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x1::IfcConnectedFaceSet > Ifc4x1::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcConnectedFaceSet>(es); } @@ -9516,7 +9516,7 @@ void Ifc4x1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[401]); } -void Ifc4x1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x1::IfcFaceBasedSurfaceModel Ifc4x1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x1::IfcLoop Ifc4x1::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcLoop>(); } @@ -9526,13 +9526,13 @@ void Ifc4x1::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1 const ifcopenshell::entity& Ifc4x1::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X1_types[402]); } -void Ifc4x1::IfcFaceBound::initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x1::IfcFaceBound Ifc4x1::IfcFaceBound::initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x1::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X1_types[403]); } -void Ifc4x1::IfcFaceOuterBound::initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x1::IfcFaceOuterBound Ifc4x1::IfcFaceOuterBound::initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x1::IfcSurface Ifc4x1::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcSurface>(); } @@ -9542,13 +9542,13 @@ void Ifc4x1::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2 const ifcopenshell::entity& Ifc4x1::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[404]); } -void Ifc4x1::IfcFaceSurface::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x1::IfcFaceSurface Ifc4x1::IfcFaceSurface::initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x1::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X1_types[405]); } -void Ifc4x1::IfcFacetedBrep::initialize(::Ifc4x1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x1::IfcFacetedBrep Ifc4x1::IfcFacetedBrep::initialize(::Ifc4x1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x1::IfcClosedShell > Ifc4x1::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcClosedShell>(es); } @@ -9556,7 +9556,7 @@ void Ifc4x1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x1::IfcC const ifcopenshell::entity& Ifc4x1::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[406]); } -void Ifc4x1::IfcFacetedBrepWithVoids::initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x1::IfcFacetedBrepWithVoids Ifc4x1::IfcFacetedBrepWithVoids::initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -9574,7 +9574,7 @@ void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureZ(const std::op const ifcopenshell::entity& Ifc4x1::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[407]); } -void Ifc4x1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x1::IfcFailureConnectionCondition Ifc4x1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x1::IfcFanTypeEnum::Value > Ifc4x1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -9582,7 +9582,7 @@ void Ifc4x1::IfcFan::setPredefinedType(const std::optional< ::Ifc4x1::IfcFanType const ifcopenshell::entity& Ifc4x1::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X1_types[408]); } -void Ifc4x1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFan Ifc4x1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x1::IfcFanTypeEnum::Value Ifc4x1::IfcFanType::PredefinedType() const { return ::Ifc4x1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -9590,7 +9590,7 @@ void Ifc4x1::IfcFanType::setPredefinedType(const ::Ifc4x1::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc4x1::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[409]); } -void Ifc4x1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFanType Ifc4x1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > Ifc4x1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -9598,7 +9598,7 @@ void Ifc4x1::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x1::IfcFa const ifcopenshell::entity& Ifc4x1::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X1_types[411]); } -void Ifc4x1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFastener Ifc4x1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x1::IfcFastenerTypeEnum::Value Ifc4x1::IfcFastenerType::PredefinedType() const { return ::Ifc4x1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -9606,27 +9606,27 @@ void Ifc4x1::IfcFastenerType::setPredefinedType(const ::Ifc4x1::IfcFastenerTypeE const ifcopenshell::entity& Ifc4x1::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[412]); } -void Ifc4x1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFastenerType Ifc4x1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x1::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[414]); } -void Ifc4x1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFeatureElement Ifc4x1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x1::IfcRelProjectsElement> Ifc4x1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[860], 5)); } const ifcopenshell::entity& Ifc4x1::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[415]); } -void Ifc4x1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFeatureElementAddition Ifc4x1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x1::IfcRelVoidsElement> Ifc4x1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[867], 5)); } const ifcopenshell::entity& Ifc4x1::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[416]); } -void Ifc4x1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFeatureElementSubtraction Ifc4x1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x1::IfcFillStyleSelect > Ifc4x1::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcFillStyleSelect>(es); } @@ -9636,7 +9636,7 @@ void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x1::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[417]); } -void Ifc4x1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); } } +Ifc4x1::IfcFillAreaStyle Ifc4x1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x1::IfcCurveStyle Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurveStyle>(); } @@ -9652,7 +9652,7 @@ void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_ const ifcopenshell::entity& Ifc4x1::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X1_types[418]); } -void Ifc4x1::IfcFillAreaStyleHatching::initialize(::Ifc4x1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x1::IfcFillAreaStyleHatching Ifc4x1::IfcFillAreaStyleHatching::initialize(::Ifc4x1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x1::IfcVector > Ifc4x1::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcVector>(es); } @@ -9664,7 +9664,7 @@ void Ifc4x1::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X1_types[419]); } -void Ifc4x1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x1::IfcFillAreaStyleTiles Ifc4x1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > Ifc4x1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -9672,7 +9672,7 @@ void Ifc4x1::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x1::IfcFilt const ifcopenshell::entity& Ifc4x1::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X1_types[421]); } -void Ifc4x1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFilter Ifc4x1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x1::IfcFilterTypeEnum::Value Ifc4x1::IfcFilterType::PredefinedType() const { return ::Ifc4x1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -9680,7 +9680,7 @@ void Ifc4x1::IfcFilterType::setPredefinedType(const ::Ifc4x1::IfcFilterTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[422]); } -void Ifc4x1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFilterType Ifc4x1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -9688,7 +9688,7 @@ void Ifc4x1::IfcFireSuppressionTerminal::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[424]); } -void Ifc4x1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFireSuppressionTerminal Ifc4x1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -9696,7 +9696,7 @@ void Ifc4x1::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[425]); } -void Ifc4x1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFireSuppressionTerminalType Ifc4x1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x1::IfcCurve Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } @@ -9710,31 +9710,31 @@ void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[427]); } -void Ifc4x1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference)); } +Ifc4x1::IfcFixedReferenceSweptAreaSolid Ifc4x1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x1::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X1_types[428]); } -void Ifc4x1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowController Ifc4x1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x1::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[429]); } -void Ifc4x1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowControllerType Ifc4x1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x1::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[431]); } -void Ifc4x1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowFitting Ifc4x1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x1::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[432]); } -void Ifc4x1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowFittingType Ifc4x1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > Ifc4x1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -9742,7 +9742,7 @@ void Ifc4x1::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X1_types[433]); } -void Ifc4x1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFlowInstrument Ifc4x1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value Ifc4x1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -9750,7 +9750,7 @@ void Ifc4x1::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x1::IfcFlowIns const ifcopenshell::entity& Ifc4x1::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[434]); } -void Ifc4x1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFlowInstrumentType Ifc4x1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > Ifc4x1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -9758,7 +9758,7 @@ void Ifc4x1::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x1::IfcF const ifcopenshell::entity& Ifc4x1::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X1_types[436]); } -void Ifc4x1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFlowMeter Ifc4x1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x1::IfcFlowMeterTypeEnum::Value Ifc4x1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -9766,67 +9766,67 @@ void Ifc4x1::IfcFlowMeterType::setPredefinedType(const ::Ifc4x1::IfcFlowMeterTyp const ifcopenshell::entity& Ifc4x1::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[437]); } -void Ifc4x1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFlowMeterType Ifc4x1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x1::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[439]); } -void Ifc4x1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowMovingDevice Ifc4x1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x1::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[440]); } -void Ifc4x1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowMovingDeviceType Ifc4x1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x1::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[441]); } -void Ifc4x1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowSegment Ifc4x1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x1::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[442]); } -void Ifc4x1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowSegmentType Ifc4x1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x1::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[443]); } -void Ifc4x1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowStorageDevice Ifc4x1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x1::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[444]); } -void Ifc4x1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowStorageDeviceType Ifc4x1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x1::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[445]); } -void Ifc4x1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowTerminal Ifc4x1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x1::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[446]); } -void Ifc4x1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowTerminalType Ifc4x1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x1::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[447]); } -void Ifc4x1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFlowTreatmentDevice Ifc4x1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x1::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[448]); } -void Ifc4x1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFlowTreatmentDeviceType Ifc4x1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > Ifc4x1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -9834,7 +9834,7 @@ void Ifc4x1::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x1::IfcFoo const ifcopenshell::entity& Ifc4x1::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[452]); } -void Ifc4x1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFooting Ifc4x1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x1::IfcFootingTypeEnum::Value Ifc4x1::IfcFootingType::PredefinedType() const { return ::Ifc4x1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -9842,19 +9842,19 @@ void Ifc4x1::IfcFootingType::setPredefinedType(const ::Ifc4x1::IfcFootingTypeEnu const ifcopenshell::entity& Ifc4x1::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[453]); } -void Ifc4x1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcFootingType Ifc4x1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x1::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[457]); } -void Ifc4x1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcFurnishingElement Ifc4x1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x1::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[458]); } -void Ifc4x1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcFurnishingElementType Ifc4x1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -9862,7 +9862,7 @@ void Ifc4x1::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x1::IfcF const ifcopenshell::entity& Ifc4x1::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X1_types[459]); } -void Ifc4x1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcFurniture Ifc4x1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x1::IfcAssemblyPlaceEnum::Value Ifc4x1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -9872,7 +9872,7 @@ void Ifc4x1::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[460]); } -void Ifc4x1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcFurnitureType Ifc4x1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > Ifc4x1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9880,7 +9880,7 @@ void Ifc4x1::IfcGeographicElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[462]); } -void Ifc4x1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcGeographicElement Ifc4x1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x1::IfcGeographicElementTypeEnum::Value Ifc4x1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9888,13 +9888,13 @@ void Ifc4x1::IfcGeographicElementType::setPredefinedType(const ::Ifc4x1::IfcGeog const ifcopenshell::entity& Ifc4x1::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[463]); } -void Ifc4x1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcGeographicElementType Ifc4x1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x1::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[465]); } -void Ifc4x1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x1::IfcGeometricCurveSet Ifc4x1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -9910,13 +9910,13 @@ std::vector<::Ifc4x1::IfcGeometricRepresentationSubContext> Ifc4x1::IfcGeometric std::vector<::Ifc4x1::IfcCoordinateOperation> Ifc4x1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[225], 0)); } const ifcopenshell::entity& Ifc4x1::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X1_types[467]); } -void Ifc4x1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x1::IfcGeometricRepresentationContext Ifc4x1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x1::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[468]); } -void Ifc4x1::IfcGeometricRepresentationItem::initialize() { } +Ifc4x1::IfcGeometricRepresentationItem Ifc4x1::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x1::IfcGeometricRepresentationContext Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcGeometricRepresentationContext>(); } @@ -9930,7 +9930,7 @@ void Ifc4x1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(cons const ifcopenshell::entity& Ifc4x1::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X1_types[469]); } -void Ifc4x1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x1::IfcGeometricRepresentationSubContext Ifc4x1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x1::IfcGeometricSetSelect > Ifc4x1::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcGeometricSetSelect>(es); } @@ -9938,7 +9938,7 @@ void Ifc4x1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x1::IfcGeomet const ifcopenshell::entity& Ifc4x1::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[470]); } -void Ifc4x1::IfcGeometricSet::initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x1::IfcGeometricSet Ifc4x1::IfcGeometricSet::initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x1::IfcGridAxis > Ifc4x1::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } @@ -9952,7 +9952,7 @@ void Ifc4x1::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x1::IfcGridTy const ifcopenshell::entity& Ifc4x1::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[474]); } -void Ifc4x1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcGrid Ifc4x1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9968,7 +9968,7 @@ std::vector<::Ifc4x1::IfcGrid> Ifc4x1::IfcGridAxis::PartOfU() const { return cas std::vector<::Ifc4x1::IfcVirtualGridIntersection> Ifc4x1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[1163], 0)); } const ifcopenshell::entity& Ifc4x1::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X1_types[475]); } -void Ifc4x1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x1::IfcGridAxis Ifc4x1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x1::IfcVirtualGridIntersection Ifc4x1::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcVirtualGridIntersection>(); } @@ -9978,14 +9978,14 @@ void Ifc4x1::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x1::IfcGridP const ifcopenshell::entity& Ifc4x1::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[476]); } -void Ifc4x1::IfcGridPlacement::initialize(::Ifc4x1::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4x1::IfcGridPlacementDirectionSelect v2_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementLocation));set_attribute_value(1, (v2_PlacementRefDirection)); } +Ifc4x1::IfcGridPlacement Ifc4x1::IfcGridPlacement::initialize(::Ifc4x1::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4x1::IfcGridPlacementDirectionSelect v2_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementLocation));set_attribute_value(1, (v2_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4x1::IfcRelAssignsToGroup> Ifc4x1::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[824], 6)); } const ifcopenshell::entity& Ifc4x1::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X1_types[479]); } -void Ifc4x1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x1::IfcGroup Ifc4x1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x1::IfcSurface Ifc4x1::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } @@ -9995,7 +9995,7 @@ void Ifc4x1::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x1::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[480]); } -void Ifc4x1::IfcHalfSpaceSolid::initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x1::IfcHalfSpaceSolid Ifc4x1::IfcHalfSpaceSolid::initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > Ifc4x1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -10003,7 +10003,7 @@ void Ifc4x1::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X1_types[482]); } -void Ifc4x1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcHeatExchanger Ifc4x1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x1::IfcHeatExchangerTypeEnum::Value Ifc4x1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -10011,7 +10011,7 @@ void Ifc4x1::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x1::IfcHeatExch const ifcopenshell::entity& Ifc4x1::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[483]); } -void Ifc4x1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcHeatExchangerType Ifc4x1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > Ifc4x1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -10019,7 +10019,7 @@ void Ifc4x1::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X1_types[487]); } -void Ifc4x1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcHumidifier Ifc4x1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x1::IfcHumidifierTypeEnum::Value Ifc4x1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -10027,7 +10027,7 @@ void Ifc4x1::IfcHumidifierType::setPredefinedType(const ::Ifc4x1::IfcHumidifierT const ifcopenshell::entity& Ifc4x1::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[488]); } -void Ifc4x1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcHumidifierType Ifc4x1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -10047,7 +10047,7 @@ void Ifc4x1::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x1::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[512]); } -void Ifc4x1::IfcIShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x1::IfcIShapeProfileDef Ifc4x1::IfcIShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -10055,7 +10055,7 @@ void Ifc4x1::IfcImageTexture::setURLReference(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X1_types[492]); } -void Ifc4x1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x1::IfcImageTexture Ifc4x1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x1::IfcTessellatedFaceSet Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcTessellatedFaceSet>(); } @@ -10069,7 +10069,7 @@ void Ifc4x1::IfcIndexedColourMap::setColourIndex(const std::vector< int > /*[1:? const ifcopenshell::entity& Ifc4x1::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[493]); } -void Ifc4x1::IfcIndexedColourMap::initialize(::Ifc4x1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x1::IfcIndexedColourMap Ifc4x1::IfcIndexedColourMap::initialize(::Ifc4x1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x1::IfcCartesianPointList Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPointList>(); } @@ -10081,7 +10081,7 @@ void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& const ifcopenshell::entity& Ifc4x1::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[494]); } -void Ifc4x1::IfcIndexedPolyCurve::initialize(::Ifc4x1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x1::IfcIndexedPolyCurve Ifc4x1::IfcIndexedPolyCurve::initialize(::Ifc4x1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -10090,7 +10090,7 @@ void Ifc4x1::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[ std::vector<::Ifc4x1::IfcPolygonalFaceSet> Ifc4x1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[700], 2)); } const ifcopenshell::entity& Ifc4x1::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X1_types[495]); } -void Ifc4x1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x1::IfcIndexedPolygonalFace Ifc4x1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -10098,7 +10098,7 @@ void Ifc4x1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const std::v const ifcopenshell::entity& Ifc4x1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X1_types[496]); } -void Ifc4x1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x1::IfcIndexedPolygonalFaceWithVoids Ifc4x1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x1::IfcTessellatedFaceSet Ifc4x1::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcTessellatedFaceSet>(); } @@ -10108,7 +10108,7 @@ void Ifc4x1::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x1::IfcTextureVertex const ifcopenshell::entity& Ifc4x1::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[497]); } -void Ifc4x1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x1::IfcIndexedTextureMap Ifc4x1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -10116,7 +10116,7 @@ void Ifc4x1::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[498]); } -void Ifc4x1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x1::IfcIndexedTriangleTextureMap Ifc4x1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > Ifc4x1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -10124,7 +10124,7 @@ void Ifc4x1::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[502]); } -void Ifc4x1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcInterceptor Ifc4x1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x1::IfcInterceptorTypeEnum::Value Ifc4x1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -10132,13 +10132,13 @@ void Ifc4x1::IfcInterceptorType::setPredefinedType(const ::Ifc4x1::IfcIntercepto const ifcopenshell::entity& Ifc4x1::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[503]); } -void Ifc4x1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcInterceptorType Ifc4x1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x1::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[506]); } -void Ifc4x1::IfcIntersectionCurve::initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x1::IfcIntersectionCurve Ifc4x1::IfcIntersectionCurve::initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > Ifc4x1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -10156,7 +10156,7 @@ void Ifc4x1::IfcInventory::setOriginalValue(const ::Ifc4x1::IfcCostValue& v) { s const ifcopenshell::entity& Ifc4x1::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X1_types[507]); } -void Ifc4x1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x1::IfcCostValue v10_CurrentValue, ::Ifc4x1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x1::IfcInventory Ifc4x1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x1::IfcCostValue v10_CurrentValue, ::Ifc4x1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > Ifc4x1::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x1::IfcIrregularTimeSeriesValue>(es); } @@ -10164,7 +10164,7 @@ void Ifc4x1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x1::IfcI const ifcopenshell::entity& Ifc4x1::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X1_types[510]); } -void Ifc4x1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x1::IfcIrregularTimeSeries Ifc4x1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -10174,7 +10174,7 @@ void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x1::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[511]); } -void Ifc4x1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x1::IfcIrregularTimeSeriesValue Ifc4x1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > Ifc4x1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -10182,7 +10182,7 @@ void Ifc4x1::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X1_types[514]); } -void Ifc4x1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcJunctionBox Ifc4x1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x1::IfcJunctionBoxTypeEnum::Value Ifc4x1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -10190,7 +10190,7 @@ void Ifc4x1::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x1::IfcJunctionBo const ifcopenshell::entity& Ifc4x1::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[515]); } -void Ifc4x1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcJunctionBoxType Ifc4x1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -10208,7 +10208,7 @@ void Ifc4x1::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x1::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[562]); } -void Ifc4x1::IfcLShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x1::IfcLShapeProfileDef Ifc4x1::IfcLShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > Ifc4x1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -10216,7 +10216,7 @@ void Ifc4x1::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[520]); } -void Ifc4x1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcLaborResource Ifc4x1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x1::IfcLaborResourceTypeEnum::Value Ifc4x1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -10224,7 +10224,7 @@ void Ifc4x1::IfcLaborResourceType::setPredefinedType(const ::Ifc4x1::IfcLaborRes const ifcopenshell::entity& Ifc4x1::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[521]); } -void Ifc4x1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcLaborResourceType Ifc4x1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x1::IfcTimeOrRatioSelect Ifc4x1::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcTimeOrRatioSelect>(); } @@ -10234,7 +10234,7 @@ void Ifc4x1::IfcLagTime::setDurationType(const ::Ifc4x1::IfcTaskDurationEnum::Va const ifcopenshell::entity& Ifc4x1::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[523]); } -void Ifc4x1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x1::IfcLagTime Ifc4x1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x1::IfcLampTypeEnum::Value > Ifc4x1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -10242,7 +10242,7 @@ void Ifc4x1::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x1::IfcLampTy const ifcopenshell::entity& Ifc4x1::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X1_types[524]); } -void Ifc4x1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcLamp Ifc4x1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x1::IfcLampTypeEnum::Value Ifc4x1::IfcLampType::PredefinedType() const { return ::Ifc4x1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -10250,7 +10250,7 @@ void Ifc4x1::IfcLampType::setPredefinedType(const ::Ifc4x1::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[525]); } -void Ifc4x1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcLampType Ifc4x1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10270,7 +10270,7 @@ std::vector<::Ifc4x1::IfcRelAssociatesLibrary> Ifc4x1::IfcLibraryInformation::Li std::vector<::Ifc4x1::IfcLibraryReference> Ifc4x1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[532], 5)); } const ifcopenshell::entity& Ifc4x1::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[531]); } -void Ifc4x1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x1::IfcLibraryInformation Ifc4x1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10283,7 +10283,7 @@ void Ifc4x1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x1::IfcLibrar std::vector<::Ifc4x1::IfcRelAssociatesLibrary> Ifc4x1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[834], 5)); } const ifcopenshell::entity& Ifc4x1::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X1_types[532]); } -void Ifc4x1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x1::IfcLibraryReference Ifc4x1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -10295,7 +10295,7 @@ void Ifc4x1::IfcLightDistributionData::setLuminousIntensity(const std::vector< d const ifcopenshell::entity& Ifc4x1::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X1_types[535]); } -void Ifc4x1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x1::IfcLightDistributionData Ifc4x1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > Ifc4x1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -10303,7 +10303,7 @@ void Ifc4x1::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X1_types[538]); } -void Ifc4x1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcLightFixture Ifc4x1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x1::IfcLightFixtureTypeEnum::Value Ifc4x1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -10311,7 +10311,7 @@ void Ifc4x1::IfcLightFixtureType::setPredefinedType(const ::Ifc4x1::IfcLightFixt const ifcopenshell::entity& Ifc4x1::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[539]); } -void Ifc4x1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcLightFixtureType Ifc4x1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x1::IfcLightDistributionCurveEnum::Value Ifc4x1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -10321,7 +10321,7 @@ void Ifc4x1::IfcLightIntensityDistribution::setDistributionData(const std::vecto const ifcopenshell::entity& Ifc4x1::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X1_types[541]); } -void Ifc4x1::IfcLightIntensityDistribution::initialize(::Ifc4x1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x1::IfcLightIntensityDistribution Ifc4x1::IfcLightIntensityDistribution::initialize(::Ifc4x1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10335,13 +10335,13 @@ void Ifc4x1::IfcLightSource::setIntensity(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4x1::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[542]); } -void Ifc4x1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x1::IfcLightSource Ifc4x1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x1::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X1_types[543]); } -void Ifc4x1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x1::IfcLightSourceAmbient Ifc4x1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x1::IfcDirection Ifc4x1::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcDirection>(); } @@ -10349,7 +10349,7 @@ void Ifc4x1::IfcLightSourceDirectional::setOrientation(const ::Ifc4x1::IfcDirect const ifcopenshell::entity& Ifc4x1::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X1_types[544]); } -void Ifc4x1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x1::IfcLightSourceDirectional Ifc4x1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcAxis2Placement3D>(); } @@ -10367,7 +10367,7 @@ void Ifc4x1::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::I const ifcopenshell::entity& Ifc4x1::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X1_types[545]); } -void Ifc4x1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D v5_Position, ::Ifc4x1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x1::IfcLightSourceGoniometric Ifc4x1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D v5_Position, ::Ifc4x1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcCartesianPoint>(); } @@ -10383,7 +10383,7 @@ void Ifc4x1::IfcLightSourcePositional::setQuadricAttenuation(const double& v) { const ifcopenshell::entity& Ifc4x1::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X1_types[546]); } -void Ifc4x1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x1::IfcLightSourcePositional Ifc4x1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x1::IfcDirection Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcDirection>(); } @@ -10397,7 +10397,7 @@ void Ifc4x1::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X1_types[547]); } -void Ifc4x1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x1::IfcLightSourceSpot Ifc4x1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } @@ -10407,13 +10407,13 @@ void Ifc4x1::IfcLine::setDir(const ::Ifc4x1::IfcVector& v) { set_attribute_value const ifcopenshell::entity& Ifc4x1::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X1_types[548]); } -void Ifc4x1::IfcLine::initialize(::Ifc4x1::IfcCartesianPoint v1_Pnt, ::Ifc4x1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x1::IfcLine Ifc4x1::IfcLine::initialize(::Ifc4x1::IfcCartesianPoint v1_Pnt, ::Ifc4x1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLineSegment2D const ifcopenshell::entity& Ifc4x1::IfcLineSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[556]); } -void Ifc4x1::IfcLineSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x1::IfcLineSegment2D Ifc4x1::IfcLineSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x1::IfcCurve Ifc4x1::IfcLinearPlacement::PlacementRelTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -10427,7 +10427,7 @@ void Ifc4x1::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x1::IfcAxis2Pl const ifcopenshell::entity& Ifc4x1::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[551]); } -void Ifc4x1::IfcLinearPlacement::initialize(::Ifc4x1::IfcCurve v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression v2_Distance, ::Ifc4x1::IfcOrientationExpression v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D v4_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_Orientation));set_attribute_value(3, (v4_CartesianPosition)); } +Ifc4x1::IfcLinearPlacement Ifc4x1::IfcLinearPlacement::initialize(::Ifc4x1::IfcCurve v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression v2_Distance, ::Ifc4x1::IfcOrientationExpression v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D v4_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_Orientation));set_attribute_value(3, (v4_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement ::Ifc4x1::IfcCurve Ifc4x1::IfcLinearPositioningElement::Axis() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcCurve>(); } @@ -10435,7 +10435,7 @@ void Ifc4x1::IfcLinearPositioningElement::setAxis(const ::Ifc4x1::IfcCurve& v) { const ifcopenshell::entity& Ifc4x1::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[552]); } -void Ifc4x1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); } +Ifc4x1::IfcLinearPositioningElement Ifc4x1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x1::IfcObjectPlacement Ifc4x1::IfcLocalPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcObjectPlacement>(); } @@ -10445,13 +10445,13 @@ void Ifc4x1::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x1::IfcAxis2Pla const ifcopenshell::entity& Ifc4x1::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[558]); } -void Ifc4x1::IfcLocalPlacement::initialize(::Ifc4x1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x1::IfcLocalPlacement Ifc4x1::IfcLocalPlacement::initialize(::Ifc4x1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x1::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X1_types[561]); } -void Ifc4x1::IfcLoop::initialize() { } +Ifc4x1::IfcLoop Ifc4x1::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x1::IfcClosedShell Ifc4x1::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcClosedShell>(); } @@ -10459,7 +10459,7 @@ void Ifc4x1::IfcManifoldSolidBrep::setOuter(const ::Ifc4x1::IfcClosedShell& v) { const ifcopenshell::entity& Ifc4x1::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X1_types[568]); } -void Ifc4x1::IfcManifoldSolidBrep::initialize(::Ifc4x1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x1::IfcManifoldSolidBrep Ifc4x1::IfcManifoldSolidBrep::initialize(::Ifc4x1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -10477,7 +10477,7 @@ void Ifc4x1::IfcMapConversion::setScale(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc4x1::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X1_types[569]); } -void Ifc4x1::IfcMapConversion::initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4x1::IfcMapConversion Ifc4x1::IfcMapConversion::initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x1::IfcRepresentationMap Ifc4x1::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcRepresentationMap>(); } @@ -10487,7 +10487,7 @@ void Ifc4x1::IfcMappedItem::setMappingTarget(const ::Ifc4x1::IfcCartesianTransfo const ifcopenshell::entity& Ifc4x1::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[570]); } -void Ifc4x1::IfcMappedItem::initialize(::Ifc4x1::IfcRepresentationMap v1_MappingSource, ::Ifc4x1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x1::IfcMappedItem Ifc4x1::IfcMappedItem::initialize(::Ifc4x1::IfcRepresentationMap v1_MappingSource, ::Ifc4x1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMaterial std::string Ifc4x1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10502,7 +10502,7 @@ std::vector<::Ifc4x1::IfcMaterialRelationship> Ifc4x1::IfcMaterial::IsRelatedWit std::vector<::Ifc4x1::IfcMaterialRelationship> Ifc4x1::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[592], 2)); } const ifcopenshell::entity& Ifc4x1::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X1_types[575]); } -void Ifc4x1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x1::IfcMaterial Ifc4x1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x1::IfcClassificationSelect > Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcClassificationSelect>(es); } @@ -10512,7 +10512,7 @@ void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(const const ifcopenshell::entity& Ifc4x1::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[576]); } -void Ifc4x1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x1::IfcMaterialClassificationRelationship Ifc4x1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10529,7 +10529,7 @@ void Ifc4x1::IfcMaterialConstituent::setCategory(const std::optional< std::strin std::vector<::Ifc4x1::IfcMaterialConstituentSet> Ifc4x1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[578], 2)); } const ifcopenshell::entity& Ifc4x1::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X1_types[577]); } -void Ifc4x1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x1::IfcMaterialConstituent Ifc4x1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10541,7 +10541,7 @@ void Ifc4x1::IfcMaterialConstituentSet::setMaterialConstituents(const std::optio const ifcopenshell::entity& Ifc4x1::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[578]); } -void Ifc4x1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x1::IfcMaterialConstituentSet Ifc4x1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -10550,7 +10550,7 @@ std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcMaterialDefin std::vector<::Ifc4x1::IfcMaterialProperties> Ifc4x1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[591], 3)); } const ifcopenshell::entity& Ifc4x1::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[579]); } -void Ifc4x1::IfcMaterialDefinition::initialize() { } +Ifc4x1::IfcMaterialDefinition Ifc4x1::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcMaterial>(); } @@ -10558,7 +10558,7 @@ void Ifc4x1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const : const ifcopenshell::entity& Ifc4x1::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[580]); } -void Ifc4x1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations, ::Ifc4x1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x1::IfcMaterialDefinitionRepresentation Ifc4x1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations, ::Ifc4x1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x1::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcMaterial>(); } @@ -10579,7 +10579,7 @@ void Ifc4x1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if ( std::vector<::Ifc4x1::IfcMaterialLayerSet> Ifc4x1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[582], 0)); } const ifcopenshell::entity& Ifc4x1::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X1_types[581]); } -void Ifc4x1::IfcMaterialLayer::initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x1::IfcMaterialLayer Ifc4x1::IfcMaterialLayer::initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x1::IfcMaterialLayer > Ifc4x1::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcMaterialLayer>(es); } @@ -10591,7 +10591,7 @@ void Ifc4x1::IfcMaterialLayerSet::setDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x1::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[582]); } -void Ifc4x1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x1::IfcMaterialLayerSet Ifc4x1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x1::IfcMaterialLayerSet Ifc4x1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcMaterialLayerSet>(); } @@ -10607,7 +10607,7 @@ void Ifc4x1::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optional< d const ifcopenshell::entity& Ifc4x1::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X1_types[583]); } -void Ifc4x1::IfcMaterialLayerSetUsage::initialize(::Ifc4x1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x1::IfcMaterialLayerSetUsage Ifc4x1::IfcMaterialLayerSetUsage::initialize(::Ifc4x1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -10617,7 +10617,7 @@ void Ifc4x1::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< dou const ifcopenshell::entity& Ifc4x1::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X1_types[584]); } -void Ifc4x1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x1::IfcMaterialLayerWithOffsets Ifc4x1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x1::IfcMaterial > Ifc4x1::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcMaterial>(es); } @@ -10625,7 +10625,7 @@ void Ifc4x1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x1::IfcMater const ifcopenshell::entity& Ifc4x1::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X1_types[585]); } -void Ifc4x1::IfcMaterialList::initialize(std::vector< ::Ifc4x1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x1::IfcMaterialList Ifc4x1::IfcMaterialList::initialize(std::vector< ::Ifc4x1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10644,7 +10644,7 @@ void Ifc4x1::IfcMaterialProfile::setCategory(const std::optional< std::string >& std::vector<::Ifc4x1::IfcMaterialProfileSet> Ifc4x1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[587], 2)); } const ifcopenshell::entity& Ifc4x1::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X1_types[586]); } -void Ifc4x1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x1::IfcMaterialProfile Ifc4x1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10658,7 +10658,7 @@ void Ifc4x1::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x1::IfcCompo const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[587]); } -void Ifc4x1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x1::IfcMaterialProfileSet Ifc4x1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x1::IfcMaterialProfileSet Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcMaterialProfileSet>(); } @@ -10670,7 +10670,7 @@ void Ifc4x1::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X1_types[588]); } -void Ifc4x1::IfcMaterialProfileSetUsage::initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x1::IfcMaterialProfileSetUsage Ifc4x1::IfcMaterialProfileSetUsage::initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x1::IfcMaterialProfileSet Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcMaterialProfileSet>(); } @@ -10680,7 +10680,7 @@ void Ifc4x1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std:: const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X1_types[589]); } -void Ifc4x1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x1::IfcMaterialProfileSetUsageTapering Ifc4x1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -10688,7 +10688,7 @@ void Ifc4x1::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vector< d const ifcopenshell::entity& Ifc4x1::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X1_types[590]); } -void Ifc4x1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x1::IfcMaterialProfileWithOffsets Ifc4x1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x1::IfcMaterialDefinition Ifc4x1::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcMaterialDefinition>(); } @@ -10696,7 +10696,7 @@ void Ifc4x1::IfcMaterialProperties::setMaterial(const ::Ifc4x1::IfcMaterialDefin const ifcopenshell::entity& Ifc4x1::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[591]); } -void Ifc4x1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x1::IfcMaterialProperties Ifc4x1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x1::IfcMaterial Ifc4x1::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcMaterial>(); } @@ -10708,14 +10708,14 @@ void Ifc4x1::IfcMaterialRelationship::setExpression(const std::optional< std::st const ifcopenshell::entity& Ifc4x1::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[592]); } -void Ifc4x1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x1::IfcMaterialRelationship Ifc4x1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x1::IfcRelAssociatesMaterial> Ifc4x1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[835], 5)); } const ifcopenshell::entity& Ifc4x1::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[594]); } -void Ifc4x1::IfcMaterialUsageDefinition::initialize() { } +Ifc4x1::IfcMaterialUsageDefinition Ifc4x1::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x1::IfcValue Ifc4x1::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcValue>(); } @@ -10725,7 +10725,7 @@ void Ifc4x1::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x1::IfcUnit& v) { const ifcopenshell::entity& Ifc4x1::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[596]); } -void Ifc4x1::IfcMeasureWithUnit::initialize(::Ifc4x1::IfcValue v1_ValueComponent, ::Ifc4x1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x1::IfcMeasureWithUnit Ifc4x1::IfcMeasureWithUnit::initialize(::Ifc4x1::IfcValue v1_ValueComponent, ::Ifc4x1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10737,7 +10737,7 @@ void Ifc4x1::IfcMechanicalFastener::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x1::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X1_types[597]); } -void Ifc4x1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcMechanicalFastener Ifc4x1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value Ifc4x1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10749,7 +10749,7 @@ void Ifc4x1::IfcMechanicalFastenerType::setNominalLength(const std::optional< do const ifcopenshell::entity& Ifc4x1::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[598]); } -void Ifc4x1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x1::IfcMechanicalFastenerType Ifc4x1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > Ifc4x1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10757,7 +10757,7 @@ void Ifc4x1::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[600]); } -void Ifc4x1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcMedicalDevice Ifc4x1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value Ifc4x1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10765,7 +10765,7 @@ void Ifc4x1::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x1::IfcMedicalD const ifcopenshell::entity& Ifc4x1::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[601]); } -void Ifc4x1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcMedicalDeviceType Ifc4x1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > Ifc4x1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -10773,13 +10773,13 @@ void Ifc4x1::IfcMember::setPredefinedType(const std::optional< ::Ifc4x1::IfcMemb const ifcopenshell::entity& Ifc4x1::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X1_types[603]); } -void Ifc4x1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcMember Ifc4x1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4x1::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[604]); } -void Ifc4x1::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcMemberStandardCase Ifc4x1::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x1::IfcMemberTypeEnum::Value Ifc4x1::IfcMemberType::PredefinedType() const { return ::Ifc4x1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -10787,7 +10787,7 @@ void Ifc4x1::IfcMemberType::setPredefinedType(const ::Ifc4x1::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[605]); } -void Ifc4x1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcMemberType Ifc4x1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x1::IfcBenchmarkEnum::Value Ifc4x1::IfcMetric::Benchmark() const { return ::Ifc4x1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -10801,13 +10801,13 @@ void Ifc4x1::IfcMetric::setReferencePath(const ::Ifc4x1::IfcReference& v) { set_ const ifcopenshell::entity& Ifc4x1::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X1_types[607]); } -void Ifc4x1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x1::IfcMetricValueSelect v10_DataValue, ::Ifc4x1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x1::IfcMetric Ifc4x1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x1::IfcMetricValueSelect v10_DataValue, ::Ifc4x1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x1::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[609]); } -void Ifc4x1::IfcMirroredProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x1::IfcMirroredProfileDef Ifc4x1::IfcMirroredProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -10815,7 +10815,7 @@ void Ifc4x1::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attribute_ const ifcopenshell::entity& Ifc4x1::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[621]); } -void Ifc4x1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x1::IfcMonetaryUnit Ifc4x1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > Ifc4x1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -10823,7 +10823,7 @@ void Ifc4x1::IfcMotorConnection::setPredefinedType(const std::optional< ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[623]); } -void Ifc4x1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcMotorConnection Ifc4x1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x1::IfcMotorConnectionTypeEnum::Value Ifc4x1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -10831,7 +10831,7 @@ void Ifc4x1::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x1::IfcMotorC const ifcopenshell::entity& Ifc4x1::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[624]); } -void Ifc4x1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcMotorConnectionType Ifc4x1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x1::IfcDimensionalExponents Ifc4x1::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcDimensionalExponents>(); } @@ -10841,7 +10841,7 @@ void Ifc4x1::IfcNamedUnit::setUnitType(const ::Ifc4x1::IfcUnitEnum::Value& v) { const ifcopenshell::entity& Ifc4x1::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[626]); } -void Ifc4x1::IfcNamedUnit::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x1::IfcNamedUnit Ifc4x1::IfcNamedUnit::initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10853,7 +10853,7 @@ std::vector<::Ifc4x1::IfcRelDefinesByType> Ifc4x1::IfcObject::IsTypedBy() const std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[853], 4)); } const ifcopenshell::entity& Ifc4x1::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X1_types[631]); } -void Ifc4x1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x1::IfcObject Ifc4x1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -10866,7 +10866,7 @@ std::vector<::Ifc4x1::IfcRelAggregates> Ifc4x1::IfcObjectDefinition::Decomposes( std::vector<::Ifc4x1::IfcRelAssociates> Ifc4x1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[829], 4)); } const ifcopenshell::entity& Ifc4x1::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[632]); } -void Ifc4x1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcObjectDefinition Ifc4x1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement @@ -10874,7 +10874,7 @@ std::vector<::Ifc4x1::IfcProduct> Ifc4x1::IfcObjectPlacement::PlacesObject() con std::vector<::Ifc4x1::IfcLocalPlacement> Ifc4x1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[558], 0)); } const ifcopenshell::entity& Ifc4x1::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[635]); } -void Ifc4x1::IfcObjectPlacement::initialize() { } +Ifc4x1::IfcObjectPlacement Ifc4x1::IfcObjectPlacement::initialize() { ; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x1::IfcConstraint > > Ifc4x1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcConstraint>(es); } @@ -10888,7 +10888,7 @@ void Ifc4x1::IfcObjective::setUserDefinedQualifier(const std::optional< std::str const ifcopenshell::entity& Ifc4x1::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X1_types[633]); } -void Ifc4x1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x1::IfcObjective Ifc4x1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > Ifc4x1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -10896,7 +10896,7 @@ void Ifc4x1::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x1::IfcOc const ifcopenshell::entity& Ifc4x1::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X1_types[638]); } -void Ifc4x1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x1::IfcOccupant Ifc4x1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x1::IfcCurve Ifc4x1::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -10904,7 +10904,7 @@ void Ifc4x1::IfcOffsetCurve::setBasisCurve(const ::Ifc4x1::IfcCurve& v) { set_at const ifcopenshell::entity& Ifc4x1::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[640]); } -void Ifc4x1::IfcOffsetCurve::initialize(::Ifc4x1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x1::IfcOffsetCurve Ifc4x1::IfcOffsetCurve::initialize(::Ifc4x1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -10914,7 +10914,7 @@ void Ifc4x1::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x1::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[641]); } -void Ifc4x1::IfcOffsetCurve2D::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x1::IfcOffsetCurve2D Ifc4x1::IfcOffsetCurve2D::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -10926,7 +10926,7 @@ void Ifc4x1::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x1::IfcDirection& v) const ifcopenshell::entity& Ifc4x1::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[642]); } -void Ifc4x1::IfcOffsetCurve3D::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x1::IfcOffsetCurve3D Ifc4x1::IfcOffsetCurve3D::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x1::IfcDistanceExpression > Ifc4x1::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcDistanceExpression>(es); } @@ -10936,13 +10936,13 @@ void Ifc4x1::IfcOffsetCurveByDistances::setTag(const std::optional< std::string const ifcopenshell::entity& Ifc4x1::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X1_types[643]); } -void Ifc4x1::IfcOffsetCurveByDistances::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x1::IfcOffsetCurveByDistances Ifc4x1::IfcOffsetCurveByDistances::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x1::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X1_types[647]); } -void Ifc4x1::IfcOpenShell::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x1::IfcOpenShell Ifc4x1::IfcOpenShell::initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > Ifc4x1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10951,13 +10951,13 @@ void Ifc4x1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x1: std::vector<::Ifc4x1::IfcRelFillsElement> Ifc4x1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[856], 4)); } const ifcopenshell::entity& Ifc4x1::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[644]); } -void Ifc4x1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcOpeningElement Ifc4x1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4x1::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[646]); } -void Ifc4x1::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcOpeningStandardCase Ifc4x1::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10976,7 +10976,7 @@ std::vector<::Ifc4x1::IfcOrganizationRelationship> Ifc4x1::IfcOrganization::Rela std::vector<::Ifc4x1::IfcPersonAndOrganization> Ifc4x1::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[668], 1)); } const ifcopenshell::entity& Ifc4x1::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X1_types[648]); } -void Ifc4x1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x1::IfcOrganization Ifc4x1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x1::IfcOrganization Ifc4x1::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcOrganization>(); } @@ -10986,7 +10986,7 @@ void Ifc4x1::IfcOrganizationRelationship::setRelatedOrganizations(const std::vec const ifcopenshell::entity& Ifc4x1::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[649]); } -void Ifc4x1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x1::IfcOrganizationRelationship Ifc4x1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientationExpression ::Ifc4x1::IfcDirection Ifc4x1::IfcOrientationExpression::LateralAxisDirection() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcDirection>(); } @@ -10996,7 +10996,7 @@ void Ifc4x1::IfcOrientationExpression::setVerticalAxisDirection(const ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcOrientationExpression::Class() { return *((ifcopenshell::entity*)IFC4X1_types[650]); } -void Ifc4x1::IfcOrientationExpression::initialize(::Ifc4x1::IfcDirection v1_LateralAxisDirection, ::Ifc4x1::IfcDirection v2_VerticalAxisDirection) { set_attribute_value(0, (v1_LateralAxisDirection));set_attribute_value(1, (v2_VerticalAxisDirection)); } +Ifc4x1::IfcOrientationExpression Ifc4x1::IfcOrientationExpression::initialize(::Ifc4x1::IfcDirection v1_LateralAxisDirection, ::Ifc4x1::IfcDirection v2_VerticalAxisDirection) { set_attribute_value(0, (v1_LateralAxisDirection));set_attribute_value(1, (v2_VerticalAxisDirection));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x1::IfcEdge Ifc4x1::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcEdge>(); } @@ -11006,13 +11006,13 @@ void Ifc4x1::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x1::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X1_types[651]); } -void Ifc4x1::IfcOrientedEdge::initialize(::Ifc4x1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x1::IfcOrientedEdge Ifc4x1::IfcOrientedEdge::initialize(::Ifc4x1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x1::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[652]); } -void Ifc4x1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x1::IfcOuterBoundaryCurve Ifc4x1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > Ifc4x1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -11020,7 +11020,7 @@ void Ifc4x1::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x1::IfcOutl const ifcopenshell::entity& Ifc4x1::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[653]); } -void Ifc4x1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcOutlet Ifc4x1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x1::IfcOutletTypeEnum::Value Ifc4x1::IfcOutletType::PredefinedType() const { return ::Ifc4x1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -11028,7 +11028,7 @@ void Ifc4x1::IfcOutletType::setPredefinedType(const ::Ifc4x1::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[654]); } -void Ifc4x1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcOutletType Ifc4x1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x1::IfcPersonAndOrganization Ifc4x1::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcPersonAndOrganization>(); } @@ -11050,7 +11050,7 @@ void Ifc4x1::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x1::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X1_types[656]); } -void Ifc4x1::IfcOwnerHistory::initialize(::Ifc4x1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x1::IfcOwnerHistory Ifc4x1::IfcOwnerHistory::initialize(::Ifc4x1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x1::IfcAxis2Placement2D Ifc4x1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis2Placement2D>(); } @@ -11058,7 +11058,7 @@ void Ifc4x1::IfcParameterizedProfileDef::setPosition(const ::Ifc4x1::IfcAxis2Pla const ifcopenshell::entity& Ifc4x1::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[657]); } -void Ifc4x1::IfcParameterizedProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x1::IfcParameterizedProfileDef Ifc4x1::IfcParameterizedProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x1::IfcOrientedEdge > Ifc4x1::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcOrientedEdge>(es); } @@ -11066,7 +11066,7 @@ void Ifc4x1::IfcPath::setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge > const ifcopenshell::entity& Ifc4x1::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X1_types[659]); } -void Ifc4x1::IfcPath::initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x1::IfcPath Ifc4x1::IfcPath::initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPcurve ::Ifc4x1::IfcSurface Ifc4x1::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } @@ -11076,7 +11076,7 @@ void Ifc4x1::IfcPcurve::setReferenceCurve(const ::Ifc4x1::IfcCurve& v) { set_att const ifcopenshell::entity& Ifc4x1::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[660]); } -void Ifc4x1::IfcPcurve::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, ::Ifc4x1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x1::IfcPcurve Ifc4x1::IfcPcurve::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, ::Ifc4x1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -11086,7 +11086,7 @@ void Ifc4x1::IfcPerformanceHistory::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x1::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X1_types[661]); } -void Ifc4x1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x1::IfcPerformanceHistory Ifc4x1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value Ifc4x1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -11102,7 +11102,7 @@ void Ifc4x1::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[664]); } -void Ifc4x1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x1::IfcPermeableCoveringProperties Ifc4x1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > Ifc4x1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -11114,7 +11114,7 @@ void Ifc4x1::IfcPermit::setLongDescription(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[665]); } -void Ifc4x1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x1::IfcPermit Ifc4x1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11137,7 +11137,7 @@ void Ifc4x1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x1: std::vector<::Ifc4x1::IfcPersonAndOrganization> Ifc4x1::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[668], 0)); } const ifcopenshell::entity& Ifc4x1::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X1_types[667]); } -void Ifc4x1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x1::IfcPerson Ifc4x1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x1::IfcPerson Ifc4x1::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcPerson>(); } @@ -11149,7 +11149,7 @@ void Ifc4x1::IfcPersonAndOrganization::setRoles(const std::optional< std::vector const ifcopenshell::entity& Ifc4x1::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X1_types[668]); } -void Ifc4x1::IfcPersonAndOrganization::initialize(::Ifc4x1::IfcPerson v1_ThePerson, ::Ifc4x1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x1::IfcPersonAndOrganization Ifc4x1::IfcPersonAndOrganization::initialize(::Ifc4x1::IfcPerson v1_ThePerson, ::Ifc4x1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x1::IfcPhysicalQuantity > Ifc4x1::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcPhysicalQuantity>(es); } @@ -11163,7 +11163,7 @@ void Ifc4x1::IfcPhysicalComplexQuantity::setUsage(const std::optional< std::stri const ifcopenshell::entity& Ifc4x1::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[670]); } -void Ifc4x1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x1::IfcPhysicalComplexQuantity Ifc4x1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11175,7 +11175,7 @@ std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcPhysicalQuant std::vector<::Ifc4x1::IfcPhysicalComplexQuantity> Ifc4x1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[670], 2)); } const ifcopenshell::entity& Ifc4x1::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[672]); } -void Ifc4x1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x1::IfcPhysicalQuantity Ifc4x1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x1::IfcNamedUnit Ifc4x1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcNamedUnit>(); } @@ -11183,7 +11183,7 @@ void Ifc4x1::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x1::IfcNamedUnit& v) const ifcopenshell::entity& Ifc4x1::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[673]); } -void Ifc4x1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x1::IfcPhysicalSimpleQuantity Ifc4x1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x1::IfcPileTypeEnum::Value > Ifc4x1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -11193,7 +11193,7 @@ void Ifc4x1::IfcPile::setConstructionType(const std::optional< ::Ifc4x1::IfcPile const ifcopenshell::entity& Ifc4x1::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X1_types[674]); } -void Ifc4x1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x1::IfcPile Ifc4x1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x1::IfcPileTypeEnum::Value Ifc4x1::IfcPileType::PredefinedType() const { return ::Ifc4x1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -11201,7 +11201,7 @@ void Ifc4x1::IfcPileType::setPredefinedType(const ::Ifc4x1::IfcPileTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[676]); } -void Ifc4x1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcPileType Ifc4x1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > Ifc4x1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -11209,7 +11209,7 @@ void Ifc4x1::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[678]); } -void Ifc4x1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcPipeFitting Ifc4x1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x1::IfcPipeFittingTypeEnum::Value Ifc4x1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -11217,7 +11217,7 @@ void Ifc4x1::IfcPipeFittingType::setPredefinedType(const ::Ifc4x1::IfcPipeFittin const ifcopenshell::entity& Ifc4x1::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[679]); } -void Ifc4x1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcPipeFittingType Ifc4x1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > Ifc4x1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -11225,7 +11225,7 @@ void Ifc4x1::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[681]); } -void Ifc4x1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcPipeSegment Ifc4x1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x1::IfcPipeSegmentTypeEnum::Value Ifc4x1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -11233,7 +11233,7 @@ void Ifc4x1::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x1::IfcPipeSegmen const ifcopenshell::entity& Ifc4x1::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[682]); } -void Ifc4x1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcPipeSegmentType Ifc4x1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -11247,7 +11247,7 @@ void Ifc4x1::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bitset< const ifcopenshell::entity& Ifc4x1::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X1_types[684]); } -void Ifc4x1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x1::IfcPixelTexture Ifc4x1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x1::IfcCartesianPoint Ifc4x1::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPoint>(); } @@ -11255,7 +11255,7 @@ void Ifc4x1::IfcPlacement::setLocation(const ::Ifc4x1::IfcCartesianPoint& v) { s const ifcopenshell::entity& Ifc4x1::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[685]); } -void Ifc4x1::IfcPlacement::initialize(::Ifc4x1::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x1::IfcPlacement Ifc4x1::IfcPlacement::initialize(::Ifc4x1::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis2Placement>(); } @@ -11263,7 +11263,7 @@ void Ifc4x1::IfcPlanarBox::setPlacement(const ::Ifc4x1::IfcAxis2Placement& v) { const ifcopenshell::entity& Ifc4x1::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X1_types[686]); } -void Ifc4x1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x1::IfcPlanarBox Ifc4x1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -11273,13 +11273,13 @@ void Ifc4x1::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x1::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X1_types[687]); } -void Ifc4x1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x1::IfcPlanarExtent Ifc4x1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x1::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X1_types[689]); } -void Ifc4x1::IfcPlane::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x1::IfcPlane Ifc4x1::IfcPlane::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > Ifc4x1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -11287,13 +11287,13 @@ void Ifc4x1::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x1::IfcPlate const ifcopenshell::entity& Ifc4x1::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[691]); } -void Ifc4x1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcPlate Ifc4x1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4x1::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[692]); } -void Ifc4x1::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcPlateStandardCase Ifc4x1::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x1::IfcPlateTypeEnum::Value Ifc4x1::IfcPlateType::PredefinedType() const { return ::Ifc4x1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -11301,13 +11301,13 @@ void Ifc4x1::IfcPlateType::setPredefinedType(const ::Ifc4x1::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[693]); } -void Ifc4x1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcPlateType Ifc4x1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x1::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X1_types[695]); } -void Ifc4x1::IfcPoint::initialize() { } +Ifc4x1::IfcPoint Ifc4x1::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x1::IfcCurve Ifc4x1::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -11317,7 +11317,7 @@ void Ifc4x1::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x1::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[696]); } -void Ifc4x1::IfcPointOnCurve::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x1::IfcPointOnCurve Ifc4x1::IfcPointOnCurve::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x1::IfcSurface Ifc4x1::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } @@ -11329,7 +11329,7 @@ void Ifc4x1::IfcPointOnSurface::setPointParameterV(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[697]); } -void Ifc4x1::IfcPointOnSurface::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x1::IfcPointOnSurface Ifc4x1::IfcPointOnSurface::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x1::IfcCartesianPoint > Ifc4x1::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } @@ -11337,7 +11337,7 @@ void Ifc4x1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x1::IfcCartesianPo const ifcopenshell::entity& Ifc4x1::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X1_types[702]); } -void Ifc4x1::IfcPolyLoop::initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x1::IfcPolyLoop Ifc4x1::IfcPolyLoop::initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis2Placement3D>(); } @@ -11347,7 +11347,7 @@ void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X1_types[699]); } -void Ifc4x1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcAxis2Placement3D v3_Position, ::Ifc4x1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x1::IfcPolygonalBoundedHalfSpace Ifc4x1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcAxis2Placement3D v3_Position, ::Ifc4x1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -11359,7 +11359,7 @@ void Ifc4x1::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< i const ifcopenshell::entity& Ifc4x1::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[700]); } -void Ifc4x1::IfcPolygonalFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x1::IfcPolygonalFaceSet Ifc4x1::IfcPolygonalFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x1::IfcCartesianPoint > Ifc4x1::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcCartesianPoint>(es); } @@ -11367,7 +11367,7 @@ void Ifc4x1::IfcPolyline::setPoints(const std::vector< ::Ifc4x1::IfcCartesianPoi const ifcopenshell::entity& Ifc4x1::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X1_types[701]); } -void Ifc4x1::IfcPolyline::initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x1::IfcPolyline Ifc4x1::IfcPolyline::initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPort @@ -11376,14 +11376,14 @@ std::vector<::Ifc4x1::IfcRelConnectsPorts> Ifc4x1::IfcPort::ConnectedFrom() cons std::vector<::Ifc4x1::IfcRelConnectsPorts> Ifc4x1::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[840], 4)); } const ifcopenshell::entity& Ifc4x1::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X1_types[703]); } -void Ifc4x1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x1::IfcPort Ifc4x1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement std::vector<::Ifc4x1::IfcRelContainedInSpatialStructure> Ifc4x1::IfcPositioningElement::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[846], 4)); } const ifcopenshell::entity& Ifc4x1::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[704]); } -void Ifc4x1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x1::IfcPositioningElement Ifc4x1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11403,19 +11403,19 @@ void Ifc4x1::IfcPostalAddress::setCountry(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x1::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X1_types[709]); } -void Ifc4x1::IfcPostalAddress::initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x1::IfcPostalAddress Ifc4x1::IfcPostalAddress::initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x1::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X1_types[711]); } -void Ifc4x1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x1::IfcPreDefinedColour Ifc4x1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x1::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[712]); } -void Ifc4x1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x1::IfcPreDefinedCurveFont Ifc4x1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11423,31 +11423,31 @@ void Ifc4x1::IfcPreDefinedItem::setName(const std::string& v) { set_attribute_va const ifcopenshell::entity& Ifc4x1::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[713]); } -void Ifc4x1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x1::IfcPreDefinedItem Ifc4x1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x1::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[714]); } -void Ifc4x1::IfcPreDefinedProperties::initialize() { } +Ifc4x1::IfcPreDefinedProperties Ifc4x1::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x1::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[715]); } -void Ifc4x1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcPreDefinedPropertySet Ifc4x1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x1::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[716]); } -void Ifc4x1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x1::IfcPreDefinedTextFont Ifc4x1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x1::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[719]); } -void Ifc4x1::IfcPresentationItem::initialize() { } +Ifc4x1::IfcPresentationItem Ifc4x1::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11461,7 +11461,7 @@ void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[720]); } -void Ifc4x1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x1::IfcPresentationLayerAssignment Ifc4x1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -11475,7 +11475,7 @@ void Ifc4x1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< :: const ifcopenshell::entity& Ifc4x1::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[721]); } -void Ifc4x1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x1::IfcPresentationLayerWithStyle Ifc4x1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11483,7 +11483,7 @@ void Ifc4x1::IfcPresentationStyle::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[722]); } -void Ifc4x1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcPresentationStyle Ifc4x1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcPresentationStyleAssignment std::vector< ::Ifc4x1::IfcPresentationStyleSelect > Ifc4x1::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcPresentationStyleSelect>(es); } @@ -11491,7 +11491,7 @@ void Ifc4x1::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[723]); } -void Ifc4x1::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x1::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles)); } +Ifc4x1::IfcPresentationStyleAssignment Ifc4x1::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x1::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > Ifc4x1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -11499,7 +11499,7 @@ void Ifc4x1::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x1::IfcP const ifcopenshell::entity& Ifc4x1::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X1_types[726]); } -void Ifc4x1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x1::IfcProcedure Ifc4x1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x1::IfcProcedureTypeEnum::Value Ifc4x1::IfcProcedureType::PredefinedType() const { return ::Ifc4x1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -11507,7 +11507,7 @@ void Ifc4x1::IfcProcedureType::setPredefinedType(const ::Ifc4x1::IfcProcedureTyp const ifcopenshell::entity& Ifc4x1::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[727]); } -void Ifc4x1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcProcedureType Ifc4x1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -11520,7 +11520,7 @@ std::vector<::Ifc4x1::IfcRelSequence> Ifc4x1::IfcProcess::IsSuccessorFrom() cons std::vector<::Ifc4x1::IfcRelAssignsToProcess> Ifc4x1::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[826], 6)); } const ifcopenshell::entity& Ifc4x1::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X1_types[729]); } -void Ifc4x1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x1::IfcProcess Ifc4x1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x1::IfcObjectPlacement Ifc4x1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcObjectPlacement>(); } @@ -11531,7 +11531,7 @@ void Ifc4x1::IfcProduct::setRepresentation(const ::Ifc4x1::IfcProductRepresentat std::vector<::Ifc4x1::IfcRelAssignsToProduct> Ifc4x1::IfcProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[827], 6)); } const ifcopenshell::entity& Ifc4x1::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X1_types[731]); } -void Ifc4x1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x1::IfcProduct Ifc4x1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -11539,7 +11539,7 @@ std::vector<::Ifc4x1::IfcProduct> Ifc4x1::IfcProductDefinitionShape::ShapeOfProd std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[915], 4)); } const ifcopenshell::entity& Ifc4x1::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X1_types[732]); } -void Ifc4x1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x1::IfcProductDefinitionShape Ifc4x1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11551,7 +11551,7 @@ void Ifc4x1::IfcProductRepresentation::setRepresentations(const std::vector< ::I const ifcopenshell::entity& Ifc4x1::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[733]); } -void Ifc4x1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x1::IfcProductRepresentation Ifc4x1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x1::IfcProfileTypeEnum::Value Ifc4x1::IfcProfileDef::ProfileType() const { return ::Ifc4x1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -11563,7 +11563,7 @@ std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcProfileDef::H std::vector<::Ifc4x1::IfcProfileProperties> Ifc4x1::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[737], 3)); } const ifcopenshell::entity& Ifc4x1::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[736]); } -void Ifc4x1::IfcProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x1::IfcProfileDef Ifc4x1::IfcProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x1::IfcProfileDef Ifc4x1::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcProfileDef>(); } @@ -11571,19 +11571,19 @@ void Ifc4x1::IfcProfileProperties::setProfileDefinition(const ::Ifc4x1::IfcProfi const ifcopenshell::entity& Ifc4x1::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[737]); } -void Ifc4x1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x1::IfcProfileProperties Ifc4x1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x1::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X1_types[739]); } -void Ifc4x1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x1::IfcProject Ifc4x1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x1::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X1_types[744]); } -void Ifc4x1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x1::IfcProjectLibrary Ifc4x1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > Ifc4x1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -11595,7 +11595,7 @@ void Ifc4x1::IfcProjectOrder::setLongDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x1::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X1_types[745]); } -void Ifc4x1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x1::IfcProjectOrder Ifc4x1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -11607,7 +11607,7 @@ void Ifc4x1::IfcProjectedCRS::setMapUnit(const ::Ifc4x1::IfcNamedUnit& v) { set_ const ifcopenshell::entity& Ifc4x1::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X1_types[740]); } -void Ifc4x1::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x1::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x1::IfcProjectedCRS Ifc4x1::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x1::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > Ifc4x1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11615,7 +11615,7 @@ void Ifc4x1::IfcProjectionElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[742]); } -void Ifc4x1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcProjectionElement Ifc4x1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11631,14 +11631,14 @@ std::vector<::Ifc4x1::IfcResourceConstraintRelationship> Ifc4x1::IfcProperty::Ha std::vector<::Ifc4x1::IfcResourceApprovalRelationship> Ifc4x1::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[874], 2)); } const ifcopenshell::entity& Ifc4x1::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X1_types[747]); } -void Ifc4x1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x1::IfcProperty Ifc4x1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[748]); } -void Ifc4x1::IfcPropertyAbstraction::initialize() { } +Ifc4x1::IfcPropertyAbstraction Ifc4x1::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x1::IfcValue Ifc4x1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcValue>(); } @@ -11652,7 +11652,7 @@ void Ifc4x1::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x1::IfcValue& const ifcopenshell::entity& Ifc4x1::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[749]); } -void Ifc4x1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_UpperBoundValue, ::Ifc4x1::IfcValue v4_LowerBoundValue, ::Ifc4x1::IfcUnit v5_Unit, ::Ifc4x1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x1::IfcPropertyBoundedValue Ifc4x1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_UpperBoundValue, ::Ifc4x1::IfcValue v4_LowerBoundValue, ::Ifc4x1::IfcUnit v5_Unit, ::Ifc4x1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -11660,7 +11660,7 @@ std::vector<::Ifc4x1::IfcRelDeclares> Ifc4x1::IfcPropertyDefinition::HasContext( std::vector<::Ifc4x1::IfcRelAssociates> Ifc4x1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[829], 4)); } const ifcopenshell::entity& Ifc4x1::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[750]); } -void Ifc4x1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcPropertyDefinition Ifc4x1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x1::IfcProperty Ifc4x1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcProperty>(); } @@ -11672,7 +11672,7 @@ void Ifc4x1::IfcPropertyDependencyRelationship::setExpression(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[751]); } -void Ifc4x1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty v3_DependingProperty, ::Ifc4x1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x1::IfcPropertyDependencyRelationship Ifc4x1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty v3_DependingProperty, ::Ifc4x1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x1::IfcValue > > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcValue>(es); } @@ -11682,7 +11682,7 @@ void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[752]); } -void Ifc4x1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x1::IfcPropertyEnumeratedValue Ifc4x1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11694,7 +11694,7 @@ void Ifc4x1::IfcPropertyEnumeration::setUnit(const ::Ifc4x1::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc4x1::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X1_types[753]); } -void Ifc4x1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x1::IfcValue > v2_EnumerationValues, ::Ifc4x1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x1::IfcPropertyEnumeration Ifc4x1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x1::IfcValue > v2_EnumerationValues, ::Ifc4x1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x1::IfcValue > > Ifc4x1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcValue>(es); } @@ -11704,7 +11704,7 @@ void Ifc4x1::IfcPropertyListValue::setUnit(const ::Ifc4x1::IfcUnit& v) { set_att const ifcopenshell::entity& Ifc4x1::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[754]); } -void Ifc4x1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_ListValues, ::Ifc4x1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x1::IfcPropertyListValue Ifc4x1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_ListValues, ::Ifc4x1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11714,7 +11714,7 @@ void Ifc4x1::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[755]); } -void Ifc4x1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x1::IfcPropertyReferenceValue Ifc4x1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x1::IfcProperty > Ifc4x1::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcProperty>(es); } @@ -11722,7 +11722,7 @@ void Ifc4x1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x1::IfcPr const ifcopenshell::entity& Ifc4x1::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[756]); } -void Ifc4x1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x1::IfcPropertySet Ifc4x1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -11731,7 +11731,7 @@ std::vector<::Ifc4x1::IfcRelDefinesByTemplate> Ifc4x1::IfcPropertySetDefinition: std::vector<::Ifc4x1::IfcRelDefinesByProperties> Ifc4x1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[853], 5)); } const ifcopenshell::entity& Ifc4x1::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[757]); } -void Ifc4x1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcPropertySetDefinition Ifc4x1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -11744,7 +11744,7 @@ void Ifc4x1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< std::vector<::Ifc4x1::IfcRelDefinesByTemplate> Ifc4x1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[854], 5)); } const ifcopenshell::entity& Ifc4x1::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[760]); } -void Ifc4x1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x1::IfcPropertySetTemplate Ifc4x1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x1::IfcValue Ifc4x1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcValue>(); } @@ -11754,7 +11754,7 @@ void Ifc4x1::IfcPropertySingleValue::setUnit(const ::Ifc4x1::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc4x1::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[762]); } -void Ifc4x1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_NominalValue, ::Ifc4x1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x1::IfcPropertySingleValue Ifc4x1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_NominalValue, ::Ifc4x1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x1::IfcValue > > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcValue>(es); } @@ -11772,7 +11772,7 @@ void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(const std::optional< : const ifcopenshell::entity& Ifc4x1::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[763]); } -void Ifc4x1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit v6_DefiningUnit, ::Ifc4x1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x1::IfcPropertyTableValue Ifc4x1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit v6_DefiningUnit, ::Ifc4x1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -11780,13 +11780,13 @@ std::vector<::Ifc4x1::IfcComplexPropertyTemplate> Ifc4x1::IfcPropertyTemplate::P std::vector<::Ifc4x1::IfcPropertySetTemplate> Ifc4x1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[760], 6)); } const ifcopenshell::entity& Ifc4x1::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[764]); } -void Ifc4x1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcPropertyTemplate Ifc4x1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x1::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[765]); } -void Ifc4x1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcPropertyTemplateDefinition Ifc4x1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11794,7 +11794,7 @@ void Ifc4x1::IfcProtectiveDevice::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[766]); } -void Ifc4x1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcProtectiveDevice Ifc4x1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -11802,7 +11802,7 @@ void Ifc4x1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[767]); } -void Ifc4x1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcProtectiveDeviceTrippingUnit Ifc4x1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -11810,7 +11810,7 @@ void Ifc4x1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[768]); } -void Ifc4x1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcProtectiveDeviceTrippingUnitType Ifc4x1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value Ifc4x1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11818,7 +11818,7 @@ void Ifc4x1::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x1::IfcProte const ifcopenshell::entity& Ifc4x1::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[770]); } -void Ifc4x1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcProtectiveDeviceType Ifc4x1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4x1::IfcObjectTypeEnum::Value Ifc4x1::IfcProxy::ProxyType() const { return ::Ifc4x1::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -11828,7 +11828,7 @@ void Ifc4x1::IfcProxy::setTag(const std::optional< std::string >& v) { if (v) {s const ifcopenshell::entity& Ifc4x1::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X1_types[772]); } -void Ifc4x1::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4x1::IfcProxy Ifc4x1::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > Ifc4x1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -11836,7 +11836,7 @@ void Ifc4x1::IfcPump::setPredefinedType(const std::optional< ::Ifc4x1::IfcPumpTy const ifcopenshell::entity& Ifc4x1::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X1_types[773]); } -void Ifc4x1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcPump Ifc4x1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x1::IfcPumpTypeEnum::Value Ifc4x1::IfcPumpType::PredefinedType() const { return ::Ifc4x1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -11844,7 +11844,7 @@ void Ifc4x1::IfcPumpType::setPredefinedType(const ::Ifc4x1::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[774]); } -void Ifc4x1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcPumpType Ifc4x1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -11854,7 +11854,7 @@ void Ifc4x1::IfcQuantityArea::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x1::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X1_types[776]); } -void Ifc4x1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x1::IfcQuantityArea Ifc4x1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4x1::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -11864,7 +11864,7 @@ void Ifc4x1::IfcQuantityCount::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x1::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X1_types[777]); } -void Ifc4x1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x1::IfcQuantityCount Ifc4x1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -11874,13 +11874,13 @@ void Ifc4x1::IfcQuantityLength::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X1_types[778]); } -void Ifc4x1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x1::IfcQuantityLength Ifc4x1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x1::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[779]); } -void Ifc4x1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcQuantitySet Ifc4x1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -11890,7 +11890,7 @@ void Ifc4x1::IfcQuantityTime::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x1::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[780]); } -void Ifc4x1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x1::IfcQuantityTime Ifc4x1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -11900,7 +11900,7 @@ void Ifc4x1::IfcQuantityVolume::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X1_types[781]); } -void Ifc4x1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x1::IfcQuantityVolume Ifc4x1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -11910,7 +11910,7 @@ void Ifc4x1::IfcQuantityWeight::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X1_types[782]); } -void Ifc4x1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x1::IfcQuantityWeight Ifc4x1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > Ifc4x1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -11918,7 +11918,7 @@ void Ifc4x1::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x1::IfcRai const ifcopenshell::entity& Ifc4x1::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X1_types[784]); } -void Ifc4x1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcRailing Ifc4x1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x1::IfcRailingTypeEnum::Value Ifc4x1::IfcRailingType::PredefinedType() const { return ::Ifc4x1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -11926,7 +11926,7 @@ void Ifc4x1::IfcRailingType::setPredefinedType(const ::Ifc4x1::IfcRailingTypeEnu const ifcopenshell::entity& Ifc4x1::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[785]); } -void Ifc4x1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcRailingType Ifc4x1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x1::IfcRampTypeEnum::Value > Ifc4x1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -11934,7 +11934,7 @@ void Ifc4x1::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x1::IfcRampTy const ifcopenshell::entity& Ifc4x1::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X1_types[787]); } -void Ifc4x1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcRamp Ifc4x1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > Ifc4x1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -11942,7 +11942,7 @@ void Ifc4x1::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X1_types[788]); } -void Ifc4x1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcRampFlight Ifc4x1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x1::IfcRampFlightTypeEnum::Value Ifc4x1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -11950,7 +11950,7 @@ void Ifc4x1::IfcRampFlightType::setPredefinedType(const ::Ifc4x1::IfcRampFlightT const ifcopenshell::entity& Ifc4x1::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[789]); } -void Ifc4x1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcRampFlightType Ifc4x1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x1::IfcRampTypeEnum::Value Ifc4x1::IfcRampType::PredefinedType() const { return ::Ifc4x1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -11958,7 +11958,7 @@ void Ifc4x1::IfcRampType::setPredefinedType(const ::Ifc4x1::IfcRampTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[791]); } -void Ifc4x1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcRampType Ifc4x1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -11966,7 +11966,7 @@ void Ifc4x1::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vector< const ifcopenshell::entity& Ifc4x1::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X1_types[794]); } -void Ifc4x1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x1::IfcRationalBSplineCurveWithKnots Ifc4x1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -11974,7 +11974,7 @@ void Ifc4x1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::vecto const ifcopenshell::entity& Ifc4x1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X1_types[795]); } -void Ifc4x1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x1::IfcRationalBSplineSurfaceWithKnots Ifc4x1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -11986,7 +11986,7 @@ void Ifc4x1::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::optio const ifcopenshell::entity& Ifc4x1::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[797]); } -void Ifc4x1::IfcRectangleHollowProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x1::IfcRectangleHollowProfileDef Ifc4x1::IfcRectangleHollowProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -11996,7 +11996,7 @@ void Ifc4x1::IfcRectangleProfileDef::setYDim(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x1::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[798]); } -void Ifc4x1::IfcRectangleProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x1::IfcRectangleProfileDef Ifc4x1::IfcRectangleProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -12008,7 +12008,7 @@ void Ifc4x1::IfcRectangularPyramid::setHeight(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x1::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[799]); } -void Ifc4x1::IfcRectangularPyramid::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x1::IfcRectangularPyramid Ifc4x1::IfcRectangularPyramid::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x1::IfcSurface Ifc4x1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSurface>(); } @@ -12028,7 +12028,7 @@ void Ifc4x1::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[800]); } -void Ifc4x1::IfcRectangularTrimmedSurface::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x1::IfcRectangularTrimmedSurface Ifc4x1::IfcRectangularTrimmedSurface::initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x1::IfcRecurrenceTypeEnum::Value Ifc4x1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -12050,7 +12050,7 @@ void Ifc4x1::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vect const ifcopenshell::entity& Ifc4x1::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X1_types[801]); } -void Ifc4x1::IfcRecurrencePattern::initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x1::IfcRecurrencePattern Ifc4x1::IfcRecurrencePattern::initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12066,7 +12066,7 @@ void Ifc4x1::IfcReference::setInnerReference(const ::Ifc4x1::IfcReference& v) { const ifcopenshell::entity& Ifc4x1::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X1_types[803]); } -void Ifc4x1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x1::IfcReference Ifc4x1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > Ifc4x1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -12076,7 +12076,7 @@ void Ifc4x1::IfcReferent::setRestartDistance(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x1::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X1_types[804]); } -void Ifc4x1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); } } +Ifc4x1::IfcReferent Ifc4x1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -12086,7 +12086,7 @@ void Ifc4x1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x1::IfcTim const ifcopenshell::entity& Ifc4x1::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X1_types[807]); } -void Ifc4x1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x1::IfcRegularTimeSeries Ifc4x1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -12104,7 +12104,7 @@ void Ifc4x1::IfcReinforcementBarProperties::setBarCount(const std::optional< dou const ifcopenshell::entity& Ifc4x1::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[808]); } -void Ifc4x1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x1::IfcReinforcementBarProperties Ifc4x1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12114,7 +12114,7 @@ void Ifc4x1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefini const ifcopenshell::entity& Ifc4x1::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[809]); } -void Ifc4x1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x1::IfcReinforcementDefinitionProperties Ifc4x1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -12130,7 +12130,7 @@ void Ifc4x1::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X1_types[810]); } -void Ifc4x1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x1::IfcReinforcingBar Ifc4x1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x1::IfcReinforcingBarTypeEnum::Value Ifc4x1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -12150,7 +12150,7 @@ void Ifc4x1::IfcReinforcingBarType::setBendingParameters(const std::optional< st const ifcopenshell::entity& Ifc4x1::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[813]); } -void Ifc4x1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x1::IfcReinforcingBarType Ifc4x1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -12158,13 +12158,13 @@ void Ifc4x1::IfcReinforcingElement::setSteelGrade(const std::optional< std::stri const ifcopenshell::entity& Ifc4x1::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[815]); } -void Ifc4x1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x1::IfcReinforcingElement Ifc4x1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x1::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[816]); } -void Ifc4x1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcReinforcingElementType Ifc4x1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -12188,7 +12188,7 @@ void Ifc4x1::IfcReinforcingMesh::setPredefinedType(const std::optional< ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X1_types[817]); } -void Ifc4x1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x1::IfcReinforcingMesh Ifc4x1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value Ifc4x1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -12216,7 +12216,7 @@ void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(const std::optional< s const ifcopenshell::entity& Ifc4x1::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[818]); } -void Ifc4x1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x1::IfcReinforcingMeshType Ifc4x1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x1::IfcObjectDefinition Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcObjectDefinition>(); } @@ -12226,7 +12226,7 @@ void Ifc4x1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X1_types[820]); } -void Ifc4x1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x1::IfcRelAggregates Ifc4x1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } @@ -12236,7 +12236,7 @@ void Ifc4x1::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X1_types[821]); } -void Ifc4x1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x1::IfcRelAssigns Ifc4x1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x1::IfcActor Ifc4x1::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcActor>(); } @@ -12246,7 +12246,7 @@ void Ifc4x1::IfcRelAssignsToActor::setActingRole(const ::Ifc4x1::IfcActorRole& v const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[822]); } -void Ifc4x1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor v7_RelatingActor, ::Ifc4x1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x1::IfcRelAssignsToActor Ifc4x1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor v7_RelatingActor, ::Ifc4x1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x1::IfcControl Ifc4x1::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcControl>(); } @@ -12254,7 +12254,7 @@ void Ifc4x1::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x1::IfcContr const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X1_types[823]); } -void Ifc4x1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x1::IfcRelAssignsToControl Ifc4x1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x1::IfcGroup Ifc4x1::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcGroup>(); } @@ -12262,7 +12262,7 @@ void Ifc4x1::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x1::IfcGroup& v) const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X1_types[824]); } -void Ifc4x1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x1::IfcRelAssignsToGroup Ifc4x1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -12270,7 +12270,7 @@ void Ifc4x1::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attr const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[825]); } -void Ifc4x1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x1::IfcRelAssignsToGroupByFactor Ifc4x1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x1::IfcProcessSelect Ifc4x1::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcProcessSelect>(); } @@ -12280,7 +12280,7 @@ void Ifc4x1::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x1::IfcMea const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X1_types[826]); } -void Ifc4x1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x1::IfcRelAssignsToProcess Ifc4x1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x1::IfcProductSelect Ifc4x1::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcProductSelect>(); } @@ -12288,7 +12288,7 @@ void Ifc4x1::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x1::IfcProdu const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X1_types[827]); } -void Ifc4x1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x1::IfcRelAssignsToProduct Ifc4x1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x1::IfcResourceSelect Ifc4x1::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x1::IfcResourceSelect>(); } @@ -12296,7 +12296,7 @@ void Ifc4x1::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x1::IfcRes const ifcopenshell::entity& Ifc4x1::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[828]); } -void Ifc4x1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x1::IfcRelAssignsToResource Ifc4x1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x1::IfcDefinitionSelect > Ifc4x1::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcDefinitionSelect>(es); } @@ -12304,7 +12304,7 @@ void Ifc4x1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X1_types[829]); } -void Ifc4x1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x1::IfcRelAssociates Ifc4x1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x1::IfcApproval Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcApproval>(); } @@ -12312,7 +12312,7 @@ void Ifc4x1::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x1::IfcAp const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X1_types[830]); } -void Ifc4x1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x1::IfcRelAssociatesApproval Ifc4x1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x1::IfcClassificationSelect Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcClassificationSelect>(); } @@ -12320,7 +12320,7 @@ void Ifc4x1::IfcRelAssociatesClassification::setRelatingClassification(const ::I const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X1_types[831]); } -void Ifc4x1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x1::IfcRelAssociatesClassification Ifc4x1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12330,7 +12330,7 @@ void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X1_types[832]); } -void Ifc4x1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x1::IfcRelAssociatesConstraint Ifc4x1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x1::IfcDocumentSelect Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcDocumentSelect>(); } @@ -12338,7 +12338,7 @@ void Ifc4x1::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x1::IfcDo const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X1_types[833]); } -void Ifc4x1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x1::IfcRelAssociatesDocument Ifc4x1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x1::IfcLibrarySelect Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcLibrarySelect>(); } @@ -12346,7 +12346,7 @@ void Ifc4x1::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x1::IfcLibr const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X1_types[834]); } -void Ifc4x1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x1::IfcRelAssociatesLibrary Ifc4x1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x1::IfcMaterialSelect Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x1::IfcMaterialSelect>(); } @@ -12354,13 +12354,13 @@ void Ifc4x1::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x1::IfcMa const ifcopenshell::entity& Ifc4x1::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X1_types[835]); } -void Ifc4x1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x1::IfcRelAssociatesMaterial Ifc4x1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x1::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X1_types[837]); } -void Ifc4x1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcRelConnects Ifc4x1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcConnectionGeometry>(); } @@ -12372,7 +12372,7 @@ void Ifc4x1::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x1::IfcElemen const ifcopenshell::entity& Ifc4x1::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[838]); } -void Ifc4x1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x1::IfcRelConnectsElements Ifc4x1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -12386,7 +12386,7 @@ void Ifc4x1::IfcRelConnectsPathElements::setRelatingConnectionType(const ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[839]); } -void Ifc4x1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x1::IfcRelConnectsPathElements Ifc4x1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x1::IfcPort Ifc4x1::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcPort>(); } @@ -12396,7 +12396,7 @@ void Ifc4x1::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x1::IfcD const ifcopenshell::entity& Ifc4x1::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[841]); } -void Ifc4x1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x1::IfcRelConnectsPortToElement Ifc4x1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x1::IfcPort Ifc4x1::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcPort>(); } @@ -12408,7 +12408,7 @@ void Ifc4x1::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x1::IfcElement const ifcopenshell::entity& Ifc4x1::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X1_types[840]); } -void Ifc4x1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcPort v6_RelatedPort, ::Ifc4x1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x1::IfcRelConnectsPorts Ifc4x1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcPort v6_RelatedPort, ::Ifc4x1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x1::IfcStructuralActivityAssignmentSelect Ifc4x1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcStructuralActivityAssignmentSelect>(); } @@ -12418,7 +12418,7 @@ void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(cons const ifcopenshell::entity& Ifc4x1::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[842]); } -void Ifc4x1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x1::IfcRelConnectsStructuralActivity Ifc4x1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x1::IfcStructuralMember Ifc4x1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcStructuralMember>(); } @@ -12436,7 +12436,7 @@ void Ifc4x1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const const ifcopenshell::entity& Ifc4x1::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X1_types[843]); } -void Ifc4x1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x1::IfcRelConnectsStructuralMember Ifc4x1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x1::IfcConnectionGeometry Ifc4x1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcConnectionGeometry>(); } @@ -12444,7 +12444,7 @@ void Ifc4x1::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc const ifcopenshell::entity& Ifc4x1::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[844]); } -void Ifc4x1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x1::IfcRelConnectsWithEccentricity Ifc4x1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x1::IfcElement > Ifc4x1::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x1::IfcElement>(es); } @@ -12454,7 +12454,7 @@ void Ifc4x1::IfcRelConnectsWithRealizingElements::setConnectionType(const std::o const ifcopenshell::entity& Ifc4x1::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[845]); } -void Ifc4x1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x1::IfcRelConnectsWithRealizingElements Ifc4x1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x1::IfcProduct > Ifc4x1::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcProduct>(es); } @@ -12464,7 +12464,7 @@ void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc const ifcopenshell::entity& Ifc4x1::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X1_types[846]); } -void Ifc4x1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x1::IfcRelContainedInSpatialStructure Ifc4x1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x1::IfcElement Ifc4x1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } @@ -12474,7 +12474,7 @@ void Ifc4x1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< :: const ifcopenshell::entity& Ifc4x1::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[847]); } -void Ifc4x1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x1::IfcRelCoversBldgElements Ifc4x1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x1::IfcSpace Ifc4x1::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcSpace>(); } @@ -12484,7 +12484,7 @@ void Ifc4x1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X1_types[848]); } -void Ifc4x1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x1::IfcRelCoversSpaces Ifc4x1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x1::IfcContext Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcContext>(); } @@ -12494,19 +12494,19 @@ void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X1_types[849]); } -void Ifc4x1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x1::IfcRelDeclares Ifc4x1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x1::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X1_types[850]); } -void Ifc4x1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcRelDecomposes Ifc4x1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x1::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X1_types[851]); } -void Ifc4x1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcRelDefines Ifc4x1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x1::IfcObject > Ifc4x1::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObject>(es); } @@ -12516,7 +12516,7 @@ void Ifc4x1::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x1::IfcObject& const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X1_types[852]); } -void Ifc4x1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x1::IfcRelDefinesByObject Ifc4x1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x1::IfcObjectDefinition > Ifc4x1::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObjectDefinition>(es); } @@ -12526,7 +12526,7 @@ void Ifc4x1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::If const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[853]); } -void Ifc4x1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x1::IfcRelDefinesByProperties Ifc4x1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x1::IfcPropertySetDefinition > Ifc4x1::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcPropertySetDefinition>(es); } @@ -12536,7 +12536,7 @@ void Ifc4x1::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x1::IfcPro const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[854]); } -void Ifc4x1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x1::IfcRelDefinesByTemplate Ifc4x1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x1::IfcObject > Ifc4x1::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcObject>(es); } @@ -12546,7 +12546,7 @@ void Ifc4x1::IfcRelDefinesByType::setRelatingType(const ::Ifc4x1::IfcTypeObject& const ifcopenshell::entity& Ifc4x1::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[855]); } -void Ifc4x1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x1::IfcRelDefinesByType Ifc4x1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x1::IfcOpeningElement Ifc4x1::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcOpeningElement>(); } @@ -12556,7 +12556,7 @@ void Ifc4x1::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x1::IfcEl const ifcopenshell::entity& Ifc4x1::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[856]); } -void Ifc4x1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x1::IfcRelFillsElement Ifc4x1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x1::IfcDistributionControlElement > Ifc4x1::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcDistributionControlElement>(es); } @@ -12566,7 +12566,7 @@ void Ifc4x1::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[857]); } -void Ifc4x1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x1::IfcRelFlowControlElements Ifc4x1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x1::IfcElement Ifc4x1::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } @@ -12582,7 +12582,7 @@ void Ifc4x1::IfcRelInterferesElements::setImpliedOrder(const boost::logic::tribo const ifcopenshell::entity& Ifc4x1::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X1_types[858]); } -void Ifc4x1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcElement v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder)); } +Ifc4x1::IfcRelInterferesElements Ifc4x1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcElement v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x1::IfcObjectDefinition Ifc4x1::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcObjectDefinition>(); } @@ -12592,7 +12592,7 @@ void Ifc4x1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x1::IfcObje const ifcopenshell::entity& Ifc4x1::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X1_types[859]); } -void Ifc4x1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x1::IfcRelNests Ifc4x1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x1::IfcElement Ifc4x1::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } @@ -12602,7 +12602,7 @@ void Ifc4x1::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[860]); } -void Ifc4x1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x1::IfcRelProjectsElement Ifc4x1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x1::IfcProduct > Ifc4x1::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x1::IfcProduct>(es); } @@ -12612,7 +12612,7 @@ void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::If const ifcopenshell::entity& Ifc4x1::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X1_types[861]); } -void Ifc4x1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x1::IfcRelReferencedInSpatialStructure Ifc4x1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x1::IfcProcess Ifc4x1::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcProcess>(); } @@ -12628,7 +12628,7 @@ void Ifc4x1::IfcRelSequence::setUserDefinedSequenceType(const std::optional< std const ifcopenshell::entity& Ifc4x1::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X1_types[862]); } -void Ifc4x1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess v5_RelatingProcess, ::Ifc4x1::IfcProcess v6_RelatedProcess, ::Ifc4x1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x1::IfcRelSequence Ifc4x1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess v5_RelatingProcess, ::Ifc4x1::IfcProcess v6_RelatedProcess, ::Ifc4x1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x1::IfcSystem Ifc4x1::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcSystem>(); } @@ -12638,7 +12638,7 @@ void Ifc4x1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::I const ifcopenshell::entity& Ifc4x1::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X1_types[863]); } -void Ifc4x1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x1::IfcRelServicesBuildings Ifc4x1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x1::IfcSpaceBoundarySelect Ifc4x1::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcSpaceBoundarySelect>(); } @@ -12654,7 +12654,7 @@ void Ifc4x1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X1_types[864]); } -void Ifc4x1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x1::IfcRelSpaceBoundary Ifc4x1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x1::IfcRelSpaceBoundary1stLevel Ifc4x1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x1::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x1::IfcRelSpaceBoundary1stLevel>(); } @@ -12663,7 +12663,7 @@ void Ifc4x1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x1::IfcR std::vector<::Ifc4x1::IfcRelSpaceBoundary1stLevel> Ifc4x1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[865], 9)); } const ifcopenshell::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[865]); } -void Ifc4x1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x1::IfcRelSpaceBoundary1stLevel Ifc4x1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x1::IfcRelSpaceBoundary2ndLevel Ifc4x1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x1::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x1::IfcRelSpaceBoundary2ndLevel>(); } @@ -12672,7 +12672,7 @@ void Ifc4x1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x std::vector<::Ifc4x1::IfcRelSpaceBoundary2ndLevel> Ifc4x1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[866], 10)); } const ifcopenshell::entity& Ifc4x1::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[866]); } -void Ifc4x1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x1::IfcRelSpaceBoundary2ndLevel Ifc4x1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x1::IfcElement Ifc4x1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcElement>(); } @@ -12682,13 +12682,13 @@ void Ifc4x1::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x1::IfcFea const ifcopenshell::entity& Ifc4x1::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[867]); } -void Ifc4x1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, ::Ifc4x1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x1::IfcRelVoidsElement Ifc4x1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, ::Ifc4x1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x1::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[836]); } -void Ifc4x1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcRelationship Ifc4x1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -12696,7 +12696,7 @@ void Ifc4x1::IfcReparametrisedCompositeCurveSegment::setParamLength(const double const ifcopenshell::entity& Ifc4x1::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[868]); } -void Ifc4x1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x1::IfcReparametrisedCompositeCurveSegment Ifc4x1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x1::IfcRepresentationContext Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcRepresentationContext>(); } @@ -12713,7 +12713,7 @@ std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentation: std::vector<::Ifc4x1::IfcProductRepresentation> Ifc4x1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[733], 2)); } const ifcopenshell::entity& Ifc4x1::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[869]); } -void Ifc4x1::IfcRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x1::IfcRepresentation Ifc4x1::IfcRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12724,7 +12724,7 @@ void Ifc4x1::IfcRepresentationContext::setContextType(const std::optional< std:: std::vector<::Ifc4x1::IfcRepresentation> Ifc4x1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[869], 0)); } const ifcopenshell::entity& Ifc4x1::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X1_types[870]); } -void Ifc4x1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x1::IfcRepresentationContext Ifc4x1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -12732,7 +12732,7 @@ std::vector<::Ifc4x1::IfcPresentationLayerAssignment> Ifc4x1::IfcRepresentationI std::vector<::Ifc4x1::IfcStyledItem> Ifc4x1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[1019], 0)); } const ifcopenshell::entity& Ifc4x1::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[871]); } -void Ifc4x1::IfcRepresentationItem::initialize() { } +Ifc4x1::IfcRepresentationItem Ifc4x1::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x1::IfcAxis2Placement Ifc4x1::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcAxis2Placement>(); } @@ -12744,7 +12744,7 @@ std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcRepresentationMap::HasShapeAspe std::vector<::Ifc4x1::IfcMappedItem> Ifc4x1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[570], 0)); } const ifcopenshell::entity& Ifc4x1::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[872]); } -void Ifc4x1::IfcRepresentationMap::initialize(::Ifc4x1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x1::IfcRepresentationMap Ifc4x1::IfcRepresentationMap::initialize(::Ifc4x1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12755,7 +12755,7 @@ void Ifc4x1::IfcResource::setLongDescription(const std::optional< std::string >& std::vector<::Ifc4x1::IfcRelAssignsToResource> Ifc4x1::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[828], 6)); } const ifcopenshell::entity& Ifc4x1::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[873]); } -void Ifc4x1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x1::IfcResource Ifc4x1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x1::IfcResourceObjectSelect > Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcResourceObjectSelect>(es); } @@ -12765,7 +12765,7 @@ void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[874]); } -void Ifc4x1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x1::IfcResourceApprovalRelationship Ifc4x1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x1::IfcConstraint Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcConstraint>(); } @@ -12775,7 +12775,7 @@ void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(const const ifcopenshell::entity& Ifc4x1::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[875]); } -void Ifc4x1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x1::IfcResourceConstraintRelationship Ifc4x1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12785,7 +12785,7 @@ void Ifc4x1::IfcResourceLevelRelationship::setDescription(const std::optional< s const ifcopenshell::entity& Ifc4x1::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X1_types[876]); } -void Ifc4x1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x1::IfcResourceLevelRelationship Ifc4x1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12821,7 +12821,7 @@ void Ifc4x1::IfcResourceTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x1::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[879]); } -void Ifc4x1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x1::IfcResourceTime Ifc4x1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x1::IfcAxis1Placement Ifc4x1::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis1Placement>(); } @@ -12831,7 +12831,7 @@ void Ifc4x1::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x1::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[880]); } -void Ifc4x1::IfcRevolvedAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x1::IfcRevolvedAreaSolid Ifc4x1::IfcRevolvedAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x1::IfcProfileDef Ifc4x1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x1::IfcProfileDef>(); } @@ -12839,7 +12839,7 @@ void Ifc4x1::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x1::IfcPro const ifcopenshell::entity& Ifc4x1::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X1_types[881]); } -void Ifc4x1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x1::IfcRevolvedAreaSolidTapered Ifc4x1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -12849,7 +12849,7 @@ void Ifc4x1::IfcRightCircularCone::setBottomRadius(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X1_types[882]); } -void Ifc4x1::IfcRightCircularCone::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x1::IfcRightCircularCone Ifc4x1::IfcRightCircularCone::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -12859,7 +12859,7 @@ void Ifc4x1::IfcRightCircularCylinder::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x1::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X1_types[883]); } -void Ifc4x1::IfcRightCircularCylinder::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x1::IfcRightCircularCylinder Ifc4x1::IfcRightCircularCylinder::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > Ifc4x1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -12867,7 +12867,7 @@ void Ifc4x1::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x1::IfcRoofTy const ifcopenshell::entity& Ifc4x1::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X1_types[885]); } -void Ifc4x1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcRoof Ifc4x1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x1::IfcRoofTypeEnum::Value Ifc4x1::IfcRoofType::PredefinedType() const { return ::Ifc4x1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -12875,7 +12875,7 @@ void Ifc4x1::IfcRoofType::setPredefinedType(const ::Ifc4x1::IfcRoofTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[886]); } -void Ifc4x1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcRoofType Ifc4x1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -12889,7 +12889,7 @@ void Ifc4x1::IfcRoot::setDescription(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x1::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X1_types[888]); } -void Ifc4x1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x1::IfcRoot Ifc4x1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -12897,7 +12897,7 @@ void Ifc4x1::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& v) { const ifcopenshell::entity& Ifc4x1::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[893]); } -void Ifc4x1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x1::IfcRoundedRectangleProfileDef Ifc4x1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x1::IfcSIPrefix::Value > Ifc4x1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -12907,7 +12907,7 @@ void Ifc4x1::IfcSIUnit::setName(const ::Ifc4x1::IfcSIUnitName::Value& v) { set_a const ifcopenshell::entity& Ifc4x1::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X1_types[927]); } -void Ifc4x1::IfcSIUnit::initialize(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x1::IfcSIUnit Ifc4x1::IfcSIUnit::initialize(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -12915,7 +12915,7 @@ void Ifc4x1::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[894]); } -void Ifc4x1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSanitaryTerminal Ifc4x1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value Ifc4x1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -12923,7 +12923,7 @@ void Ifc4x1::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x1::IfcSanit const ifcopenshell::entity& Ifc4x1::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[895]); } -void Ifc4x1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcSanitaryTerminalType Ifc4x1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12935,13 +12935,13 @@ void Ifc4x1::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional< st const ifcopenshell::entity& Ifc4x1::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[897]); } -void Ifc4x1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x1::IfcSchedulingTime Ifc4x1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x1::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[898]); } -void Ifc4x1::IfcSeamCurve::initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x1::IfcSeamCurve Ifc4x1::IfcSeamCurve::initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x1::IfcSectionTypeEnum::Value Ifc4x1::IfcSectionProperties::SectionType() const { return ::Ifc4x1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -12953,7 +12953,7 @@ void Ifc4x1::IfcSectionProperties::setEndProfile(const ::Ifc4x1::IfcProfileDef& const ifcopenshell::entity& Ifc4x1::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[904]); } -void Ifc4x1::IfcSectionProperties::initialize(::Ifc4x1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x1::IfcProfileDef v2_StartProfile, ::Ifc4x1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x1::IfcSectionProperties Ifc4x1::IfcSectionProperties::initialize(::Ifc4x1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x1::IfcProfileDef v2_StartProfile, ::Ifc4x1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -12971,7 +12971,7 @@ void Ifc4x1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefi const ifcopenshell::entity& Ifc4x1::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[905]); } -void Ifc4x1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x1::IfcSectionReinforcementProperties Ifc4x1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x1::IfcCurve Ifc4x1::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -12981,7 +12981,7 @@ void Ifc4x1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[900]); } -void Ifc4x1::IfcSectionedSolid::initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x1::IfcSectionedSolid Ifc4x1::IfcSectionedSolid::initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x1::IfcDistanceExpression > Ifc4x1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x1::IfcDistanceExpression>(es); } @@ -12991,7 +12991,7 @@ void Ifc4x1::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { const ifcopenshell::entity& Ifc4x1::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[901]); } -void Ifc4x1::IfcSectionedSolidHorizontal::initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x1::IfcSectionedSolidHorizontal Ifc4x1::IfcSectionedSolidHorizontal::initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x1::IfcCompositeCurve Ifc4x1::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCompositeCurve>(); } @@ -13003,7 +13003,7 @@ void Ifc4x1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::If const ifcopenshell::entity& Ifc4x1::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X1_types[902]); } -void Ifc4x1::IfcSectionedSpine::initialize(::Ifc4x1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x1::IfcSectionedSpine Ifc4x1::IfcSectionedSpine::initialize(::Ifc4x1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > Ifc4x1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -13011,7 +13011,7 @@ void Ifc4x1::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x1::IfcSens const ifcopenshell::entity& Ifc4x1::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[908]); } -void Ifc4x1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSensor Ifc4x1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x1::IfcSensorTypeEnum::Value Ifc4x1::IfcSensorType::PredefinedType() const { return ::Ifc4x1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -13019,7 +13019,7 @@ void Ifc4x1::IfcSensorType::setPredefinedType(const ::Ifc4x1::IfcSensorTypeEnum: const ifcopenshell::entity& Ifc4x1::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[909]); } -void Ifc4x1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcSensorType Ifc4x1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > Ifc4x1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13027,7 +13027,7 @@ void Ifc4x1::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[912]); } -void Ifc4x1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcShadingDevice Ifc4x1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x1::IfcShadingDeviceTypeEnum::Value Ifc4x1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13035,7 +13035,7 @@ void Ifc4x1::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x1::IfcShadingD const ifcopenshell::entity& Ifc4x1::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[913]); } -void Ifc4x1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcShadingDeviceType Ifc4x1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x1::IfcShapeModel > Ifc4x1::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcShapeModel>(es); } @@ -13052,20 +13052,20 @@ void Ifc4x1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x1::Ifc std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X1_types[915]); } -void Ifc4x1::IfcShapeAspect::initialize(std::vector< ::Ifc4x1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x1::IfcShapeAspect Ifc4x1::IfcShapeAspect::initialize(std::vector< ::Ifc4x1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x1::IfcShapeAspect> Ifc4x1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[915], 0)); } const ifcopenshell::entity& Ifc4x1::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[916]); } -void Ifc4x1::IfcShapeModel::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x1::IfcShapeModel Ifc4x1::IfcShapeModel::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x1::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[917]); } -void Ifc4x1::IfcShapeRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x1::IfcShapeRepresentation Ifc4x1::IfcShapeRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x1::IfcShell > Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcShell>(es); } @@ -13073,13 +13073,13 @@ void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x1::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[920]); } -void Ifc4x1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x1::IfcShellBasedSurfaceModel Ifc4x1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x1::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X1_types[921]); } -void Ifc4x1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x1::IfcSimpleProperty Ifc4x1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13101,7 +13101,7 @@ void Ifc4x1::IfcSimplePropertyTemplate::setAccessState(const std::optional< ::If const ifcopenshell::entity& Ifc4x1::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[922]); } -void Ifc4x1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x1::IfcUnit v9_PrimaryUnit, ::Ifc4x1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x1::IfcSimplePropertyTemplate Ifc4x1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x1::IfcUnit v9_PrimaryUnit, ::Ifc4x1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -13117,7 +13117,7 @@ void Ifc4x1::IfcSite::setSiteAddress(const ::Ifc4x1::IfcPostalAddress& v) { set_ const ifcopenshell::entity& Ifc4x1::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X1_types[926]); } -void Ifc4x1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x1::IfcSite Ifc4x1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > Ifc4x1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -13125,19 +13125,19 @@ void Ifc4x1::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x1::IfcSlabTy const ifcopenshell::entity& Ifc4x1::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X1_types[930]); } -void Ifc4x1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSlab Ifc4x1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4x1::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[931]); } -void Ifc4x1::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSlabElementedCase Ifc4x1::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4x1::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[932]); } -void Ifc4x1::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSlabStandardCase Ifc4x1::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x1::IfcSlabTypeEnum::Value Ifc4x1::IfcSlabType::PredefinedType() const { return ::Ifc4x1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -13145,7 +13145,7 @@ void Ifc4x1::IfcSlabType::setPredefinedType(const ::Ifc4x1::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[933]); } -void Ifc4x1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcSlabType Ifc4x1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13157,7 +13157,7 @@ void Ifc4x1::IfcSlippageConnectionCondition::setSlippageZ(const std::optional< d const ifcopenshell::entity& Ifc4x1::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[935]); } -void Ifc4x1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x1::IfcSlippageConnectionCondition Ifc4x1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > Ifc4x1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13165,7 +13165,7 @@ void Ifc4x1::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[936]); } -void Ifc4x1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSolarDevice Ifc4x1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x1::IfcSolarDeviceTypeEnum::Value Ifc4x1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13173,13 +13173,13 @@ void Ifc4x1::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x1::IfcSolarDevic const ifcopenshell::entity& Ifc4x1::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[937]); } -void Ifc4x1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcSolarDeviceType Ifc4x1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x1::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[940]); } -void Ifc4x1::IfcSolidModel::initialize() { } +Ifc4x1::IfcSolidModel Ifc4x1::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > Ifc4x1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -13191,7 +13191,7 @@ std::vector<::Ifc4x1::IfcRelCoversSpaces> Ifc4x1::IfcSpace::HasCoverings() const std::vector<::Ifc4x1::IfcRelSpaceBoundary> Ifc4x1::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[864], 4)); } const ifcopenshell::entity& Ifc4x1::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X1_types[946]); } -void Ifc4x1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x1::IfcSpace Ifc4x1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > Ifc4x1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -13199,7 +13199,7 @@ void Ifc4x1::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X1_types[948]); } -void Ifc4x1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSpaceHeater Ifc4x1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value Ifc4x1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -13207,7 +13207,7 @@ void Ifc4x1::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x1::IfcSpaceHeate const ifcopenshell::entity& Ifc4x1::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[949]); } -void Ifc4x1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcSpaceHeaterType Ifc4x1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x1::IfcSpaceTypeEnum::Value Ifc4x1::IfcSpaceType::PredefinedType() const { return ::Ifc4x1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -13217,7 +13217,7 @@ void Ifc4x1::IfcSpaceType::setLongName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x1::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[951]); } -void Ifc4x1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x1::IfcSpaceType Ifc4x1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -13228,7 +13228,7 @@ std::vector<::Ifc4x1::IfcRelServicesBuildings> Ifc4x1::IfcSpatialElement::Servic std::vector<::Ifc4x1::IfcRelReferencedInSpatialStructure> Ifc4x1::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[861], 5)); } const ifcopenshell::entity& Ifc4x1::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[953]); } -void Ifc4x1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x1::IfcSpatialElement Ifc4x1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13236,7 +13236,7 @@ void Ifc4x1::IfcSpatialElementType::setElementType(const std::optional< std::str const ifcopenshell::entity& Ifc4x1::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[954]); } -void Ifc4x1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcSpatialElementType Ifc4x1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > Ifc4x1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -13244,13 +13244,13 @@ void Ifc4x1::IfcSpatialStructureElement::setCompositionType(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[955]); } -void Ifc4x1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x1::IfcSpatialStructureElement Ifc4x1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x1::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[956]); } -void Ifc4x1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x1::IfcSpatialStructureElementType Ifc4x1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > Ifc4x1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -13258,7 +13258,7 @@ void Ifc4x1::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X1_types[957]); } -void Ifc4x1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSpatialZone Ifc4x1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x1::IfcSpatialZoneTypeEnum::Value Ifc4x1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -13268,7 +13268,7 @@ void Ifc4x1::IfcSpatialZoneType::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x1::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[958]); } -void Ifc4x1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x1::IfcSpatialZoneType Ifc4x1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -13276,7 +13276,7 @@ void Ifc4x1::IfcSphere::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc4x1::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X1_types[964]); } -void Ifc4x1::IfcSphere::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x1::IfcSphere Ifc4x1::IfcSphere::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -13284,7 +13284,7 @@ void Ifc4x1::IfcSphericalSurface::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x1::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[965]); } -void Ifc4x1::IfcSphericalSurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x1::IfcSphericalSurface Ifc4x1::IfcSphericalSurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > Ifc4x1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -13292,7 +13292,7 @@ void Ifc4x1::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[966]); } -void Ifc4x1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcStackTerminal Ifc4x1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x1::IfcStackTerminalTypeEnum::Value Ifc4x1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -13300,7 +13300,7 @@ void Ifc4x1::IfcStackTerminalType::setPredefinedType(const ::Ifc4x1::IfcStackTer const ifcopenshell::entity& Ifc4x1::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[967]); } -void Ifc4x1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcStackTerminalType Ifc4x1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x1::IfcStairTypeEnum::Value > Ifc4x1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -13308,7 +13308,7 @@ void Ifc4x1::IfcStair::setPredefinedType(const std::optional< ::Ifc4x1::IfcStair const ifcopenshell::entity& Ifc4x1::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X1_types[969]); } -void Ifc4x1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcStair Ifc4x1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -13324,7 +13324,7 @@ void Ifc4x1::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X1_types[970]); } -void Ifc4x1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x1::IfcStairFlight Ifc4x1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x1::IfcStairFlightTypeEnum::Value Ifc4x1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13332,7 +13332,7 @@ void Ifc4x1::IfcStairFlightType::setPredefinedType(const ::Ifc4x1::IfcStairFligh const ifcopenshell::entity& Ifc4x1::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[971]); } -void Ifc4x1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcStairFlightType Ifc4x1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x1::IfcStairTypeEnum::Value Ifc4x1::IfcStairType::PredefinedType() const { return ::Ifc4x1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -13340,7 +13340,7 @@ void Ifc4x1::IfcStairType::setPredefinedType(const ::Ifc4x1::IfcStairTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[973]); } -void Ifc4x1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcStairType Ifc4x1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -13348,7 +13348,7 @@ void Ifc4x1::IfcStructuralAction::setDestabilizingLoad(const std::optional< bool const ifcopenshell::entity& Ifc4x1::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[976]); } -void Ifc4x1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x1::IfcStructuralAction Ifc4x1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x1::IfcStructuralLoad Ifc4x1::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcStructuralLoad>(); } @@ -13359,7 +13359,7 @@ void Ifc4x1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x1::IfcGlobalOr std::vector<::Ifc4x1::IfcRelConnectsStructuralActivity> Ifc4x1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[842], 5)); } const ifcopenshell::entity& Ifc4x1::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X1_types[977]); } -void Ifc4x1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x1::IfcStructuralActivity Ifc4x1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -13375,7 +13375,7 @@ void Ifc4x1::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x1::IfcO const ifcopenshell::entity& Ifc4x1::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[979]); } -void Ifc4x1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x1::IfcStructuralAnalysisModel Ifc4x1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x1::IfcBoundaryCondition Ifc4x1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x1::IfcBoundaryCondition>(); } @@ -13384,7 +13384,7 @@ void Ifc4x1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x1::IfcBou std::vector<::Ifc4x1::IfcRelConnectsStructuralMember> Ifc4x1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[843], 5)); } const ifcopenshell::entity& Ifc4x1::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[980]); } -void Ifc4x1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x1::IfcStructuralConnection Ifc4x1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13392,7 +13392,7 @@ void Ifc4x1::IfcStructuralConnectionCondition::setName(const std::optional< std: const ifcopenshell::entity& Ifc4x1::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X1_types[981]); } -void Ifc4x1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcStructuralConnectionCondition Ifc4x1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -13402,7 +13402,7 @@ void Ifc4x1::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x1::IfcStru const ifcopenshell::entity& Ifc4x1::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[982]); } -void Ifc4x1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcStructuralCurveAction Ifc4x1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x1::IfcDirection Ifc4x1::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcDirection>(); } @@ -13410,7 +13410,7 @@ void Ifc4x1::IfcStructuralCurveConnection::setAxis(const ::Ifc4x1::IfcDirection& const ifcopenshell::entity& Ifc4x1::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[984]); } -void Ifc4x1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4x1::IfcStructuralCurveConnection Ifc4x1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -13420,13 +13420,13 @@ void Ifc4x1::IfcStructuralCurveMember::setAxis(const ::Ifc4x1::IfcDirection& v) const ifcopenshell::entity& Ifc4x1::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X1_types[985]); } -void Ifc4x1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x1::IfcStructuralCurveMember Ifc4x1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x1::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X1_types[987]); } -void Ifc4x1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x1::IfcStructuralCurveMemberVarying Ifc4x1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -13434,20 +13434,20 @@ void Ifc4x1::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x1::IfcSt const ifcopenshell::entity& Ifc4x1::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[988]); } -void Ifc4x1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcStructuralCurveReaction Ifc4x1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x1::IfcRelConnectsStructuralActivity> Ifc4x1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[842], 4)); } const ifcopenshell::entity& Ifc4x1::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[989]); } -void Ifc4x1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x1::IfcStructuralItem Ifc4x1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x1::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[990]); } -void Ifc4x1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcStructuralLinearAction Ifc4x1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13455,7 +13455,7 @@ void Ifc4x1::IfcStructuralLoad::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x1::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X1_types[991]); } -void Ifc4x1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcStructuralLoad Ifc4x1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -13463,7 +13463,7 @@ void Ifc4x1::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[992]); } -void Ifc4x1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x1::IfcStructuralLoadCase Ifc4x1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > Ifc4x1::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcStructuralLoadOrResult>(es); } @@ -13473,7 +13473,7 @@ void Ifc4x1::IfcStructuralLoadConfiguration::setLocations(const std::optional< s const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X1_types[993]); } -void Ifc4x1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x1::IfcStructuralLoadConfiguration Ifc4x1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x1::IfcLoadGroupTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -13491,7 +13491,7 @@ std::vector<::Ifc4x1::IfcStructuralResultGroup> Ifc4x1::IfcStructuralLoadGroup:: std::vector<::Ifc4x1::IfcStructuralAnalysisModel> Ifc4x1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[979], 7)); } const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X1_types[994]); } -void Ifc4x1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x1::IfcStructuralLoadGroup Ifc4x1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13509,13 +13509,13 @@ void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X1_types[995]); } -void Ifc4x1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x1::IfcStructuralLoadLinearForce Ifc4x1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X1_types[996]); } -void Ifc4x1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcStructuralLoadOrResult Ifc4x1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13527,7 +13527,7 @@ void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X1_types[997]); } -void Ifc4x1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x1::IfcStructuralLoadPlanarForce Ifc4x1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13545,7 +13545,7 @@ void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(co const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[998]); } -void Ifc4x1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x1::IfcStructuralLoadSingleDisplacement Ifc4x1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -13553,7 +13553,7 @@ void Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(const const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X1_types[999]); } -void Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13571,7 +13571,7 @@ void Ifc4x1::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< doubl const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1000]); } -void Ifc4x1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x1::IfcStructuralLoadSingleForce Ifc4x1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -13579,13 +13579,13 @@ void Ifc4x1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std::op const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1001]); } -void Ifc4x1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x1::IfcStructuralLoadSingleForceWarping Ifc4x1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1002]); } -void Ifc4x1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x1::IfcStructuralLoadStatic Ifc4x1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13597,26 +13597,26 @@ void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< doubl const ifcopenshell::entity& Ifc4x1::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1003]); } -void Ifc4x1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x1::IfcStructuralLoadTemperature Ifc4x1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x1::IfcRelConnectsStructuralMember> Ifc4x1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[843], 4)); } const ifcopenshell::entity& Ifc4x1::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1004]); } -void Ifc4x1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x1::IfcStructuralMember Ifc4x1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x1::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1005]); } -void Ifc4x1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcStructuralPlanarAction Ifc4x1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x1::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1006]); } -void Ifc4x1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x1::IfcStructuralPointAction Ifc4x1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x1::IfcAxis2Placement3D Ifc4x1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x1::IfcAxis2Placement3D>(); } @@ -13624,19 +13624,19 @@ void Ifc4x1::IfcStructuralPointConnection::setConditionCoordinateSystem(const :: const ifcopenshell::entity& Ifc4x1::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1007]); } -void Ifc4x1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x1::IfcStructuralPointConnection Ifc4x1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x1::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1008]); } -void Ifc4x1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x1::IfcStructuralPointReaction Ifc4x1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x1::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1009]); } -void Ifc4x1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x1::IfcStructuralReaction Ifc4x1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -13649,7 +13649,7 @@ void Ifc4x1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribut std::vector<::Ifc4x1::IfcStructuralAnalysisModel> Ifc4x1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[979], 8)); } const ifcopenshell::entity& Ifc4x1::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1010]); } -void Ifc4x1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x1::IfcStructuralResultGroup Ifc4x1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -13659,13 +13659,13 @@ void Ifc4x1::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x1::IfcSt const ifcopenshell::entity& Ifc4x1::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1011]); } -void Ifc4x1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcStructuralSurfaceAction Ifc4x1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x1::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1013]); } -void Ifc4x1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x1::IfcStructuralSurfaceConnection Ifc4x1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -13675,13 +13675,13 @@ void Ifc4x1::IfcStructuralSurfaceMember::setThickness(const std::optional< doubl const ifcopenshell::entity& Ifc4x1::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1014]); } -void Ifc4x1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x1::IfcStructuralSurfaceMember Ifc4x1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x1::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1016]); } -void Ifc4x1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x1::IfcStructuralSurfaceMemberVarying Ifc4x1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -13689,13 +13689,13 @@ void Ifc4x1::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1017]); } -void Ifc4x1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcStructuralSurfaceReaction Ifc4x1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x1::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1021]); } -void Ifc4x1::IfcStyleModel::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x1::IfcStyleModel Ifc4x1::IfcStyleModel::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x1::IfcRepresentationItem Ifc4x1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x1::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcRepresentationItem>(); } @@ -13707,13 +13707,13 @@ void Ifc4x1::IfcStyledItem::setName(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x1::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1019]); } -void Ifc4x1::IfcStyledItem::initialize(::Ifc4x1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x1::IfcStyledItem Ifc4x1::IfcStyledItem::initialize(::Ifc4x1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x1::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1020]); } -void Ifc4x1::IfcStyledRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x1::IfcStyledRepresentation Ifc4x1::IfcStyledRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > Ifc4x1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -13721,7 +13721,7 @@ void Ifc4x1::IfcSubContractResource::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x1::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1022]); } -void Ifc4x1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x1::IfcSubContractResource Ifc4x1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x1::IfcSubContractResourceTypeEnum::Value Ifc4x1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -13729,7 +13729,7 @@ void Ifc4x1::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x1::IfcSu const ifcopenshell::entity& Ifc4x1::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1023]); } -void Ifc4x1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x1::IfcSubContractResourceType Ifc4x1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x1::IfcEdge Ifc4x1::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcEdge>(); } @@ -13737,13 +13737,13 @@ void Ifc4x1::IfcSubedge::setParentEdge(const ::Ifc4x1::IfcEdge& v) { set_attribu const ifcopenshell::entity& Ifc4x1::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1025]); } -void Ifc4x1::IfcSubedge::initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x1::IfcSubedge Ifc4x1::IfcSubedge::initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x1::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1026]); } -void Ifc4x1::IfcSurface::initialize() { } +Ifc4x1::IfcSurface Ifc4x1::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x1::IfcCurve Ifc4x1::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -13755,7 +13755,7 @@ void Ifc4x1::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x1::IfcPreferr const ifcopenshell::entity& Ifc4x1::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1027]); } -void Ifc4x1::IfcSurfaceCurve::initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x1::IfcSurfaceCurve Ifc4x1::IfcSurfaceCurve::initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x1::IfcCurve Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcCurve>(); } @@ -13769,7 +13769,7 @@ void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1028]); } -void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x1::IfcSurfaceCurveSweptAreaSolid Ifc4x1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -13777,7 +13777,7 @@ void Ifc4x1::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1029]); } -void Ifc4x1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSurfaceFeature Ifc4x1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x1::IfcDirection Ifc4x1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcDirection>(); } @@ -13787,7 +13787,7 @@ void Ifc4x1::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1031]); } -void Ifc4x1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x1::IfcSurfaceOfLinearExtrusion Ifc4x1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x1::IfcAxis1Placement Ifc4x1::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcAxis1Placement>(); } @@ -13795,7 +13795,7 @@ void Ifc4x1::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x1::IfcAxis1Pla const ifcopenshell::entity& Ifc4x1::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1032]); } -void Ifc4x1::IfcSurfaceOfRevolution::initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x1::IfcSurfaceOfRevolution Ifc4x1::IfcSurfaceOfRevolution::initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -13807,7 +13807,7 @@ void Ifc4x1::IfcSurfaceReinforcementArea::setShearReinforcement(const std::optio const ifcopenshell::entity& Ifc4x1::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1034]); } -void Ifc4x1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x1::IfcSurfaceReinforcementArea Ifc4x1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceStyle::Side() const { return ::Ifc4x1::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -13817,7 +13817,7 @@ void Ifc4x1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x1::IfcSurfaceS const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1036]); } -void Ifc4x1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x1::IfcSurfaceStyle Ifc4x1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcColourRgb>(); } @@ -13831,7 +13831,7 @@ void Ifc4x1::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x1::IfcCo const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1038]); } -void Ifc4x1::IfcSurfaceStyleLighting::initialize(::Ifc4x1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x1::IfcColourRgb v3_TransmissionColour, ::Ifc4x1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x1::IfcSurfaceStyleLighting Ifc4x1::IfcSurfaceStyleLighting::initialize(::Ifc4x1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x1::IfcColourRgb v3_TransmissionColour, ::Ifc4x1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -13841,7 +13841,7 @@ void Ifc4x1::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1039]); } -void Ifc4x1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x1::IfcSurfaceStyleRefraction Ifc4x1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x1::IfcColourOrFactor Ifc4x1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x1::IfcColourOrFactor>(); } @@ -13861,7 +13861,7 @@ void Ifc4x1::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x1::IfcR const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1040]); } -void Ifc4x1::IfcSurfaceStyleRendering::initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x1::IfcSurfaceStyleRendering Ifc4x1::IfcSurfaceStyleRendering::initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x1::IfcColourRgb Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcColourRgb>(); } @@ -13871,7 +13871,7 @@ void Ifc4x1::IfcSurfaceStyleShading::setTransparency(const std::optional< double const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1041]); } -void Ifc4x1::IfcSurfaceStyleShading::initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x1::IfcSurfaceStyleShading Ifc4x1::IfcSurfaceStyleShading::initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x1::IfcSurfaceTexture > Ifc4x1::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcSurfaceTexture>(es); } @@ -13879,7 +13879,7 @@ void Ifc4x1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1042]); } -void Ifc4x1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x1::IfcSurfaceStyleWithTextures Ifc4x1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -13897,7 +13897,7 @@ std::vector<::Ifc4x1::IfcTextureCoordinate> Ifc4x1::IfcSurfaceTexture::IsMappedB std::vector<::Ifc4x1::IfcSurfaceStyleWithTextures> Ifc4x1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[1042], 0)); } const ifcopenshell::entity& Ifc4x1::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1043]); } -void Ifc4x1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x1::IfcSurfaceTexture Ifc4x1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x1::IfcProfileDef Ifc4x1::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcProfileDef>(); } @@ -13907,7 +13907,7 @@ void Ifc4x1::IfcSweptAreaSolid::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4x1::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1044]); } -void Ifc4x1::IfcSweptAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x1::IfcSweptAreaSolid Ifc4x1::IfcSweptAreaSolid::initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x1::IfcCurve Ifc4x1::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -13923,7 +13923,7 @@ void Ifc4x1::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x1::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1045]); } -void Ifc4x1::IfcSweptDiskSolid::initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x1::IfcSweptDiskSolid Ifc4x1::IfcSweptDiskSolid::initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -13931,7 +13931,7 @@ void Ifc4x1::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional< do const ifcopenshell::entity& Ifc4x1::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1046]); } -void Ifc4x1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x1::IfcSweptDiskSolidPolygonal Ifc4x1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x1::IfcProfileDef Ifc4x1::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcProfileDef>(); } @@ -13941,7 +13941,7 @@ void Ifc4x1::IfcSweptSurface::setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v const ifcopenshell::entity& Ifc4x1::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1047]); } -void Ifc4x1::IfcSweptSurface::initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x1::IfcSweptSurface Ifc4x1::IfcSweptSurface::initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13949,7 +13949,7 @@ void Ifc4x1::IfcSwitchingDevice::setPredefinedType(const std::optional< ::Ifc4x1 const ifcopenshell::entity& Ifc4x1::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1048]); } -void Ifc4x1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSwitchingDevice Ifc4x1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value Ifc4x1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13957,14 +13957,14 @@ void Ifc4x1::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x1::IfcSwitch const ifcopenshell::entity& Ifc4x1::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1049]); } -void Ifc4x1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcSwitchingDeviceType Ifc4x1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem std::vector<::Ifc4x1::IfcRelServicesBuildings> Ifc4x1::IfcSystem::ServicesBuildings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[863], 4)); } const ifcopenshell::entity& Ifc4x1::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1051]); } -void Ifc4x1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x1::IfcSystem Ifc4x1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13972,7 +13972,7 @@ void Ifc4x1::IfcSystemFurnitureElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x1::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1052]); } -void Ifc4x1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcSystemFurnitureElement Ifc4x1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -13980,7 +13980,7 @@ void Ifc4x1::IfcSystemFurnitureElementType::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x1::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1053]); } -void Ifc4x1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x1::IfcSystemFurnitureElementType Ifc4x1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14004,7 +14004,7 @@ void Ifc4x1::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x1::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1130]); } -void Ifc4x1::IfcTShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x1::IfcTShapeProfileDef Ifc4x1::IfcTShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14016,7 +14016,7 @@ void Ifc4x1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1055]); } -void Ifc4x1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x1::IfcTable Ifc4x1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14032,7 +14032,7 @@ void Ifc4x1::IfcTableColumn::setReferencePath(const ::Ifc4x1::IfcReference& v) { const ifcopenshell::entity& Ifc4x1::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1056]); } -void Ifc4x1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit v4_Unit, ::Ifc4x1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x1::IfcTableColumn Ifc4x1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit v4_Unit, ::Ifc4x1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x1::IfcValue > > Ifc4x1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcValue>(es); } @@ -14042,7 +14042,7 @@ void Ifc4x1::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) const ifcopenshell::entity& Ifc4x1::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1057]); } -void Ifc4x1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x1::IfcTableRow Ifc4x1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x1::IfcTankTypeEnum::Value > Ifc4x1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -14050,7 +14050,7 @@ void Ifc4x1::IfcTank::setPredefinedType(const std::optional< ::Ifc4x1::IfcTankTy const ifcopenshell::entity& Ifc4x1::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1058]); } -void Ifc4x1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcTank Ifc4x1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x1::IfcTankTypeEnum::Value Ifc4x1::IfcTankType::PredefinedType() const { return ::Ifc4x1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -14058,7 +14058,7 @@ void Ifc4x1::IfcTankType::setPredefinedType(const ::Ifc4x1::IfcTankTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1059]); } -void Ifc4x1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcTankType Ifc4x1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14076,7 +14076,7 @@ void Ifc4x1::IfcTask::setPredefinedType(const std::optional< ::Ifc4x1::IfcTaskTy const ifcopenshell::entity& Ifc4x1::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1061]); } -void Ifc4x1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x1::IfcTask Ifc4x1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > Ifc4x1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -14116,7 +14116,7 @@ void Ifc4x1::IfcTaskTime::setCompletion(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc4x1::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1063]); } -void Ifc4x1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x1::IfcTaskTime Ifc4x1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x1::IfcRecurrencePattern Ifc4x1::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x1::IfcRecurrencePattern>(); } @@ -14124,7 +14124,7 @@ void Ifc4x1::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x1::IfcRecurrencePa const ifcopenshell::entity& Ifc4x1::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1064]); } -void Ifc4x1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x1::IfcTaskTimeRecurring Ifc4x1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x1::IfcTaskTypeEnum::Value Ifc4x1::IfcTaskType::PredefinedType() const { return ::Ifc4x1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -14134,7 +14134,7 @@ void Ifc4x1::IfcTaskType::setWorkMethod(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x1::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1065]); } -void Ifc4x1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x1::IfcTaskType Ifc4x1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -14152,7 +14152,7 @@ void Ifc4x1::IfcTelecomAddress::setMessagingIDs(const std::optional< std::vector const ifcopenshell::entity& Ifc4x1::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1067]); } -void Ifc4x1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x1::IfcTelecomAddress Ifc4x1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > Ifc4x1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -14174,7 +14174,7 @@ void Ifc4x1::IfcTendon::setMinCurvatureRadius(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x1::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1070]); } -void Ifc4x1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x1::IfcTendon Ifc4x1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > Ifc4x1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -14182,7 +14182,7 @@ void Ifc4x1::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1071]); } -void Ifc4x1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x1::IfcTendonAnchor Ifc4x1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x1::IfcTendonAnchorTypeEnum::Value Ifc4x1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -14190,7 +14190,7 @@ void Ifc4x1::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x1::IfcTendonAnc const ifcopenshell::entity& Ifc4x1::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1072]); } -void Ifc4x1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcTendonAnchorType Ifc4x1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x1::IfcTendonTypeEnum::Value Ifc4x1::IfcTendonType::PredefinedType() const { return ::Ifc4x1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -14204,7 +14204,7 @@ void Ifc4x1::IfcTendonType::setSheathDiameter(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x1::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1074]); } -void Ifc4x1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x1::IfcTendonType Ifc4x1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x1::IfcCartesianPointList3D Ifc4x1::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCartesianPointList3D>(); } @@ -14214,13 +14214,13 @@ std::vector<::Ifc4x1::IfcIndexedColourMap> Ifc4x1::IfcTessellatedFaceSet::HasCol std::vector<::Ifc4x1::IfcIndexedTextureMap> Ifc4x1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[497], 1)); } const ifcopenshell::entity& Ifc4x1::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1076]); } -void Ifc4x1::IfcTessellatedFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x1::IfcTessellatedFaceSet Ifc4x1::IfcTessellatedFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x1::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1077]); } -void Ifc4x1::IfcTessellatedItem::initialize() { } +Ifc4x1::IfcTessellatedItem Ifc4x1::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -14232,7 +14232,7 @@ void Ifc4x1::IfcTextLiteral::setPath(const ::Ifc4x1::IfcTextPath::Value& v) { se const ifcopenshell::entity& Ifc4x1::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1083]); } -void Ifc4x1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x1::IfcTextLiteral Ifc4x1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x1::IfcPlanarExtent Ifc4x1::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcPlanarExtent>(); } @@ -14242,7 +14242,7 @@ void Ifc4x1::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { s const ifcopenshell::entity& Ifc4x1::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1084]); } -void Ifc4x1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x1::IfcTextLiteralWithExtent Ifc4x1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x1::IfcTextStyleForDefinedFont Ifc4x1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x1::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x1::IfcTextStyleForDefinedFont>(); } @@ -14256,7 +14256,7 @@ void Ifc4x1::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4x1::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1086]); } -void Ifc4x1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x1::IfcTextStyle Ifc4x1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -14272,7 +14272,7 @@ void Ifc4x1::IfcTextStyleFontModel::setFontSize(const ::Ifc4x1::IfcSizeSelect& v const ifcopenshell::entity& Ifc4x1::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1087]); } -void Ifc4x1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x1::IfcTextStyleFontModel Ifc4x1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x1::IfcColour Ifc4x1::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcColour>(); } @@ -14282,7 +14282,7 @@ void Ifc4x1::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1088]); } -void Ifc4x1::IfcTextStyleForDefinedFont::initialize(::Ifc4x1::IfcColour v1_Colour, ::Ifc4x1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x1::IfcTextStyleForDefinedFont Ifc4x1::IfcTextStyleForDefinedFont::initialize(::Ifc4x1::IfcColour v1_Colour, ::Ifc4x1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x1::IfcSizeSelect Ifc4x1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcSizeSelect>(); } @@ -14302,7 +14302,7 @@ void Ifc4x1::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x1::IfcSizeSelect& const ifcopenshell::entity& Ifc4x1::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1089]); } -void Ifc4x1::IfcTextStyleTextModel::initialize(::Ifc4x1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x1::IfcTextStyleTextModel Ifc4x1::IfcTextStyleTextModel::initialize(::Ifc4x1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x1::IfcSurfaceTexture > Ifc4x1::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcSurfaceTexture>(es); } @@ -14310,7 +14310,7 @@ void Ifc4x1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x1::IfcSurfa const ifcopenshell::entity& Ifc4x1::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1091]); } -void Ifc4x1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x1::IfcTextureCoordinate Ifc4x1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -14320,7 +14320,7 @@ void Ifc4x1::IfcTextureCoordinateGenerator::setParameter(const std::optional< st const ifcopenshell::entity& Ifc4x1::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1092]); } -void Ifc4x1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x1::IfcTextureCoordinateGenerator Ifc4x1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x1::IfcTextureVertex > Ifc4x1::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x1::IfcTextureVertex>(es); } @@ -14330,7 +14330,7 @@ void Ifc4x1::IfcTextureMap::setMappedTo(const ::Ifc4x1::IfcFace& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1093]); } -void Ifc4x1::IfcTextureMap::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x1::IfcTextureVertex > v2_Vertices, ::Ifc4x1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x1::IfcTextureMap Ifc4x1::IfcTextureMap::initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x1::IfcTextureVertex > v2_Vertices, ::Ifc4x1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -14338,7 +14338,7 @@ void Ifc4x1::IfcTextureVertex::setCoordinates(const std::vector< double > /*[2:2 const ifcopenshell::entity& Ifc4x1::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1094]); } -void Ifc4x1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x1::IfcTextureVertex Ifc4x1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -14346,7 +14346,7 @@ void Ifc4x1::IfcTextureVertexList::setTexCoordsList(const std::vector< std::vect const ifcopenshell::entity& Ifc4x1::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1095]); } -void Ifc4x1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x1::IfcTextureVertexList Ifc4x1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -14356,7 +14356,7 @@ void Ifc4x1::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute_val const ifcopenshell::entity& Ifc4x1::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1105]); } -void Ifc4x1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x1::IfcTimePeriod Ifc4x1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -14379,7 +14379,7 @@ void Ifc4x1::IfcTimeSeries::setUnit(const ::Ifc4x1::IfcUnit& v) { set_attribute_ std::vector<::Ifc4x1::IfcExternalReferenceRelationship> Ifc4x1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[394], 3)); } const ifcopenshell::entity& Ifc4x1::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1106]); } -void Ifc4x1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x1::IfcTimeSeries Ifc4x1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x1::IfcValue > Ifc4x1::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcValue>(es); } @@ -14387,19 +14387,19 @@ void Ifc4x1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x1::IfcV const ifcopenshell::entity& Ifc4x1::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1108]); } -void Ifc4x1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x1::IfcTimeSeriesValue Ifc4x1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x1::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1110]); } -void Ifc4x1::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x1::IfcTopologicalRepresentationItem Ifc4x1::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x1::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1111]); } -void Ifc4x1::IfcTopologyRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x1::IfcTopologyRepresentation Ifc4x1::IfcTopologyRepresentation::initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -14409,7 +14409,7 @@ void Ifc4x1::IfcToroidalSurface::setMinorRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x1::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1112]); } -void Ifc4x1::IfcToroidalSurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x1::IfcToroidalSurface Ifc4x1::IfcToroidalSurface::initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > Ifc4x1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -14417,7 +14417,7 @@ void Ifc4x1::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x1::If const ifcopenshell::entity& Ifc4x1::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1114]); } -void Ifc4x1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcTransformer Ifc4x1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x1::IfcTransformerTypeEnum::Value Ifc4x1::IfcTransformerType::PredefinedType() const { return ::Ifc4x1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -14425,7 +14425,7 @@ void Ifc4x1::IfcTransformerType::setPredefinedType(const ::Ifc4x1::IfcTransforme const ifcopenshell::entity& Ifc4x1::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1115]); } -void Ifc4x1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcTransformerType Ifc4x1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransitionCurveSegment2D std::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } @@ -14441,7 +14441,7 @@ void Ifc4x1::IfcTransitionCurveSegment2D::setTransitionCurveType(const ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcTransitionCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1118]); } -void Ifc4x1::IfcTransitionCurveSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x1::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType))); } +Ifc4x1::IfcTransitionCurveSegment2D Ifc4x1::IfcTransitionCurveSegment2D::initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x1::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > Ifc4x1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14449,7 +14449,7 @@ void Ifc4x1::IfcTransportElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1121]); } -void Ifc4x1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcTransportElement Ifc4x1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x1::IfcTransportElementTypeEnum::Value Ifc4x1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14457,7 +14457,7 @@ void Ifc4x1::IfcTransportElementType::setPredefinedType(const ::Ifc4x1::IfcTrans const ifcopenshell::entity& Ifc4x1::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1122]); } -void Ifc4x1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcTransportElementType Ifc4x1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -14471,7 +14471,7 @@ void Ifc4x1::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x1::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1124]); } -void Ifc4x1::IfcTrapeziumProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x1::IfcTrapeziumProfileDef Ifc4x1::IfcTrapeziumProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -14485,7 +14485,7 @@ void Ifc4x1::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::vector const ifcopenshell::entity& Ifc4x1::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1125]); } -void Ifc4x1::IfcTriangulatedFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x1::IfcTriangulatedFaceSet Ifc4x1::IfcTriangulatedFaceSet::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -14493,7 +14493,7 @@ void Ifc4x1::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< int > const ifcopenshell::entity& Ifc4x1::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1126]); } -void Ifc4x1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x1::IfcTriangulatedIrregularNetwork Ifc4x1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x1::IfcCurve Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcCurve>(); } @@ -14509,7 +14509,7 @@ void Ifc4x1::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x1::IfcTrimmin const ifcopenshell::entity& Ifc4x1::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1127]); } -void Ifc4x1::IfcTrimmedCurve::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x1::IfcTrimmedCurve Ifc4x1::IfcTrimmedCurve::initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > Ifc4x1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -14517,7 +14517,7 @@ void Ifc4x1::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1131]); } -void Ifc4x1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcTubeBundle Ifc4x1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x1::IfcTubeBundleTypeEnum::Value Ifc4x1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -14525,7 +14525,7 @@ void Ifc4x1::IfcTubeBundleType::setPredefinedType(const ::Ifc4x1::IfcTubeBundleT const ifcopenshell::entity& Ifc4x1::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1132]); } -void Ifc4x1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcTubeBundleType Ifc4x1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -14536,7 +14536,7 @@ void Ifc4x1::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< std::vector<::Ifc4x1::IfcRelDefinesByType> Ifc4x1::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[855], 5)); } const ifcopenshell::entity& Ifc4x1::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1134]); } -void Ifc4x1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x1::IfcTypeObject Ifc4x1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -14549,7 +14549,7 @@ void Ifc4x1::IfcTypeProcess::setProcessType(const std::optional< std::string >& std::vector<::Ifc4x1::IfcRelAssignsToProcess> Ifc4x1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[826], 6)); } const ifcopenshell::entity& Ifc4x1::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1135]); } -void Ifc4x1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x1::IfcTypeProcess Ifc4x1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > Ifc4x1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcRepresentationMap>(es); } @@ -14560,7 +14560,7 @@ void Ifc4x1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if std::vector<::Ifc4x1::IfcRelAssignsToProduct> Ifc4x1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[827], 6)); } const ifcopenshell::entity& Ifc4x1::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1136]); } -void Ifc4x1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcTypeProduct Ifc4x1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -14573,7 +14573,7 @@ void Ifc4x1::IfcTypeResource::setResourceType(const std::optional< std::string > std::vector<::Ifc4x1::IfcRelAssignsToResource> Ifc4x1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X1_types[828], 6)); } const ifcopenshell::entity& Ifc4x1::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1137]); } -void Ifc4x1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x1::IfcTypeResource Ifc4x1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14593,7 +14593,7 @@ void Ifc4x1::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x1::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1148]); } -void Ifc4x1::IfcUShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x1::IfcUShapeProfileDef Ifc4x1::IfcUShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x1::IfcUnit > Ifc4x1::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcUnit>(es); } @@ -14601,7 +14601,7 @@ void Ifc4x1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x1::IfcUnit >& const ifcopenshell::entity& Ifc4x1::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1145]); } -void Ifc4x1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x1::IfcUnitAssignment Ifc4x1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14609,7 +14609,7 @@ void Ifc4x1::IfcUnitaryControlElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x1::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1139]); } -void Ifc4x1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcUnitaryControlElement Ifc4x1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value Ifc4x1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14617,7 +14617,7 @@ void Ifc4x1::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x1::Ifc const ifcopenshell::entity& Ifc4x1::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1140]); } -void Ifc4x1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcUnitaryControlElementType Ifc4x1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -14625,7 +14625,7 @@ void Ifc4x1::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x1::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1142]); } -void Ifc4x1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcUnitaryEquipment Ifc4x1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -14633,7 +14633,7 @@ void Ifc4x1::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x1::IfcUnita const ifcopenshell::entity& Ifc4x1::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1143]); } -void Ifc4x1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcUnitaryEquipmentType Ifc4x1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x1::IfcValveTypeEnum::Value > Ifc4x1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -14641,7 +14641,7 @@ void Ifc4x1::IfcValve::setPredefinedType(const std::optional< ::Ifc4x1::IfcValve const ifcopenshell::entity& Ifc4x1::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1150]); } -void Ifc4x1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcValve Ifc4x1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x1::IfcValveTypeEnum::Value Ifc4x1::IfcValveType::PredefinedType() const { return ::Ifc4x1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -14649,7 +14649,7 @@ void Ifc4x1::IfcValveType::setPredefinedType(const ::Ifc4x1::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc4x1::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1151]); } -void Ifc4x1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcValveType Ifc4x1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x1::IfcDirection Ifc4x1::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcDirection>(); } @@ -14659,13 +14659,13 @@ void Ifc4x1::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v const ifcopenshell::entity& Ifc4x1::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1154]); } -void Ifc4x1::IfcVector::initialize(::Ifc4x1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x1::IfcVector Ifc4x1::IfcVector::initialize(::Ifc4x1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x1::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1156]); } -void Ifc4x1::IfcVertex::initialize() { } +Ifc4x1::IfcVertex Ifc4x1::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x1::IfcVertex Ifc4x1::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcVertex>(); } @@ -14673,7 +14673,7 @@ void Ifc4x1::IfcVertexLoop::setLoopVertex(const ::Ifc4x1::IfcVertex& v) { set_at const ifcopenshell::entity& Ifc4x1::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1157]); } -void Ifc4x1::IfcVertexLoop::initialize(::Ifc4x1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x1::IfcVertexLoop Ifc4x1::IfcVertexLoop::initialize(::Ifc4x1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x1::IfcPoint Ifc4x1::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x1::IfcPoint>(); } @@ -14681,7 +14681,7 @@ void Ifc4x1::IfcVertexPoint::setVertexGeometry(const ::Ifc4x1::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x1::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1158]); } -void Ifc4x1::IfcVertexPoint::initialize(::Ifc4x1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x1::IfcVertexPoint Ifc4x1::IfcVertexPoint::initialize(::Ifc4x1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -14689,7 +14689,7 @@ void Ifc4x1::IfcVibrationIsolator::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x1::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1159]); } -void Ifc4x1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcVibrationIsolator Ifc4x1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value Ifc4x1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -14697,13 +14697,13 @@ void Ifc4x1::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x1::IfcVibr const ifcopenshell::entity& Ifc4x1::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1160]); } -void Ifc4x1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcVibrationIsolatorType Ifc4x1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4x1::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1162]); } -void Ifc4x1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x1::IfcVirtualElement Ifc4x1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x1::IfcGridAxis > Ifc4x1::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x1::IfcGridAxis>(es); } @@ -14713,7 +14713,7 @@ void Ifc4x1::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< d const ifcopenshell::entity& Ifc4x1::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1163]); } -void Ifc4x1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x1::IfcVirtualGridIntersection Ifc4x1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > Ifc4x1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -14721,7 +14721,7 @@ void Ifc4x1::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc4x1: const ifcopenshell::entity& Ifc4x1::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1164]); } -void Ifc4x1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcVoidingFeature Ifc4x1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > Ifc4x1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -14729,19 +14729,19 @@ void Ifc4x1::IfcWall::setPredefinedType(const std::optional< ::Ifc4x1::IfcWallTy const ifcopenshell::entity& Ifc4x1::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1168]); } -void Ifc4x1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcWall Ifc4x1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4x1::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1169]); } -void Ifc4x1::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcWallElementedCase Ifc4x1::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x1::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1170]); } -void Ifc4x1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcWallStandardCase Ifc4x1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x1::IfcWallTypeEnum::Value Ifc4x1::IfcWallType::PredefinedType() const { return ::Ifc4x1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -14749,7 +14749,7 @@ void Ifc4x1::IfcWallType::setPredefinedType(const ::Ifc4x1::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc4x1::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1171]); } -void Ifc4x1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcWallType Ifc4x1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > Ifc4x1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14757,7 +14757,7 @@ void Ifc4x1::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4x1:: const ifcopenshell::entity& Ifc4x1::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1176]); } -void Ifc4x1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcWasteTerminal Ifc4x1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x1::IfcWasteTerminalTypeEnum::Value Ifc4x1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14765,7 +14765,7 @@ void Ifc4x1::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x1::IfcWasteTer const ifcopenshell::entity& Ifc4x1::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1177]); } -void Ifc4x1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x1::IfcWasteTerminalType Ifc4x1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -14781,7 +14781,7 @@ void Ifc4x1::IfcWindow::setUserDefinedPartitioningType(const std::optional< std: const ifcopenshell::entity& Ifc4x1::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1179]); } -void Ifc4x1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x1::IfcWindow Ifc4x1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -14811,7 +14811,7 @@ void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::optio const ifcopenshell::entity& Ifc4x1::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1180]); } -void Ifc4x1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x1::IfcWindowLiningProperties Ifc4x1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x1::IfcWindowPanelOperationEnum::Value Ifc4x1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -14827,13 +14827,13 @@ void Ifc4x1::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x1::IfcSh const ifcopenshell::entity& Ifc4x1::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1183]); } -void Ifc4x1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x1::IfcWindowPanelProperties Ifc4x1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4x1::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1184]); } -void Ifc4x1::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x1::IfcWindowStandardCase Ifc4x1::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4x1::IfcWindowStyleConstructionEnum::Value Ifc4x1::IfcWindowStyle::ConstructionType() const { return ::Ifc4x1::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -14847,7 +14847,7 @@ void Ifc4x1::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_value(11 const ifcopenshell::entity& Ifc4x1::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1185]); } -void Ifc4x1::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x1::IfcWindowStyle Ifc4x1::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4x1::IfcWindowTypeEnum::Value Ifc4x1::IfcWindowType::PredefinedType() const { return ::Ifc4x1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -14861,7 +14861,7 @@ void Ifc4x1::IfcWindowType::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x1::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1188]); } -void Ifc4x1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x1::IfcWindowType Ifc4x1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > Ifc4x1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x1::IfcWorkTime>(es); } @@ -14873,7 +14873,7 @@ void Ifc4x1::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1191]); } -void Ifc4x1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x1::IfcWorkCalendar Ifc4x1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -14893,7 +14893,7 @@ void Ifc4x1::IfcWorkControl::setFinishTime(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x1::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1193]); } -void Ifc4x1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x1::IfcWorkControl Ifc4x1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > Ifc4x1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -14901,7 +14901,7 @@ void Ifc4x1::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x1::IfcWo const ifcopenshell::entity& Ifc4x1::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1194]); } -void Ifc4x1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x1::IfcWorkPlan Ifc4x1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > Ifc4x1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -14909,7 +14909,7 @@ void Ifc4x1::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x1::I const ifcopenshell::entity& Ifc4x1::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1196]); } -void Ifc4x1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x1::IfcWorkSchedule Ifc4x1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x1::IfcRecurrencePattern Ifc4x1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x1::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x1::IfcRecurrencePattern>(); } @@ -14921,7 +14921,7 @@ void Ifc4x1::IfcWorkTime::setFinish(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x1::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1198]); } -void Ifc4x1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4x1::IfcWorkTime Ifc4x1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14939,7 +14939,7 @@ void Ifc4x1::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double >& v const ifcopenshell::entity& Ifc4x1::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1200]); } -void Ifc4x1::IfcZShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x1::IfcZShapeProfileDef Ifc4x1::IfcZShapeProfileDef::initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14947,5 +14947,5 @@ void Ifc4x1::IfcZone::setLongName(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x1::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X1_types[1199]); } -void Ifc4x1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x1::IfcZone Ifc4x1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x1.h b/src/ifcparse/schemas/Ifc4x1.h index 3b308f5bda..69878c9257 100644 --- a/src/ifcparse/schemas/Ifc4x1.h +++ b/src/ifcparse/schemas/Ifc4x1.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1118,8 +1105,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1142,8 +1128,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1168,8 +1153,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1261,8 +1245,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1702,8 +1685,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1727,8 +1709,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1775,8 +1756,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1808,8 +1788,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1830,8 +1809,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1856,8 +1834,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1885,8 +1862,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1926,8 +1902,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1971,8 +1946,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2005,8 +1979,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2162,8 +2135,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2874,8 +2846,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2896,8 +2867,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2918,8 +2888,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2940,8 +2909,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3008,8 +2976,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3035,8 +3002,7 @@ public: /// IFC2x4 CHANGE The select type has been deprecated. class IFC_PARSE_API IfcPresentationStyleSelect : public express::Select { public: - IfcPresentationStyleSelect() {} - explicit IfcPresentationStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3082,8 +3048,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3102,8 +3067,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3130,8 +3094,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3150,8 +3113,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3172,8 +3134,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3290,8 +3251,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3312,8 +3272,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3332,8 +3291,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3362,8 +3320,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3400,8 +3357,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3503,8 +3459,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3553,8 +3508,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3584,8 +3538,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3613,8 +3566,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3641,8 +3593,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3670,8 +3621,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcStyleAssignmentSelect : public express::Select { public: - IfcStyleAssignmentSelect() {} - explicit IfcStyleAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3698,8 +3648,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3732,8 +3681,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3776,8 +3724,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3797,8 +3744,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3819,8 +3765,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3843,8 +3788,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3875,8 +3819,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3910,8 +3853,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4591,8 +4533,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4613,8 +4554,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4643,16 +4583,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4662,16 +4601,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4683,16 +4621,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4713,16 +4650,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4738,16 +4674,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4763,16 +4698,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4790,16 +4724,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4820,16 +4753,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4848,31 +4780,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4883,16 +4813,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4904,16 +4833,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -4930,16 +4858,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -4956,16 +4883,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -4984,16 +4910,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5012,31 +4937,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5080,16 +5003,15 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5134,16 +5056,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5157,16 +5078,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5180,16 +5100,15 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5202,16 +5121,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5227,16 +5145,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5255,16 +5172,15 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5276,16 +5192,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5300,16 +5215,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5324,16 +5238,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5349,16 +5262,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5375,16 +5287,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5400,16 +5311,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5424,16 +5334,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5448,16 +5357,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5484,16 +5392,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5512,16 +5419,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5542,16 +5448,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5564,16 +5469,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5600,16 +5504,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5627,16 +5530,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5661,16 +5563,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5692,16 +5593,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5720,16 +5620,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5749,16 +5648,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5771,16 +5669,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5799,16 +5696,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5832,16 +5728,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -5858,16 +5753,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -5878,16 +5772,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -5905,16 +5798,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -5962,16 +5854,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -5984,16 +5875,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6007,16 +5897,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6038,16 +5927,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6069,16 +5957,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6091,16 +5978,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6162,16 +6048,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6184,16 +6069,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6207,16 +6091,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6237,31 +6120,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6313,16 +6194,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6339,16 +6219,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6356,16 +6235,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6403,16 +6281,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6424,16 +6301,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6445,16 +6321,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6628,16 +6503,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6658,16 +6532,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -6852,16 +6725,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -6899,16 +6771,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -6928,16 +6799,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -6952,16 +6822,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -6995,16 +6864,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7019,16 +6887,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7043,16 +6910,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7067,16 +6933,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7092,16 +6957,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7115,16 +6979,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7148,16 +7011,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7174,16 +7036,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7196,16 +7057,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7226,16 +7086,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7253,16 +7112,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7279,16 +7137,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7304,16 +7161,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7334,16 +7190,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7362,16 +7217,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7385,16 +7239,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7412,16 +7265,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7439,16 +7291,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7461,16 +7312,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7491,16 +7341,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7520,16 +7369,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7548,16 +7396,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7575,31 +7422,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7645,16 +7490,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7665,31 +7509,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7703,16 +7545,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -7737,16 +7578,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -7761,16 +7601,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7830,16 +7669,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -7853,16 +7691,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -7874,31 +7711,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -7927,16 +7762,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -7958,16 +7792,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -7981,16 +7814,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8009,16 +7841,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8040,16 +7871,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8065,16 +7895,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8100,16 +7929,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8358,16 +8186,15 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8389,16 +8216,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8416,16 +8242,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8473,16 +8298,15 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8496,16 +8320,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-46:1992: The null style type specifies, that a representation item is not styled. @@ -8518,16 +8341,15 @@ public: /// IFC2x4 CHANGE  The enumeration is deprecated. class IFC_PARSE_API IfcNullStyle : public express::DeclaredType { public: - IfcNullStyle() {} - explicit IfcNullStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNullStyle_NULL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNullStyle initialize(Value v); + IfcNullStyle initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -8535,16 +8357,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8578,16 +8399,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8605,16 +8425,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8639,16 +8458,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -8666,16 +8484,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -8686,16 +8503,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -8722,16 +8538,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -8745,16 +8560,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8782,16 +8596,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -8818,16 +8631,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -8845,16 +8657,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -8890,16 +8701,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -8919,16 +8729,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -8951,31 +8760,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -8994,16 +8801,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9016,16 +8822,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9041,16 +8846,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9061,16 +8865,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9087,16 +8890,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9139,16 +8941,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9160,16 +8961,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9189,16 +8989,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9231,16 +9030,15 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9265,16 +9063,15 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9290,16 +9087,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9352,16 +9148,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9387,31 +9182,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9432,16 +9225,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9465,16 +9257,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9488,46 +9279,43 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -9561,16 +9349,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -9641,16 +9428,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -9682,16 +9468,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -9735,16 +9520,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -9768,16 +9552,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -9792,16 +9575,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -9834,16 +9616,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -9853,16 +9634,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -9877,16 +9657,15 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -9909,16 +9688,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9955,16 +9733,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -9978,16 +9755,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10004,16 +9780,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10053,16 +9828,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10092,16 +9866,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10115,16 +9888,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10144,16 +9916,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10251,16 +10022,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10278,16 +10048,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10307,16 +10076,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10339,16 +10107,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10365,16 +10132,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10393,16 +10159,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10415,16 +10180,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10440,16 +10204,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10465,16 +10228,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10495,16 +10257,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -10517,16 +10278,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -10554,16 +10314,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -10575,16 +10334,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -10607,46 +10365,43 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -10658,16 +10413,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -10683,16 +10437,15 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -10708,16 +10461,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -10738,31 +10490,29 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransitionCurveType : public express::DeclaredType { public: - IfcTransitionCurveType() {} - explicit IfcTransitionCurveType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCurveType_BIQUADRATICPARABOLA, IfcTransitionCurveType_BLOSSCURVE, IfcTransitionCurveType_CLOTHOIDCURVE, IfcTransitionCurveType_COSINECURVE, IfcTransitionCurveType_CUBICPARABOLA, IfcTransitionCurveType_SINECURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCurveType initialize(Value v); + IfcTransitionCurveType initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -10791,16 +10541,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_CRANEWAY, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -10816,16 +10565,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -10838,16 +10586,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -10888,16 +10635,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -10918,16 +10664,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -10944,16 +10689,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11001,16 +10745,15 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11024,16 +10767,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11052,16 +10794,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11103,16 +10844,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11131,16 +10871,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11229,16 +10968,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11307,16 +11045,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11328,16 +11065,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -11416,16 +11152,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11446,16 +11181,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -11531,16 +11265,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -11556,16 +11289,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -11581,16 +11313,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -11606,16 +11337,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -11625,11 +11355,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -11639,11 +11368,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -11656,11 +11384,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -11670,31 +11397,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -11706,21 +11430,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -11730,11 +11452,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -11782,11 +11503,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -11802,11 +11522,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -11859,11 +11578,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -11874,11 +11592,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -11889,11 +11606,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -11905,11 +11621,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -11920,11 +11635,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -11947,11 +11661,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -11968,11 +11681,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12011,11 +11723,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12026,11 +11737,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12042,11 +11752,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12056,11 +11765,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12070,11 +11778,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12085,11 +11792,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12099,11 +11805,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12113,11 +11818,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12127,11 +11831,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12143,11 +11846,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12157,11 +11859,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12171,11 +11872,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12185,11 +11885,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12208,11 +11907,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12229,11 +11927,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12261,11 +11958,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12275,11 +11971,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12289,11 +11984,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12311,11 +12005,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12325,11 +12018,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12337,11 +12029,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12360,11 +12051,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12374,11 +12064,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12388,11 +12077,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12404,11 +12092,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12420,11 +12107,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12432,11 +12118,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12446,11 +12131,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -12460,11 +12144,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -12483,11 +12166,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -12502,11 +12184,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -12518,21 +12199,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -12542,11 +12221,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -12556,11 +12234,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -12570,11 +12247,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -12584,11 +12260,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -12612,11 +12286,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -12628,11 +12301,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -12644,11 +12316,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -12658,11 +12329,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -12672,11 +12342,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -12686,11 +12355,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -12700,11 +12368,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -12716,11 +12383,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -12732,11 +12398,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -12746,11 +12411,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -12760,11 +12424,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -12774,11 +12437,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -12792,11 +12454,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -12806,11 +12467,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -12820,11 +12480,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -12834,11 +12493,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -12847,11 +12505,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12912,11 +12569,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -12926,11 +12582,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -12941,11 +12596,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -12953,11 +12607,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -12969,11 +12622,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -12983,11 +12635,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13003,21 +12654,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13028,11 +12677,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13043,11 +12691,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13057,11 +12704,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13075,11 +12721,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13089,21 +12734,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x1::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x1::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x1::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13113,11 +12756,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13132,11 +12774,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13148,11 +12789,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13162,11 +12802,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13177,11 +12816,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13191,11 +12829,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13205,11 +12842,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13219,11 +12855,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13233,11 +12868,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13249,21 +12883,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13273,21 +12905,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13297,11 +12927,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13311,11 +12940,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13327,11 +12955,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13345,11 +12972,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13359,11 +12985,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13373,11 +12998,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13393,11 +13017,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13412,11 +13035,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13434,11 +13056,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -13462,11 +13083,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -13481,11 +13101,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -13495,11 +13114,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -13509,11 +13127,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -13522,11 +13139,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -13535,11 +13151,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -13549,11 +13164,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -13565,11 +13179,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -13582,11 +13195,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -13598,11 +13210,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -13611,11 +13222,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -13625,11 +13235,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -13641,11 +13250,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -13655,11 +13263,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -13671,11 +13278,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -13685,11 +13291,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -13699,11 +13304,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -13713,11 +13317,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -13747,11 +13350,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -13761,11 +13363,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -13776,11 +13377,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -13797,8 +13397,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -13816,7 +13415,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -13825,8 +13424,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Purpose() const; @@ -13844,15 +13442,14 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x1::IfcOrganization ApplicationDeveloper() const; @@ -13868,7 +13465,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -13886,8 +13483,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -13926,7 +13522,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -13935,8 +13531,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -13978,7 +13573,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect v8_RequestingApproval, ::Ifc4x1::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect v8_RequestingApproval, ::Ifc4x1::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -13997,15 +13592,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14019,8 +13613,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14042,7 +13635,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14056,8 +13649,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x1::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14070,7 +13662,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x1::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14084,8 +13676,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x1::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14107,7 +13698,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x1::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14120,15 +13711,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x1::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x1::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x1::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x1::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14146,12 +13736,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14171,8 +13760,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14182,7 +13770,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x1::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14194,8 +13782,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14205,7 +13792,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x1::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14215,8 +13802,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14226,7 +13812,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x1::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x1::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x1::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14242,8 +13828,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14273,7 +13858,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14323,8 +13908,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x1::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14334,7 +13918,7 @@ public: void setTargetCRS(const ::Ifc4x1::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14360,8 +13944,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14386,7 +13969,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -14432,12 +14015,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -14448,8 +14030,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x1::IfcDerivedUnitElement > Elements() const; @@ -14461,7 +14042,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4x1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -14474,8 +14055,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x1::IfcNamedUnit Unit() const; @@ -14485,7 +14065,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x1::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -14506,8 +14086,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -14532,7 +14111,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -14542,12 +14121,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -14560,8 +14138,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -14585,7 +14162,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -14597,12 +14174,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -14613,12 +14189,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -14629,12 +14204,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -14661,8 +14235,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14679,15 +14252,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14697,7 +14269,7 @@ public: void setListValues(const std::vector< ::Ifc4x1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x1::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x1::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -14709,8 +14281,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -14737,7 +14308,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -14748,8 +14319,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -14767,7 +14337,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x1::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x1::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -14786,8 +14356,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14802,15 +14371,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x1::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -14820,7 +14388,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x1::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x1::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x1::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -14835,8 +14403,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -14865,7 +14432,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4x1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -14874,8 +14441,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x1::IfcClassificationSelect > MaterialClassifications() const; @@ -14885,7 +14451,7 @@ public: void setClassifiedMaterial(const ::Ifc4x1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x1::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x1::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -14913,15 +14479,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -14948,8 +14513,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x1::IfcMaterial Material() const; @@ -14983,7 +14547,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15020,8 +14584,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x1::IfcMaterialLayer > MaterialLayers() const; @@ -15036,7 +14599,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15083,8 +14646,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x1::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15094,7 +14656,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15115,15 +14677,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x1::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x1::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x1::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15132,8 +14693,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15156,7 +14716,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15165,8 +14725,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15185,7 +14744,7 @@ public: void setCompositeProfile(const ::Ifc4x1::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15194,15 +14753,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, ::Ifc4x1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15237,13 +14795,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15257,8 +14814,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x1::IfcValue ValueComponent() const; @@ -15268,7 +14824,7 @@ public: void setUnitComponent(const ::Ifc4x1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcValue v1_ValueComponent, ::Ifc4x1::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x1::IfcValue v1_ValueComponent, ::Ifc4x1::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15324,8 +14880,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x1::IfcBenchmarkEnum::Value Benchmark() const; @@ -15340,7 +14895,7 @@ public: void setReferencePath(const ::Ifc4x1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x1::IfcMetricValueSelect v10_DataValue, ::Ifc4x1::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x1::IfcMetricValueSelect v10_DataValue, ::Ifc4x1::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15349,15 +14904,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15366,8 +14920,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x1::IfcDimensionalExponents Dimensions() const; @@ -15377,7 +14930,7 @@ public: void setUnitType(const ::Ifc4x1::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15392,14 +14945,13 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement std::vector< IfcLocalPlacement > ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(); + IfcObjectPlacement initialize(); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -15412,8 +14964,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x1::IfcConstraint > > BenchmarkValues() const; @@ -15428,7 +14979,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -15440,8 +14991,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15464,7 +15014,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -15478,8 +15028,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x1::IfcPersonAndOrganization OwningUser() const; @@ -15507,7 +15056,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -15520,8 +15069,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15556,7 +15104,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x1::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -15565,8 +15113,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x1::IfcPerson ThePerson() const; @@ -15579,7 +15126,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x1::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcPerson v1_ThePerson, ::Ifc4x1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x1::IfcPerson v1_ThePerson, ::Ifc4x1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x1::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -15588,8 +15135,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -15601,7 +15147,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -15614,23 +15160,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x1::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -15661,17 +15205,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -15690,8 +15233,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -15707,7 +15249,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -15724,8 +15266,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -15745,7 +15286,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x1::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x1::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x1::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -15754,15 +15295,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -15771,15 +15311,14 @@ public: /// HISTORY New entity in Release IFC2x2. class IFC_PARSE_API IfcPresentationStyleAssignment : public express::Entity { public: - IfcPresentationStyleAssignment() {} - explicit IfcPresentationStyleAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x1::IfcPresentationStyleSelect > Styles() const; void setStyles(const std::vector< ::Ifc4x1::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcPresentationStyleSelect > v1_Styles); + IfcPresentationStyleAssignment initialize(std::vector< ::Ifc4x1::IfcPresentationStyleSelect > v1_Styles); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -15800,8 +15339,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15814,7 +15352,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x1::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -15988,8 +15526,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x1::IfcProfileTypeEnum::Value ProfileType() const; @@ -16001,7 +15538,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16028,8 +15565,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16049,18 +15585,17 @@ public: void setMapUnit(const ::Ifc4x1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x1::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x1::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16110,8 +15645,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16124,7 +15658,7 @@ public: void setUnit(const ::Ifc4x1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x1::IfcValue > v2_EnumerationValues, ::Ifc4x1::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x1::IfcValue > v2_EnumerationValues, ::Ifc4x1::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16133,8 +15667,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16146,7 +15679,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16155,8 +15688,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16168,7 +15700,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16177,8 +15709,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16190,7 +15721,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16199,8 +15730,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16212,7 +15742,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16221,8 +15751,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16234,7 +15763,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16243,8 +15772,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16256,7 +15784,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16266,8 +15794,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16308,13 +15835,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x1::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16328,7 +15854,7 @@ public: void setInnerReference(const ::Ifc4x1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x1::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x1::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16378,8 +15904,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x1::IfcRepresentationContext ContextOfItems() const; @@ -16399,7 +15924,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -16413,8 +15938,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16425,7 +15949,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -16461,14 +15985,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -16483,8 +16006,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16497,15 +16019,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x1::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x1::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16515,7 +16036,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -16528,8 +16049,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16549,7 +16069,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -16560,8 +16080,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x1::IfcSIPrefix::Value > Prefix() const; @@ -16573,15 +16092,14 @@ public: void setName(const ::Ifc4x1::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x1::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x1::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16595,7 +16113,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -16636,8 +16154,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -16661,7 +16178,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -16683,13 +16200,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -16828,42 +16344,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -16878,8 +16391,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > Values() const; @@ -16889,31 +16401,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -16922,8 +16432,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -16942,7 +16451,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -16951,12 +16460,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -16988,8 +16496,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17009,7 +16516,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17020,12 +16527,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17034,8 +16540,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17048,7 +16553,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17059,8 +16564,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x1::IfcSurfaceSide::Value Side() const; @@ -17070,7 +16574,7 @@ public: void setStyles(const std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x1::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17085,8 +16589,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17106,7 +16609,7 @@ public: void setReflectanceColour(const ::Ifc4x1::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x1::IfcColourRgb v3_TransmissionColour, ::Ifc4x1::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x1::IfcColourRgb v3_TransmissionColour, ::Ifc4x1::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17115,8 +16618,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17126,7 +16628,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17137,8 +16639,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x1::IfcColourRgb SurfaceColour() const; @@ -17147,7 +16648,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17169,15 +16670,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x1::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17273,8 +16773,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17306,7 +16805,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17325,8 +16824,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17339,7 +16837,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x1::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x1::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x1::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17348,8 +16846,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17367,7 +16864,7 @@ public: void setReferencePath(const ::Ifc4x1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit v4_Unit, ::Ifc4x1::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit v4_Unit, ::Ifc4x1::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17384,8 +16881,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x1::IfcValue > > RowCells() const; @@ -17395,7 +16891,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17407,8 +16903,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -17517,21 +17012,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x1::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x1::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x1::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x1::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -17541,8 +17035,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -17567,7 +17060,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -17599,8 +17092,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x1::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -17621,7 +17113,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -17642,8 +17134,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x1::IfcColour Colour() const; @@ -17653,7 +17144,7 @@ public: void setBackgroundColour(const ::Ifc4x1::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcColour v1_Colour, ::Ifc4x1::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x1::IfcColour v1_Colour, ::Ifc4x1::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -17664,8 +17155,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -17697,7 +17187,7 @@ public: void setLineHeight(const ::Ifc4x1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x1::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x1::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -17712,14 +17202,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x1::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -17749,8 +17238,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -17764,7 +17252,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -17819,8 +17307,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -17831,7 +17318,7 @@ public: void setMappedTo(const ::Ifc4x1::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x1::IfcTextureVertex > v2_Vertices, ::Ifc4x1::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x1::IfcTextureVertex > v2_Vertices, ::Ifc4x1::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -17862,27 +17349,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -17892,8 +17377,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -17903,7 +17387,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -17912,8 +17396,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -17942,7 +17425,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -17955,15 +17438,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x1::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x1::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -17972,12 +17454,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18015,12 +17496,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x1::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18029,15 +17509,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x1::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x1::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x1::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18051,12 +17530,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18069,15 +17547,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x1::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x1::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x1::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18140,8 +17617,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x1::IfcGridAxis > IntersectingAxes() const; @@ -18151,7 +17627,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18163,8 +17639,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18181,7 +17656,7 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18192,8 +17667,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x1::IfcApproval RelatingApproval() const; @@ -18203,7 +17677,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x1::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x1::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x1::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18225,15 +17699,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x1::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18252,15 +17725,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x1::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18283,15 +17755,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x1::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x1::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x1::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18304,8 +17775,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18315,7 +17785,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18348,15 +17818,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18375,8 +17844,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -18430,7 +17898,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -18455,8 +17923,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x1::IfcClassificationReferenceSelect ReferencedSource() const; @@ -18472,19 +17939,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -18493,8 +17959,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -18504,7 +17969,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -18544,8 +18009,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x1::IfcProfileDef > Profiles() const; @@ -18555,7 +18019,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -18568,15 +18032,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x1::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x1::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -18593,8 +18056,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x1::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -18604,7 +18066,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x1::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -18627,8 +18089,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -18641,7 +18102,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -18652,8 +18113,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -18661,7 +18121,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -18712,8 +18172,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -18724,7 +18183,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -18746,15 +18205,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -18769,8 +18227,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x1::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -18791,7 +18248,7 @@ public: void setRateSource(const ::Ifc4x1::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x1::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x1::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -18812,8 +18269,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -18828,7 +18284,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x1::IfcSizeSelect v3_CurveWidth, ::Ifc4x1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x1::IfcSizeSelect v3_CurveWidth, ::Ifc4x1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -18837,8 +18293,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -18848,7 +18303,7 @@ public: void setPatternList(const std::vector< ::Ifc4x1::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -18863,8 +18318,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -18877,7 +18331,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -18886,8 +18340,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -18901,7 +18354,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -18989,8 +18442,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x1::IfcProfileDef ParentProfile() const; @@ -19003,15 +18455,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19083,7 +18534,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19095,8 +18546,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x1::IfcDocumentInformation RelatingDocument() const; @@ -19109,7 +18559,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19124,8 +18574,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19138,7 +18587,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19191,8 +18640,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x1::IfcVertex EdgeStart() const; @@ -19202,7 +18650,7 @@ public: void setEdgeEnd(const ::Ifc4x1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19239,8 +18687,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x1::IfcCurve EdgeGeometry() const; @@ -19250,7 +18697,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19277,8 +18724,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19296,13 +18742,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19312,7 +18757,7 @@ public: void setProperties(const std::vector< ::Ifc4x1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19323,8 +18768,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19336,7 +18780,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19384,8 +18828,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x1::IfcFaceBound > Bounds() const; @@ -19393,7 +18836,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -19402,8 +18845,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x1::IfcLoop Bound() const; @@ -19413,7 +18855,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -19422,12 +18864,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -19467,8 +18908,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x1::IfcSurface FaceSurface() const; @@ -19478,7 +18918,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -19489,8 +18929,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -19512,7 +18951,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -19550,8 +18989,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x1::IfcFillStyleSelect > FillStyles() const; @@ -19560,7 +18998,7 @@ public: void setModelorDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -19611,8 +19049,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -19632,7 +19069,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x1::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x1::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -19655,12 +19092,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -19677,8 +19113,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x1::IfcGeometricRepresentationContext ParentContext() const; @@ -19704,7 +19139,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -19715,15 +19150,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x1::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x1::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -19772,8 +19206,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x1::IfcVirtualGridIntersection PlacementLocation() const; @@ -19785,7 +19218,7 @@ public: void setPlacementRefDirection(const ::Ifc4x1::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4x1::IfcGridPlacementDirectionSelect v2_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x1::IfcVirtualGridIntersection v1_PlacementLocation, ::Ifc4x1::IfcGridPlacementDirectionSelect v2_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -19804,8 +19237,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x1::IfcSurface BaseSurface() const; @@ -19815,7 +19247,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -19854,21 +19286,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x1::IfcTessellatedFaceSet& v); @@ -19880,13 +19310,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x1::IfcTessellatedFaceSet& v); @@ -19894,19 +19323,18 @@ public: void setTexCoords(const ::Ifc4x1::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x1::IfcSurfaceTexture > v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -19915,15 +19343,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, std::vector< ::Ifc4x1::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -19964,8 +19391,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -19977,7 +19403,7 @@ public: void setDurationType(const ::Ifc4x1::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x1::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x1::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -19988,8 +19414,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20006,7 +19431,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20017,12 +19442,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20035,8 +19459,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20044,7 +19467,7 @@ public: void setOrientation(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20055,8 +19478,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x1::IfcAxis2Placement3D Position() const; @@ -20078,7 +19500,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x1::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D v5_Position, ::Ifc4x1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D v5_Position, ::Ifc4x1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20097,8 +19519,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20119,7 +19540,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20138,8 +19559,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20158,13 +19578,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x1::IfcCurve PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x1::IfcCurve& v); @@ -20176,7 +19595,7 @@ public: void setCartesianPosition(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression v2_Distance, ::Ifc4x1::IfcOrientationExpression v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D v4_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x1::IfcCurve v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression v2_Distance, ::Ifc4x1::IfcOrientationExpression v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D v4_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20232,8 +19651,7 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. ::Ifc4x1::IfcObjectPlacement PlacementRelTo() const; @@ -20243,7 +19661,7 @@ public: void setRelativePlacement(const ::Ifc4x1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20273,12 +19691,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20301,8 +19718,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x1::IfcRepresentationMap MappingSource() const; @@ -20312,7 +19728,7 @@ public: void setMappingTarget(const ::Ifc4x1::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcRepresentationMap v1_MappingSource, ::Ifc4x1::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x1::IfcRepresentationMap v1_MappingSource, ::Ifc4x1::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20343,8 +19759,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -20370,7 +19785,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -20379,8 +19794,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -20400,7 +19814,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -20418,8 +19832,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -20432,7 +19845,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -20466,15 +19879,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x1::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations, ::Ifc4x1::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations, ::Ifc4x1::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -20578,8 +19990,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x1::IfcMaterialLayerSet ForLayerSet() const; @@ -20610,7 +20021,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -20621,8 +20032,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x1::IfcMaterialProfileSet ForProfileSet() const; @@ -20640,7 +20050,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -20669,8 +20079,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x1::IfcMaterialProfileSet ForProfileEndSet() const; @@ -20680,7 +20089,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -20706,8 +20115,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -20716,15 +20124,14 @@ public: void setMaterial(const ::Ifc4x1::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x1::IfcMaterial RelatingMaterial() const; @@ -20737,7 +20144,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -20768,12 +20175,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -20827,8 +20233,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -20839,7 +20244,7 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -20902,12 +20307,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -20917,8 +20321,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x1::IfcOrganization RelatingOrganization() const; @@ -20928,13 +20331,12 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x1::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x1::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x1::IfcOrganization > v4_RelatedOrganizations); }; class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { public: - IfcOrientationExpression() {} - explicit IfcOrientationExpression (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x1::IfcDirection LateralAxisDirection() const; void setLateralAxisDirection(const ::Ifc4x1::IfcDirection& v); @@ -20942,7 +20344,7 @@ public: void setVerticalAxisDirection(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_LateralAxisDirection, ::Ifc4x1::IfcDirection v2_VerticalAxisDirection); + IfcOrientationExpression initialize(::Ifc4x1::IfcDirection v1_LateralAxisDirection, ::Ifc4x1::IfcDirection v2_VerticalAxisDirection); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -20953,8 +20355,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x1::IfcEdge EdgeElement() const; @@ -20964,7 +20365,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x1::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21010,15 +20411,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x1::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x1::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21036,15 +20436,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21057,8 +20456,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x1::IfcPhysicalQuantity > HasQuantities() const; @@ -21074,7 +20472,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21096,8 +20494,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21115,7 +20512,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21128,15 +20525,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x1::IfcCartesianPoint Location() const; void setLocation(const ::Ifc4x1::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_Location); + IfcPlacement initialize(::Ifc4x1::IfcCartesianPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21145,8 +20541,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21156,7 +20551,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21165,12 +20560,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21183,8 +20577,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x1::IfcCurve BasisCurve() const; @@ -21194,7 +20587,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21207,8 +20600,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x1::IfcSurface BasisSurface() const; @@ -21221,7 +20613,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21264,15 +20656,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x1::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21332,8 +20723,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x1::IfcAxis2Placement3D Position() const; @@ -21345,7 +20735,7 @@ public: void setPolygonalBoundary(const ::Ifc4x1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcAxis2Placement3D v3_Position, ::Ifc4x1::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcAxis2Placement3D v3_Position, ::Ifc4x1::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -21356,25 +20746,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -21389,12 +20777,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -21410,14 +20797,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -21432,23 +20818,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x1::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcProperty > v3_Properties, ::Ifc4x1::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -21464,7 +20848,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -21518,14 +20902,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -21537,8 +20920,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x1::IfcProperty DependingProperty() const; @@ -21551,7 +20933,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty v3_DependingProperty, ::Ifc4x1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty v3_DependingProperty, ::Ifc4x1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -21597,15 +20979,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -21634,22 +21015,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -21687,8 +21066,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -21698,7 +21076,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -21707,8 +21085,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -21718,7 +21095,7 @@ public: void setValues(const std::vector< ::Ifc4x1::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x1::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x1::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -21727,8 +21104,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -21750,7 +21126,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -21762,12 +21138,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -21777,8 +21152,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x1::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -21788,7 +21162,7 @@ public: void setRelatingApproval(const ::Ifc4x1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -21812,8 +21186,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x1::IfcConstraint RelatingConstraint() const; @@ -21823,14 +21196,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -21879,7 +21251,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -21920,15 +21292,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -21937,8 +21308,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x1::IfcSectionTypeEnum::Value SectionType() const; @@ -21951,7 +21321,7 @@ public: void setEndProfile(const ::Ifc4x1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x1::IfcProfileDef v2_StartProfile, ::Ifc4x1::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x1::IfcProfileDef v2_StartProfile, ::Ifc4x1::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -21962,8 +21332,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -21985,7 +21354,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x1::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22042,8 +21411,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x1::IfcCompositeCurve SpineCurve() const; @@ -22056,7 +21424,7 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x1::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcAxis2Placement3D > v3_CrossSectionPositions); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22072,26 +21440,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x1::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x1::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x1::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22104,8 +21470,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22118,7 +21483,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22127,12 +21492,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22141,8 +21505,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22164,7 +21527,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22173,8 +21536,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22187,7 +21549,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22196,8 +21558,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22219,22 +21580,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22244,8 +21604,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22267,7 +21626,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22279,15 +21638,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22301,15 +21659,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x1::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x1::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x1::IfcVertex v1_EdgeStart, ::Ifc4x1::IfcVertex v2_EdgeEnd, ::Ifc4x1::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22323,12 +21680,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -22377,8 +21733,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -22413,7 +21768,7 @@ public: void setReflectanceMethod(const ::Ifc4x1::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -22435,8 +21790,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x1::IfcProfileDef SweptArea() const; @@ -22446,7 +21800,7 @@ public: void setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -22503,8 +21857,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x1::IfcCurve Directrix() const; @@ -22527,7 +21880,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -22541,15 +21894,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -22558,8 +21910,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x1::IfcProfileDef SweptCurve() const; @@ -22569,7 +21920,7 @@ public: void setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -22601,8 +21952,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -22633,17 +21983,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -22657,8 +22006,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -22672,7 +22020,7 @@ public: void setPath(const ::Ifc4x1::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -22685,8 +22033,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x1::IfcPlanarExtent Extent() const; @@ -22696,7 +22043,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -22765,8 +22112,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -22788,7 +22134,7 @@ public: void setFontSize(const ::Ifc4x1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22830,8 +22176,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -22847,7 +22192,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -22882,8 +22227,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -22902,7 +22246,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -22934,8 +22278,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -22951,7 +22294,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23021,8 +22364,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > RepresentationMaps() const; @@ -23033,7 +22375,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23049,8 +22391,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23066,7 +22407,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23098,8 +22439,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23124,7 +22464,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23135,8 +22475,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x1::IfcDirection Orientation() const; @@ -23146,7 +22485,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x1::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23162,15 +22501,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x1::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x1::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -23192,8 +22530,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4x1::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -23209,7 +22546,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23238,8 +22575,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23261,7 +22597,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23278,18 +22614,16 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x1::IfcFaceBound > v1_Bounds, ::Ifc4x1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { public: - IfcAlignment2DHorizontal() {} - explicit IfcAlignment2DHorizontal (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::optional< double > StartDistAlong() const; void setStartDistAlong(const std::optional< double >& v); @@ -23298,13 +22632,12 @@ public: std::vector< IfcAlignmentCurve > ToAlignmentCurve() const; // INVERSE IfcAlignmentCurve::Horizontal static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment > v2_Segments); + IfcAlignment2DHorizontal initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x1::IfcAlignment2DHorizontalSegment > v2_Segments); }; class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { public: - IfcAlignment2DSegment() {} - explicit IfcAlignment2DSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::optional< bool > TangentialContinuity() const; void setTangentialContinuity(const std::optional< bool >& v); @@ -23314,26 +22647,24 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag); + IfcAlignment2DSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag); }; class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { public: - IfcAlignment2DVertical() {} - explicit IfcAlignment2DVertical (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > Segments() const; void setSegments(const std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment >& v); std::vector< IfcAlignmentCurve > ToAlignmentCurve() const; // INVERSE IfcAlignmentCurve::Vertical static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > v1_Segments); + IfcAlignment2DVertical initialize(std::vector< ::Ifc4x1::IfcAlignment2DVerticalSegment > v1_Segments); }; class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DVerticalSegment() {} - explicit IfcAlignment2DVerticalSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -23346,7 +22677,7 @@ public: std::vector< IfcAlignment2DVertical > ToVertical() const; // INVERSE IfcAlignment2DVertical::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); + IfcAlignment2DVerticalSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23370,8 +22701,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23385,7 +22715,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x1::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x1::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x1::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23426,8 +22756,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -23458,7 +22787,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -23471,15 +22800,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x1::IfcDirection Axis() const; void setAxis(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -23494,15 +22822,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x1::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -23519,8 +22846,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x1::IfcDirection Axis() const; @@ -23530,7 +22856,7 @@ public: void setRefDirection(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis, ::Ifc4x1::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x1::IfcCartesianPoint v1_Location, ::Ifc4x1::IfcDirection v2_Axis, ::Ifc4x1::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -23560,8 +22886,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x1::IfcBooleanOperator::Value Operator() const; @@ -23574,7 +22899,7 @@ public: void setSecondOperand(const ::Ifc4x1::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -23590,12 +22915,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -23621,8 +22945,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x1::IfcCartesianPoint Corner() const; @@ -23638,7 +22961,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -23672,15 +22995,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x1::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x1::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -23706,8 +23028,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -23726,7 +23047,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -23737,31 +23058,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -23769,13 +23087,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -23783,7 +23100,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -23817,8 +23134,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x1::IfcDirection Axis1() const; @@ -23834,7 +23150,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -23843,12 +23159,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -23862,15 +23177,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -23879,15 +23193,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x1::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -23902,8 +23215,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -23913,7 +23225,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x1::IfcDirection v1_Axis1, ::Ifc4x1::IfcDirection v2_Axis2, ::Ifc4x1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -23929,15 +23241,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -23990,12 +23301,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x1::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24007,8 +23317,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24027,7 +23336,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24036,8 +23345,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24048,7 +23356,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x1::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x1::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24059,8 +23367,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. ::Ifc4x1::IfcTransitionCode::Value Transition() const; @@ -24076,7 +23383,7 @@ public: std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24095,8 +23402,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > >& v); @@ -24104,7 +23410,7 @@ public: void setBaseQuantity(const ::Ifc4x1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24121,8 +23427,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24147,7 +23452,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24161,15 +23466,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x1::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24178,15 +23482,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24231,15 +23534,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x1::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x1::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x1::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24253,12 +23555,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24275,8 +23576,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x1::IfcPlane BasisSurface() const; @@ -24289,7 +23589,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcPlane v1_BasisSurface, ::Ifc4x1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x1::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x1::IfcPlane v1_BasisSurface, ::Ifc4x1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x1::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24314,8 +23614,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x1::IfcSurface BasisSurface() const; @@ -24327,7 +23626,7 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24338,21 +23637,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { public: - IfcDistanceExpression() {} - explicit IfcDistanceExpression (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; double DistanceAlong() const; void setDistanceAlong(const double& v); @@ -24366,7 +23663,7 @@ public: void setAlongHorizontal(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal); + IfcDistanceExpression initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -24396,8 +23693,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4x1::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -24413,7 +23709,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24428,15 +23724,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x1::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -24517,8 +23812,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -24530,7 +23824,7 @@ public: void setQuantities(const std::vector< ::Ifc4x1::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x1::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -24556,15 +23850,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -24573,15 +23866,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -24601,8 +23893,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -24612,7 +23903,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -24622,8 +23913,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -24640,7 +23930,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -24712,8 +24002,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x1::IfcDirection ExtrudedDirection() const; @@ -24724,7 +24013,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -24826,15 +24115,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x1::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x1::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -24850,15 +24138,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x1::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x1::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x1::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -24909,8 +24196,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x1::IfcCurveStyle HatchLineAppearance() const; @@ -24937,7 +24223,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -24946,8 +24232,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x1::IfcVector > TilingPattern() const; @@ -24960,7 +24245,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x1::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x1::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25022,8 +24307,7 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc4x1::IfcCurve Directrix() const; @@ -25039,7 +24323,7 @@ public: void setFixedReference(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25071,12 +24355,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25117,8 +24400,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x1::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25127,7 +24409,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25192,15 +24474,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25211,12 +24492,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x1::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25283,8 +24563,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25307,32 +24586,30 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25387,8 +24664,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25410,7 +24686,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25425,15 +24701,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x1::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -25450,8 +24725,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x1::IfcCartesianPoint Pnt() const; @@ -25461,7 +24735,7 @@ public: void setDir(const ::Ifc4x1::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_Pnt, ::Ifc4x1::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x1::IfcCartesianPoint v1_Pnt, ::Ifc4x1::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -25528,15 +24802,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x1::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x1::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x1::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -25622,8 +24895,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -25634,19 +24906,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x1::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x1::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -25661,8 +24932,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -25672,7 +24942,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -25691,8 +24961,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -25705,13 +24974,12 @@ public: void setRefDirection(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x1::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x1::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x1::IfcDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x1::IfcDistanceExpression >& v); @@ -25719,7 +24987,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -25730,8 +24998,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x1::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x1::IfcSurface& v); @@ -25739,7 +25006,7 @@ public: void setReferenceCurve(const ::Ifc4x1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BasisSurface, ::Ifc4x1::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x1::IfcSurface v1_BasisSurface, ::Ifc4x1::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -25749,8 +25016,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -25758,7 +25024,7 @@ public: void setPlacement(const ::Ifc4x1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x1::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x1::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -25798,12 +25064,11 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -25812,12 +25077,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -25828,12 +25092,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -25857,12 +25120,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -25879,8 +25141,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -25888,7 +25149,7 @@ public: void setPredefinedType(const ::Ifc4x1::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -25932,8 +25193,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -25951,7 +25211,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26046,8 +25306,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x1::IfcObjectPlacement ObjectPlacement() const; @@ -26058,7 +25317,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26106,12 +25365,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26139,12 +25397,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26252,8 +25509,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x1::IfcValue UpperBoundValue() const; @@ -26271,7 +25527,7 @@ public: void setSetPointValue(const ::Ifc4x1::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_UpperBoundValue, ::Ifc4x1::IfcValue v4_LowerBoundValue, ::Ifc4x1::IfcUnit v5_Unit, ::Ifc4x1::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_UpperBoundValue, ::Ifc4x1::IfcValue v4_LowerBoundValue, ::Ifc4x1::IfcUnit v5_Unit, ::Ifc4x1::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26352,8 +25608,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26365,7 +25620,7 @@ public: void setEnumerationReference(const ::Ifc4x1::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -26434,8 +25689,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -26447,7 +25701,7 @@ public: void setUnit(const ::Ifc4x1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_ListValues, ::Ifc4x1::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_ListValues, ::Ifc4x1::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -26466,8 +25720,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -26479,7 +25732,7 @@ public: void setPropertyReference(const ::Ifc4x1::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x1::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x1::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -26536,15 +25789,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x1::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -26579,8 +25831,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -26604,7 +25855,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x1::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x1::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -26652,8 +25903,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -26667,7 +25917,7 @@ public: void setUnit(const ::Ifc4x1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_NominalValue, ::Ifc4x1::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x1::IfcValue v3_NominalValue, ::Ifc4x1::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -26787,8 +26037,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -26816,7 +26065,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit v6_DefiningUnit, ::Ifc4x1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit v6_DefiningUnit, ::Ifc4x1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -26844,14 +26093,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -26871,8 +26119,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x1::IfcObjectTypeEnum::Value ProxyType() const; @@ -26882,7 +26129,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -26906,8 +26153,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -26920,7 +26166,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27012,8 +26258,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27026,7 +26271,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27045,8 +26290,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x1::IfcSurface BasisSurface() const; @@ -27071,7 +26315,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27101,8 +26345,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27112,7 +26355,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x1::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27127,8 +26370,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x1::IfcObjectDefinition > RelatedObjects() const; @@ -27139,7 +26381,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27152,8 +26394,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x1::IfcActor RelatingActor() const; @@ -27163,7 +26404,7 @@ public: void setActingRole(const ::Ifc4x1::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor v7_RelatingActor, ::Ifc4x1::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor v7_RelatingActor, ::Ifc4x1::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27172,15 +26413,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x1::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x1::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27197,15 +26437,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x1::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x1::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27218,15 +26457,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27252,8 +26490,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27265,7 +26502,7 @@ public: void setQuantityInProcess(const ::Ifc4x1::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27277,8 +26514,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27287,7 +26523,7 @@ public: void setRelatingProduct(const ::Ifc4x1::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27297,8 +26533,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27307,7 +26542,7 @@ public: void setRelatingResource(const ::Ifc4x1::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27352,8 +26587,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27362,22 +26596,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x1::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27411,23 +26644,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x1::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x1::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27437,7 +26668,7 @@ public: void setRelatingConstraint(const ::Ifc4x1::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -27448,15 +26679,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x1::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x1::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -27467,15 +26697,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x1::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x1::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -27573,27 +26802,25 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x1::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x1::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect v6_RelatingMaterial); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -27619,8 +26846,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x1::IfcConnectionGeometry ConnectionGeometry() const; @@ -27633,7 +26859,7 @@ public: void setRelatedElement(const ::Ifc4x1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -27667,8 +26893,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -27684,7 +26909,7 @@ public: void setRelatingConnectionType(const ::Ifc4x1::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -27713,8 +26938,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x1::IfcPort RelatingPort() const; @@ -27726,7 +26950,7 @@ public: void setRelatedElement(const ::Ifc4x1::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -27743,8 +26967,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x1::IfcPort RelatingPort() const; @@ -27757,15 +26980,14 @@ public: void setRealizingElement(const ::Ifc4x1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcPort v6_RelatedPort, ::Ifc4x1::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPort v5_RelatingPort, ::Ifc4x1::IfcPort v6_RelatedPort, ::Ifc4x1::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x1::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -27775,7 +26997,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x1::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -27803,8 +27025,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x1::IfcStructuralMember RelatingStructuralMember() const; @@ -27826,7 +27047,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -27847,15 +27068,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x1::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x1::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x1::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x1::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -27882,8 +27102,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x1::IfcElement > RealizingElements() const; @@ -27893,7 +27112,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x1::IfcElement v6_RelatingElement, ::Ifc4x1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -27957,8 +27176,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -27970,7 +27188,7 @@ public: void setRelatingStructure(const ::Ifc4x1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -27990,8 +27208,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28003,7 +27220,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28033,8 +27250,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28046,7 +27262,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x1::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28061,8 +27277,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x1::IfcContext RelatingContext() const; @@ -28072,7 +27287,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x1::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x1::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28106,12 +27321,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28142,12 +27356,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28166,8 +27379,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x1::IfcObject > RelatedObjects() const; @@ -28177,7 +27389,7 @@ public: void setRelatingObject(const ::Ifc4x1::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28196,8 +27408,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x1::IfcObjectDefinition > RelatedObjects() const; @@ -28207,7 +27418,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x1::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28223,8 +27434,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x1::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28234,7 +27444,7 @@ public: void setRelatingTemplate(const ::Ifc4x1::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x1::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x1::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28307,8 +27517,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x1::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x1::IfcObject >& v); @@ -28317,7 +27526,7 @@ public: void setRelatingType(const ::Ifc4x1::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcObject > v5_RelatedObjects, ::Ifc4x1::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28330,8 +27539,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x1::IfcOpeningElement RelatingOpeningElement() const; @@ -28343,7 +27551,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x1::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x1::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28354,8 +27562,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x1::IfcDistributionControlElement > RelatedControlElements() const; @@ -28365,7 +27572,7 @@ public: void setRelatingFlowElement(const ::Ifc4x1::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28416,8 +27623,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x1::IfcElement RelatingElement() const; @@ -28436,7 +27642,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcElement v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcElement v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -28465,8 +27671,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -28480,7 +27685,7 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -28516,8 +27721,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x1::IfcElement RelatingElement() const; @@ -28527,7 +27731,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x1::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingElement, ::Ifc4x1::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -28580,8 +27784,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -28594,7 +27797,7 @@ public: void setRelatingStructure(const ::Ifc4x1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x1::IfcProduct > v5_RelatedElements, ::Ifc4x1::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -28652,8 +27855,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x1::IfcProcess RelatingProcess() const; @@ -28682,7 +27884,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess v5_RelatingProcess, ::Ifc4x1::IfcProcess v6_RelatedProcess, ::Ifc4x1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess v5_RelatingProcess, ::Ifc4x1::IfcProcess v6_RelatedProcess, ::Ifc4x1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -28707,8 +27909,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x1::IfcSystem RelatingSystem() const; @@ -28722,7 +27923,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x1::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x1::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x1::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -28888,8 +28089,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x1::IfcSpaceBoundarySelect RelatingSpace() const; @@ -28914,7 +28114,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x1::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -28965,8 +28165,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x1::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -28974,7 +28173,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29010,8 +28209,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x1::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29019,7 +28217,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x1::IfcElement v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29030,8 +28228,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x1::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x1::IfcElement& v); @@ -29039,7 +28236,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x1::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, ::Ifc4x1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcElement v5_RelatingBuildingElement, ::Ifc4x1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29066,14 +28263,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29090,8 +28286,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29107,7 +28302,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29187,8 +28382,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x1::IfcAxis1Placement Axis() const; @@ -29198,7 +28392,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29260,14 +28454,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x1::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x1::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29336,8 +28529,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29347,7 +28539,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29432,8 +28624,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -29443,13 +28634,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x1::IfcCurve& v); @@ -29457,13 +28647,12 @@ public: void setCrossSections(const std::vector< ::Ifc4x1::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x1::IfcDistanceExpression > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x1::IfcDistanceExpression >& v); @@ -29471,7 +28660,7 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); + IfcSectionedSolidHorizontal initialize(::Ifc4x1::IfcCurve v1_Directrix, std::vector< ::Ifc4x1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -29520,8 +28709,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -29572,7 +28760,7 @@ public: void setAccessState(const std::optional< ::Ifc4x1::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x1::IfcUnit v9_PrimaryUnit, ::Ifc4x1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x1::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x1::IfcUnit v9_PrimaryUnit, ::Ifc4x1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x1::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -29607,8 +28795,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -29620,7 +28807,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -29655,15 +28842,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -29741,8 +28927,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -29752,7 +28937,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -29790,12 +28975,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -29848,15 +29032,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -29890,8 +29073,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -29900,7 +29082,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -29954,27 +29136,25 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30071,8 +29251,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30101,7 +29280,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30192,13 +29371,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30206,13 +29384,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30236,12 +29413,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30265,8 +29441,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30276,7 +29451,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30298,12 +29473,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30329,15 +29503,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30352,21 +29525,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x1::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x1::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x1::IfcCurve& v); @@ -30376,7 +29547,7 @@ public: void setMasterRepresentation(const ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -30442,8 +29613,7 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc4x1::IfcCurve Directrix() const; @@ -30463,7 +29633,7 @@ public: void setReferenceSurface(const ::Ifc4x1::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x1::IfcProfileDef v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x1::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -30480,8 +29650,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x1::IfcDirection ExtrudedDirection() const; @@ -30491,7 +29660,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -30512,15 +29681,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x1::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x1::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x1::IfcProfileDef v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D v2_Position, ::Ifc4x1::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -30554,14 +29722,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -30810,8 +29977,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -30854,7 +30020,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -30898,8 +30064,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -30910,13 +30075,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x1::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x1::IfcCartesianPointList3D& v); @@ -30924,13 +30088,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -30938,7 +30101,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -31005,21 +30168,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31031,19 +30192,18 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31145,8 +30305,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31194,7 +30353,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31243,8 +30402,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x1::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31265,7 +30423,7 @@ public: void setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31284,8 +30442,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x1::IfcActorSelect TheActor() const; @@ -31293,7 +30450,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31330,12 +30487,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x1::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31360,33 +30516,30 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DHorizontalSegment() {} - explicit IfcAlignment2DHorizontalSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; ::Ifc4x1::IfcCurveSegment2D CurveGeometry() const; void setCurveGeometry(const ::Ifc4x1::IfcCurveSegment2D& v); std::vector< IfcAlignment2DHorizontal > ToHorizontal() const; // INVERSE IfcAlignment2DHorizontal::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x1::IfcCurveSegment2D v4_CurveGeometry); + IfcAlignment2DHorizontalSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x1::IfcCurveSegment2D v4_CurveGeometry); }; class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegCircularArc() {} - explicit IfcAlignment2DVerSegCircularArc (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; double Radius() const; void setRadius(const double& v); @@ -31394,23 +30547,21 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex); + IfcAlignment2DVerSegCircularArc initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex); }; class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegLine() {} - explicit IfcAlignment2DVerSegLine (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); + IfcAlignment2DVerSegLine initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); }; class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegParabolicArc() {} - explicit IfcAlignment2DVerSegParabolicArc (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; double ParabolaConstant() const; void setParabolaConstant(const double& v); @@ -31418,7 +30569,7 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex); + IfcAlignment2DVerSegParabolicArc initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -31595,13 +30746,12 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -31674,8 +30824,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -31700,7 +30849,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -31711,8 +30860,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -31731,7 +30879,7 @@ public: void setKnotSpec(const ::Ifc4x1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -31832,8 +30980,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -31846,7 +30993,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -31857,12 +31004,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -31876,12 +31022,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -32059,8 +31204,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcSpatialStructureElement { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -32073,7 +31217,7 @@ public: void setBuildingAddress(const ::Ifc4x1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x1::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x1::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -32106,12 +31250,11 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: - IfcBuildingElementType() {} - explicit IfcBuildingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuildingElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32292,15 +31435,14 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32329,15 +31471,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x1::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32359,25 +31500,23 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32479,15 +31618,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x1::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32499,8 +31637,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32511,7 +31648,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x1::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32581,8 +31718,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x1::IfcCompositeCurveSegment > Segments() const; @@ -32592,7 +31728,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32607,12 +31743,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32621,15 +31756,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x1::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x1::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32646,15 +31780,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32671,15 +31804,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -32696,15 +31828,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -32780,8 +31911,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x1::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x1::IfcResourceTime& v); @@ -32791,7 +31921,7 @@ public: void setBaseQuantity(const ::Ifc4x1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -32805,8 +31935,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -32817,7 +31946,7 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -32857,8 +31986,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32881,7 +32009,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x1::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -32908,8 +32036,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -32937,7 +32064,7 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33020,15 +32147,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33042,8 +32168,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33051,7 +32176,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33076,21 +32201,19 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x1::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: - IfcCurveSegment2D() {} - explicit IfcCurveSegment2D (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x1::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x1::IfcCartesianPoint& v); @@ -33100,7 +32223,7 @@ public: void setSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcCurveSegment2D initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33158,15 +32281,14 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33198,12 +32320,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33272,12 +32393,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33376,8 +32496,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33426,7 +32545,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33475,8 +32594,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33497,7 +32615,7 @@ public: void setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33629,8 +32747,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x1::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33644,7 +32761,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -33720,12 +32837,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -33742,12 +32858,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -33804,8 +32919,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -33824,7 +32938,7 @@ public: std::vector< IfcRelCoversBldgElements > HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -33922,8 +33036,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -33935,7 +33048,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -33961,15 +33074,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34050,12 +33162,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34068,12 +33179,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34104,8 +33214,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34115,7 +33224,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34142,12 +33251,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34177,14 +33285,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x1::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34214,15 +33321,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34252,15 +33358,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x1::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34341,8 +33446,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34362,7 +33466,7 @@ public: void setEventOccurenceTime(const ::Ifc4x1::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x1::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x1::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34371,12 +33475,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34404,12 +33507,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x1::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34437,15 +33539,14 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x1::IfcClosedShell > v2_Voids); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34457,15 +33558,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34492,15 +33592,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x1::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34598,12 +33697,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -34662,13 +33760,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -34722,13 +33819,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -34754,12 +33850,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -34786,12 +33881,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -34827,15 +33921,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x1::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -34861,12 +33954,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -34901,12 +33993,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34917,12 +34008,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -34933,12 +34023,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34950,12 +34039,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -34968,15 +34056,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Subtype of footing. ::Ifc4x1::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35084,12 +34171,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35124,14 +34210,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35275,15 +34360,14 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35317,13 +34401,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35356,15 +34439,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x1::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35394,21 +34476,19 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x1::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x1::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x1::IfcCartesianPointList& v); @@ -35418,7 +34498,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35455,24 +34535,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x1::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35487,8 +34565,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35514,7 +34591,7 @@ public: void setOriginalValue(const ::Ifc4x1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x1::IfcCostValue v10_CurrentValue, ::Ifc4x1::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x1::IfcCostValue v10_CurrentValue, ::Ifc4x1::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35545,15 +34622,14 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x1::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -35581,8 +34657,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -35590,7 +34665,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -35623,15 +34698,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x1::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -35666,25 +34740,23 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x1::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: - IfcLineSegment2D() {} - explicit IfcLineSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcLineSegment2D initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -35717,8 +34789,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -35729,7 +34800,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -35768,8 +34839,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -35782,7 +34852,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -35812,14 +34882,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -35924,15 +34993,14 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x1::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMemberTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -35963,15 +35031,14 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x1::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -35982,8 +35049,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -35992,7 +35058,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36198,8 +35264,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36209,7 +35274,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -36306,12 +35371,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36344,15 +35408,14 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x1::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36361,8 +35424,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36374,7 +35436,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36409,8 +35471,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36429,7 +35490,7 @@ public: void setShapeAspectStyle(const ::Ifc4x1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36470,8 +35531,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36490,7 +35550,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36501,15 +35561,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcBuildingElementType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Subtype of pile. ::Ifc4x1::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36542,15 +35601,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x1::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -36587,15 +35645,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x1::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -36676,21 +35733,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x1::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -36700,7 +35755,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -36718,15 +35773,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x1::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x1::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -36783,26 +35837,24 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -36910,8 +35962,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -36919,7 +35970,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -36966,8 +36017,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36990,7 +36040,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37101,8 +36151,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37111,7 +36160,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37150,15 +36199,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37190,15 +36238,14 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x1::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPumpTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37222,15 +36269,14 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x1::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRailingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37254,15 +36300,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x1::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37299,15 +36344,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x1::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37324,21 +36368,19 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value >& v); @@ -37346,7 +36388,7 @@ public: void setRestartDistance(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37358,26 +36400,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37405,8 +36445,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37429,7 +36468,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37444,8 +36483,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37480,7 +36518,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v20_BendingParameters); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37506,8 +36544,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37521,7 +36558,7 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x1::IfcObjectDefinition > v6_RelatedObjects); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -37557,15 +36594,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x1::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -37606,25 +36642,23 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -37649,15 +36683,14 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x1::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -37850,8 +36883,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -37873,7 +36905,7 @@ public: void setSiteAddress(const ::Ifc4x1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x1::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x1::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -37954,15 +36986,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x1::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -37992,14 +37023,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x1::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38253,8 +37283,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38270,7 +37299,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38304,15 +37333,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -38397,8 +37425,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x1::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -38407,7 +37434,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -38437,15 +37464,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x1::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -38469,15 +37495,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x1::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -38514,15 +37539,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x1::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -38545,23 +37569,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x1::IfcBoundaryCondition AppliedCondition() const; @@ -38569,7 +37591,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -38629,8 +37651,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38640,7 +37661,7 @@ public: void setPredefinedType(const ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -38661,8 +37682,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -38671,7 +37691,7 @@ public: void setAxis(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -38712,8 +37732,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -38725,7 +37744,7 @@ public: void setAxis(const ::Ifc4x1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -38749,12 +37768,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -38808,15 +37826,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -38827,12 +37844,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -38869,8 +37885,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x1::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -38891,7 +37906,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -38940,12 +37955,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -38962,15 +37976,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x1::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39017,12 +38030,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39030,8 +38042,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39045,7 +38056,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39101,8 +38112,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39112,7 +38122,7 @@ public: void setPredefinedType(const ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39128,12 +38138,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39161,8 +38170,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -39170,7 +38178,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -39206,15 +38214,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39258,15 +38265,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39287,13 +38293,12 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39321,14 +38326,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39364,21 +38368,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x1::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value >& v); @@ -39398,37 +38400,34 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x1::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x1::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcTendonTypeEnum::Value& v); @@ -39440,7 +38439,7 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -39471,21 +38470,19 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x1::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransformerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: - IfcTransitionCurveSegment2D() {} - explicit IfcTransitionCurveSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; std::optional< double > StartRadius() const; void setStartRadius(const std::optional< double >& v); @@ -39499,7 +38496,7 @@ public: void setTransitionCurveType(const ::Ifc4x1::IfcTransitionCurveType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x1::IfcTransitionCurveType::Value v8_TransitionCurveType); + IfcTransitionCurveSegment2D initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x1::IfcTransitionCurveType::Value v8_TransitionCurveType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -39619,8 +38616,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39629,7 +38625,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -39711,8 +38707,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x1::IfcCurve BasisCurve() const; @@ -39731,7 +38726,7 @@ public: void setMasterRepresentation(const ::Ifc4x1::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -39764,15 +38759,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x1::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -39804,15 +38798,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -39854,15 +38847,14 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x1::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -39900,14 +38892,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -39933,15 +38924,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40031,12 +39021,11 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40072,15 +39061,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -40168,15 +39156,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x1::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -40216,15 +39203,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x1::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40349,8 +39335,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x1::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40364,7 +39349,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40381,8 +39366,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -40402,7 +39386,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -40450,8 +39434,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -40476,7 +39459,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -40505,8 +39488,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -40514,7 +39496,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -40558,8 +39540,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -40567,7 +39548,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -40656,8 +39637,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40668,7 +39648,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -40710,8 +39690,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -40734,7 +39713,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -40764,15 +39743,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -40802,14 +39780,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x1::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -40839,21 +39816,19 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: - IfcAlignmentCurve() {} - explicit IfcAlignmentCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x1::IfcAlignment2DHorizontal Horizontal() const; void setHorizontal(const ::Ifc4x1::IfcAlignment2DHorizontal& v); @@ -40863,7 +39838,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag); + IfcAlignmentCurve initialize(::Ifc4x1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -40891,8 +39866,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -40928,7 +39902,7 @@ public: void setDepreciatedValue(const ::Ifc4x1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x1::IfcCostValue v7_OriginalValue, ::Ifc4x1::IfcCostValue v8_CurrentValue, ::Ifc4x1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x1::IfcActorSelect v10_Owner, ::Ifc4x1::IfcActorSelect v11_User, ::Ifc4x1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x1::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x1::IfcCostValue v7_OriginalValue, ::Ifc4x1::IfcCostValue v8_CurrentValue, ::Ifc4x1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x1::IfcActorSelect v10_Owner, ::Ifc4x1::IfcActorSelect v11_User, ::Ifc4x1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x1::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -40974,15 +39948,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41035,8 +40008,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41055,7 +40027,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -41076,8 +40048,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -41090,7 +40061,7 @@ public: void setKnotSpec(const ::Ifc4x1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -41192,15 +40163,14 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x1::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -41233,15 +40203,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x1::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41252,12 +40221,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -41624,12 +40592,11 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: - IfcBuildingElement() {} - explicit IfcBuildingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuildingElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -41650,15 +40617,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -41666,15 +40632,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -41868,14 +40833,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -41913,15 +40877,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -41961,8 +40924,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -41971,7 +40933,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42002,14 +40964,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x1::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42039,15 +41000,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42083,15 +41043,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42123,15 +41082,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x1::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42176,15 +41134,14 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x1::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42220,15 +41177,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x1::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42273,8 +41229,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42282,7 +41237,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42313,21 +41268,19 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x1::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: - IfcCircularArcSegment2D() {} - explicit IfcCircularArcSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; double Radius() const; void setRadius(const double& v); @@ -42335,17 +41288,16 @@ public: void setIsCCW(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); + IfcCircularArcSegment2D initialize(::Ifc4x1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42376,15 +41328,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x1::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42659,8 +41610,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42670,7 +41620,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -42919,12 +41869,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -42960,15 +41909,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -42999,15 +41947,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x1::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43038,15 +41985,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x1::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43072,8 +42018,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43081,7 +42026,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43111,8 +42056,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43120,7 +42064,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43139,8 +42083,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43148,7 +42091,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43181,15 +42124,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x1::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43226,15 +42168,14 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x1::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43462,8 +42403,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43472,7 +42412,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43614,8 +42554,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43625,7 +42564,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43663,15 +42602,14 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x1::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -43848,15 +42786,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44048,15 +42985,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44097,15 +43033,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44163,12 +43098,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44334,13 +43268,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44412,13 +43345,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44504,8 +43436,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44517,7 +43448,7 @@ public: void setSystemType(const std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44561,8 +43492,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44574,7 +43504,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -44934,8 +43864,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -44964,7 +43893,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -45072,12 +44001,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45110,15 +44038,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x1::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45151,15 +44078,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x1::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -45189,15 +44115,14 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x1::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45230,15 +44155,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x1::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45269,15 +44193,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45308,15 +44231,14 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45352,15 +44274,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45391,15 +44312,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x1::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45430,15 +44350,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45451,12 +44370,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45501,14 +44419,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45556,14 +44473,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45631,14 +44547,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45657,8 +44572,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45666,7 +44580,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45698,15 +44612,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x1::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45739,15 +44652,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x1::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -45784,15 +44696,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -45805,12 +44716,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -45819,12 +44729,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -45858,15 +44767,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -45950,14 +44858,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -45966,12 +44873,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -45998,12 +44904,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46016,12 +44921,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46036,12 +44940,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46050,12 +44953,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46081,8 +44983,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The generic type of the footing. /// @@ -46091,7 +44992,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v9_PredefinedType); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46191,8 +45092,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x1::IfcGridAxis > UAxes() const; @@ -46207,7 +45107,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46261,14 +45161,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -46315,14 +45214,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46383,14 +45281,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46460,14 +45357,13 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46518,14 +45414,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46595,26 +45490,24 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; ::Ifc4x1::IfcCurve Axis() const; void setAxis(const ::Ifc4x1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46662,14 +45555,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -46923,8 +45815,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -46934,7 +45825,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -47177,12 +46068,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -47227,14 +46117,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -47243,12 +46132,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -47318,14 +46206,13 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -47347,8 +46234,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcBuildingElement { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The predefined generic type of the pile according to function. /// @@ -47362,7 +46248,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x1::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47451,14 +46337,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47522,14 +46407,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -47761,8 +46645,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -47772,7 +46655,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -47929,12 +46812,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -48014,14 +46896,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -48065,15 +46946,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -48126,14 +47006,13 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -48269,8 +47148,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -48279,7 +47157,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -48416,8 +47294,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -48428,7 +47305,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48620,8 +47497,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48631,7 +47507,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48671,15 +47547,14 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48711,8 +47586,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48727,7 +47601,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -48747,8 +47621,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x1::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -48771,7 +47644,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x1::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -48920,8 +47793,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -48930,7 +47802,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -49060,14 +47932,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -49119,15 +47990,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x1::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -49145,8 +48015,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -49154,7 +48023,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -49418,8 +48287,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -49429,7 +48297,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -49516,12 +48384,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -49684,12 +48551,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -49740,14 +48606,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -49813,14 +48678,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -49874,14 +48738,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -50050,8 +48913,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -50060,7 +48922,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -50231,8 +49093,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -50259,7 +49120,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -50286,8 +49147,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x1::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -50319,15 +49179,14 @@ public: void setSharedPlacement(const ::Ifc4x1::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x1::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x1::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -50338,7 +49197,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -50349,12 +49208,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -50446,14 +49304,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -50517,14 +49374,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x1::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -50570,14 +49426,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -50628,14 +49483,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -50665,15 +49519,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -50749,14 +49602,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -50946,14 +49798,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -51199,8 +50050,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -51210,7 +50060,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -51312,12 +50162,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -51523,12 +50372,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -51636,14 +50484,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -52005,8 +50852,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -52035,7 +50881,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -52153,12 +50999,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -52193,15 +51038,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x1::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -52262,14 +51106,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -52315,14 +51158,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -52371,14 +51213,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -52408,27 +51249,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x1::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis, std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v9_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, ::Ifc4x1::IfcCurve v8_Axis, std::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v9_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -52610,14 +51449,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -52858,8 +51696,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -52869,7 +51706,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -53124,12 +51961,11 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -53202,14 +52038,13 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -53254,14 +52089,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -53326,15 +52160,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -53397,15 +52230,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -53483,15 +52315,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -53582,15 +52413,14 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -53663,14 +52493,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -53740,14 +52569,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53853,14 +52681,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -53910,14 +52737,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -53987,14 +52813,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -54034,15 +52859,14 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x1::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x1::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x1::IfcControllerTypeEnum::Value v10_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -54095,14 +52919,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -54163,14 +52986,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -54245,14 +53067,13 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -54287,24 +53108,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -54386,13 +53205,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -54471,14 +53289,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -54531,14 +53348,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -54584,14 +53400,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54693,14 +53508,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -54761,14 +53575,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -54813,14 +53626,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -54871,14 +53683,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -54923,14 +53734,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -54975,14 +53785,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -55040,14 +53849,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x1::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -55138,14 +53946,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -55215,14 +54022,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -55278,14 +54084,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; /// Entity Definition /// @@ -55341,14 +54146,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -55486,14 +54290,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -55552,14 +54355,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -55625,14 +54427,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -55678,14 +54479,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -55795,14 +54595,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x2.cpp b/src/ifcparse/schemas/Ifc4x2.cpp index abd6669fc2..d03e059dac 100644 --- a/src/ifcparse/schemas/Ifc4x2.cpp +++ b/src/ifcparse/schemas/Ifc4x2.cpp @@ -6455,652 +6455,652 @@ const ifcopenshell::select_type& Ifc4x2::IfcWarpingStiffnessSelect::Class() { re // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[0]); } -void Ifc4x2::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcAbsorbedDoseMeasure Ifc4x2::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1]); } -void Ifc4x2::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcAccelerationMeasure Ifc4x2::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[40]); } -void Ifc4x2::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcAmountOfSubstanceMeasure Ifc4x2::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[43]); } -void Ifc4x2::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcAngularVelocityMeasure Ifc4x2::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x2::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[54]); } -void Ifc4x2::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcArcIndex Ifc4x2::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[55]); } -void Ifc4x2::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcAreaDensityMeasure Ifc4x2::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[56]); } -void Ifc4x2::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcAreaMeasure Ifc4x2::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x2::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[78]); } -void Ifc4x2::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcBinary Ifc4x2::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x2::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[84]); } -void Ifc4x2::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcBoolean Ifc4x2::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x2::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[98]); } -void Ifc4x2::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcBoxAlignment Ifc4x2::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x2::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[140]); } -void Ifc4x2::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcCardinalPointReference Ifc4x2::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x2::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[184]); } -void Ifc4x2::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcComplexNumber Ifc4x2::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[192]); } -void Ifc4x2::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcCompoundPlaneAngleMeasure Ifc4x2::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[222]); } -void Ifc4x2::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcContextDependentMeasure Ifc4x2::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[244]); } -void Ifc4x2::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcCountMeasure Ifc4x2::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[259]); } -void Ifc4x2::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcCurvatureMeasure Ifc4x2::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x2::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[278]); } -void Ifc4x2::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDate Ifc4x2::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x2::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[279]); } -void Ifc4x2::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDateTime Ifc4x2::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x2::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[280]); } -void Ifc4x2::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDayInMonthNumber Ifc4x2::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x2::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[281]); } -void Ifc4x2::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDayInWeekNumber Ifc4x2::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[290]); } -void Ifc4x2::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDescriptiveMeasure Ifc4x2::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x2::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[292]); } -void Ifc4x2::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDimensionCount Ifc4x2::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[331]); } -void Ifc4x2::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDoseEquivalentMeasure Ifc4x2::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x2::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[343]); } -void Ifc4x2::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDuration Ifc4x2::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[344]); } -void Ifc4x2::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcDynamicViscosityMeasure Ifc4x2::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[351]); } -void Ifc4x2::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcElectricCapacitanceMeasure Ifc4x2::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[352]); } -void Ifc4x2::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcElectricChargeMeasure Ifc4x2::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[353]); } -void Ifc4x2::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcElectricConductanceMeasure Ifc4x2::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[354]); } -void Ifc4x2::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcElectricCurrentMeasure Ifc4x2::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[367]); } -void Ifc4x2::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcElectricResistanceMeasure Ifc4x2::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[371]); } -void Ifc4x2::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcElectricVoltageMeasure Ifc4x2::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[386]); } -void Ifc4x2::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcEnergyMeasure Ifc4x2::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x2::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[464]); } -void Ifc4x2::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcFontStyle Ifc4x2::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x2::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[465]); } -void Ifc4x2::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcFontVariant Ifc4x2::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x2::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[466]); } -void Ifc4x2::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcFontWeight Ifc4x2::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[470]); } -void Ifc4x2::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcForceMeasure Ifc4x2::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[471]); } -void Ifc4x2::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcFrequencyMeasure Ifc4x2::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x2::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[487]); } -void Ifc4x2::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcGloballyUniqueId Ifc4x2::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[500]); } -void Ifc4x2::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcHeatFluxDensityMeasure Ifc4x2::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[501]); } -void Ifc4x2::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcHeatingValueMeasure Ifc4x2::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x2::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[505]); } -void Ifc4x2::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcIdentifier Ifc4x2::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[506]); } -void Ifc4x2::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcIlluminanceMeasure Ifc4x2::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[514]); } -void Ifc4x2::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcInductanceMeasure Ifc4x2::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x2::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[515]); } -void Ifc4x2::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcInteger Ifc4x2::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[516]); } -void Ifc4x2::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcIntegerCountRateMeasure Ifc4x2::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[524]); } -void Ifc4x2::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcIonConcentrationMeasure Ifc4x2::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[528]); } -void Ifc4x2::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcIsothermalMoistureCapacityMeasure Ifc4x2::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[532]); } -void Ifc4x2::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcKinematicViscosityMeasure Ifc4x2::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x2::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[534]); } -void Ifc4x2::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLabel Ifc4x2::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x2::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[542]); } -void Ifc4x2::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLanguageId Ifc4x2::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[545]); } -void Ifc4x2::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLengthMeasure Ifc4x2::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x2::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[570]); } -void Ifc4x2::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLineIndex Ifc4x2::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[564]); } -void Ifc4x2::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLinearForceMeasure Ifc4x2::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[565]); } -void Ifc4x2::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLinearMomentMeasure Ifc4x2::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[568]); } -void Ifc4x2::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLinearStiffnessMeasure Ifc4x2::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[569]); } -void Ifc4x2::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLinearVelocityMeasure Ifc4x2::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x2::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[574]); } -void Ifc4x2::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLogical Ifc4x2::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[578]); } -void Ifc4x2::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLuminousFluxMeasure Ifc4x2::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[579]); } -void Ifc4x2::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLuminousIntensityDistributionMeasure Ifc4x2::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[580]); } -void Ifc4x2::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcLuminousIntensityMeasure Ifc4x2::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[581]); } -void Ifc4x2::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMagneticFluxDensityMeasure Ifc4x2::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[582]); } -void Ifc4x2::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMagneticFluxMeasure Ifc4x2::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[586]); } -void Ifc4x2::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMassDensityMeasure Ifc4x2::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[587]); } -void Ifc4x2::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMassFlowRateMeasure Ifc4x2::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[588]); } -void Ifc4x2::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMassMeasure Ifc4x2::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[589]); } -void Ifc4x2::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMassPerLengthMeasure Ifc4x2::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[625]); } -void Ifc4x2::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcModulusOfElasticityMeasure Ifc4x2::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[626]); } -void Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[627]); } -void Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[629]); } -void Ifc4x2::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcModulusOfSubgradeReactionMeasure Ifc4x2::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[632]); } -void Ifc4x2::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMoistureDiffusivityMeasure Ifc4x2::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[633]); } -void Ifc4x2::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMolecularWeightMeasure Ifc4x2::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[634]); } -void Ifc4x2::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMomentOfInertiaMeasure Ifc4x2::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[635]); } -void Ifc4x2::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMonetaryMeasure Ifc4x2::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x2::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[637]); } -void Ifc4x2::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcMonthInYearNumber Ifc4x2::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[642]); } -void Ifc4x2::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcNonNegativeLengthMeasure Ifc4x2::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[643]); } -void Ifc4x2::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcNormalisedRatioMeasure Ifc4x2::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[645]); } -void Ifc4x2::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcNumericMeasure Ifc4x2::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[684]); } -void Ifc4x2::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPHMeasure Ifc4x2::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x2::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[673]); } -void Ifc4x2::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcParameterValue Ifc4x2::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[703]); } -void Ifc4x2::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPlanarForceMeasure Ifc4x2::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[705]); } -void Ifc4x2::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPlaneAngleMeasure Ifc4x2::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x2::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[720]); } -void Ifc4x2::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPositiveInteger Ifc4x2::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[721]); } -void Ifc4x2::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPositiveLengthMeasure Ifc4x2::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[722]); } -void Ifc4x2::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPositivePlaneAngleMeasure Ifc4x2::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[723]); } -void Ifc4x2::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPositiveRatioMeasure Ifc4x2::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[725]); } -void Ifc4x2::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPowerMeasure Ifc4x2::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x2::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[733]); } -void Ifc4x2::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPresentableText Ifc4x2::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[740]); } -void Ifc4x2::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcPressureMeasure Ifc4x2::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x2::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[774]); } -void Ifc4x2::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x2::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x2::IfcPropertySetDefinitionSet Ifc4x2::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x2::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x2::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x2::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[798]); } -void Ifc4x2::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcRadioActivityMeasure Ifc4x2::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[808]); } -void Ifc4x2::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcRatioMeasure Ifc4x2::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x2::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[811]); } -void Ifc4x2::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcReal Ifc4x2::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[905]); } -void Ifc4x2::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcRotationalFrequencyMeasure Ifc4x2::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[906]); } -void Ifc4x2::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcRotationalMassMeasure Ifc4x2::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[907]); } -void Ifc4x2::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcRotationalStiffnessMeasure Ifc4x2::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[919]); } -void Ifc4x2::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSectionModulusMeasure Ifc4x2::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[915]); } -void Ifc4x2::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSectionalAreaIntegralMeasure Ifc4x2::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[934]); } -void Ifc4x2::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcShearModulusMeasure Ifc4x2::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[955]); } -void Ifc4x2::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSolidAngleMeasure Ifc4x2::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[958]); } -void Ifc4x2::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSoundPowerLevelMeasure Ifc4x2::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[959]); } -void Ifc4x2::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSoundPowerMeasure Ifc4x2::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[960]); } -void Ifc4x2::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSoundPressureLevelMeasure Ifc4x2::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[961]); } -void Ifc4x2::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSoundPressureMeasure Ifc4x2::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[976]); } -void Ifc4x2::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSpecificHeatCapacityMeasure Ifc4x2::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x2::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[977]); } -void Ifc4x2::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSpecularExponent Ifc4x2::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x2::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[979]); } -void Ifc4x2::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcSpecularRoughness Ifc4x2::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1084]); } -void Ifc4x2::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTemperatureGradientMeasure Ifc4x2::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1085]); } -void Ifc4x2::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTemperatureRateOfChangeMeasure Ifc4x2::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x2::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1097]); } -void Ifc4x2::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcText Ifc4x2::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x2::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1098]); } -void Ifc4x2::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTextAlignment Ifc4x2::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x2::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1099]); } -void Ifc4x2::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTextDecoration Ifc4x2::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x2::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1100]); } -void Ifc4x2::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTextFontName Ifc4x2::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x2::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1109]); } -void Ifc4x2::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTextTransformation Ifc4x2::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1115]); } -void Ifc4x2::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcThermalAdmittanceMeasure Ifc4x2::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1116]); } -void Ifc4x2::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcThermalConductivityMeasure Ifc4x2::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1117]); } -void Ifc4x2::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcThermalExpansionCoefficientMeasure Ifc4x2::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1118]); } -void Ifc4x2::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcThermalResistanceMeasure Ifc4x2::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1119]); } -void Ifc4x2::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcThermalTransmittanceMeasure Ifc4x2::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1120]); } -void Ifc4x2::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcThermodynamicTemperatureMeasure Ifc4x2::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x2::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1121]); } -void Ifc4x2::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTime Ifc4x2::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1122]); } -void Ifc4x2::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTimeMeasure Ifc4x2::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x2::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1128]); } -void Ifc4x2::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTimeStamp Ifc4x2::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1132]); } -void Ifc4x2::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcTorqueMeasure Ifc4x2::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x2::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1166]); } -void Ifc4x2::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcURIReference Ifc4x2::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1172]); } -void Ifc4x2::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcVaporPermeabilityMeasure Ifc4x2::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1188]); } -void Ifc4x2::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcVolumeMeasure Ifc4x2::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1189]); } -void Ifc4x2::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcVolumetricFlowRateMeasure Ifc4x2::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1195]); } -void Ifc4x2::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcWarpingConstantMeasure Ifc4x2::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x2::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X2_types[1196]); } -void Ifc4x2::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x2::IfcWarpingMomentMeasure Ifc4x2::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x2::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -7114,7 +7114,7 @@ void Ifc4x2::IfcActionRequest::setLongDescription(const std::optional< std::stri const ifcopenshell::entity& Ifc4x2::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X2_types[2]); } -void Ifc4x2::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x2::IfcActionRequest Ifc4x2::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x2::IfcActorSelect Ifc4x2::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcActorSelect>(); } @@ -7123,7 +7123,7 @@ void Ifc4x2::IfcActor::setTheActor(const ::Ifc4x2::IfcActorSelect& v) { set_attr std::vector<::Ifc4x2::IfcRelAssignsToActor> Ifc4x2::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[837], 6)); } const ifcopenshell::entity& Ifc4x2::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[6]); } -void Ifc4x2::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x2::IfcActor Ifc4x2::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x2::IfcRoleEnum::Value Ifc4x2::IfcActorRole::Role() const { return ::Ifc4x2::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7136,7 +7136,7 @@ void Ifc4x2::IfcActorRole::setDescription(const std::optional< std::string >& v) std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X2_types[7]); } -void Ifc4x2::IfcActorRole::initialize(::Ifc4x2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x2::IfcActorRole Ifc4x2::IfcActorRole::initialize(::Ifc4x2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > Ifc4x2::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7144,7 +7144,7 @@ void Ifc4x2::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x2::IfcAc const ifcopenshell::entity& Ifc4x2::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[9]); } -void Ifc4x2::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcActuator Ifc4x2::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x2::IfcActuatorTypeEnum::Value Ifc4x2::IfcActuatorType::PredefinedType() const { return ::Ifc4x2::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7152,7 +7152,7 @@ void Ifc4x2::IfcActuatorType::setPredefinedType(const ::Ifc4x2::IfcActuatorTypeE const ifcopenshell::entity& Ifc4x2::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[10]); } -void Ifc4x2::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcActuatorType Ifc4x2::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Ifc4x2::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -7166,13 +7166,13 @@ std::vector<::Ifc4x2::IfcPerson> Ifc4x2::IfcAddress::OfPerson() const { return c std::vector<::Ifc4x2::IfcOrganization> Ifc4x2::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[663], 4)); } const ifcopenshell::entity& Ifc4x2::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X2_types[12]); } -void Ifc4x2::IfcAddress::initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x2::IfcAddress Ifc4x2::IfcAddress::initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x2::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X2_types[14]); } -void Ifc4x2::IfcAdvancedBrep::initialize(::Ifc4x2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x2::IfcAdvancedBrep Ifc4x2::IfcAdvancedBrep::initialize(::Ifc4x2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x2::IfcClosedShell > Ifc4x2::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcClosedShell>(es); } @@ -7180,13 +7180,13 @@ void Ifc4x2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[15]); } -void Ifc4x2::IfcAdvancedBrepWithVoids::initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x2::IfcAdvancedBrepWithVoids Ifc4x2::IfcAdvancedBrepWithVoids::initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x2::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X2_types[16]); } -void Ifc4x2::IfcAdvancedFace::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x2::IfcAdvancedFace Ifc4x2::IfcAdvancedFace::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > Ifc4x2::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -7194,7 +7194,7 @@ void Ifc4x2::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[17]); } -void Ifc4x2::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcAirTerminal Ifc4x2::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x2::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -7202,7 +7202,7 @@ void Ifc4x2::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X2_types[18]); } -void Ifc4x2::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcAirTerminalBox Ifc4x2::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value Ifc4x2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -7210,7 +7210,7 @@ void Ifc4x2::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x2::IfcAirTerm const ifcopenshell::entity& Ifc4x2::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[19]); } -void Ifc4x2::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcAirTerminalBoxType Ifc4x2::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x2::IfcAirTerminalTypeEnum::Value Ifc4x2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7218,7 +7218,7 @@ void Ifc4x2::IfcAirTerminalType::setPredefinedType(const ::Ifc4x2::IfcAirTermina const ifcopenshell::entity& Ifc4x2::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[21]); } -void Ifc4x2::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcAirTerminalType Ifc4x2::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x2::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -7226,7 +7226,7 @@ void Ifc4x2::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x2::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X2_types[23]); } -void Ifc4x2::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcAirToAirHeatRecovery Ifc4x2::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -7234,7 +7234,7 @@ void Ifc4x2::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x2::IfcA const ifcopenshell::entity& Ifc4x2::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[24]); } -void Ifc4x2::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcAirToAirHeatRecoveryType Ifc4x2::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > Ifc4x2::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -7242,7 +7242,7 @@ void Ifc4x2::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x2::IfcAlarm const ifcopenshell::entity& Ifc4x2::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X2_types[26]); } -void Ifc4x2::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcAlarm Ifc4x2::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x2::IfcAlarmTypeEnum::Value Ifc4x2::IfcAlarmType::PredefinedType() const { return ::Ifc4x2::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -7250,7 +7250,7 @@ void Ifc4x2::IfcAlarmType::setPredefinedType(const ::Ifc4x2::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[27]); } -void Ifc4x2::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcAlarmType Ifc4x2::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > Ifc4x2::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7258,7 +7258,7 @@ void Ifc4x2::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x2::IfcA const ifcopenshell::entity& Ifc4x2::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[29]); } -void Ifc4x2::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis, std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcAlignment Ifc4x2::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis, std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlignment2DHorizontal std::optional< double > Ifc4x2::IfcAlignment2DHorizontal::StartDistAlong() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -7269,7 +7269,7 @@ void Ifc4x2::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4x2:: std::vector<::Ifc4x2::IfcAlignmentCurve> Ifc4x2::IfcAlignment2DHorizontal::ToAlignmentCurve() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[38], 0)); } const ifcopenshell::entity& Ifc4x2::IfcAlignment2DHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[30]); } -void Ifc4x2::IfcAlignment2DHorizontal::initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment > v2_Segments) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, cast_vector(v2_Segments)); } +Ifc4x2::IfcAlignment2DHorizontal Ifc4x2::IfcAlignment2DHorizontal::initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment > v2_Segments) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, cast_vector(v2_Segments));; return *this; } // Function implementations for IfcAlignment2DHorizontalSegment ::Ifc4x2::IfcCurveSegment2D Ifc4x2::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcCurveSegment2D>(); } @@ -7278,7 +7278,7 @@ void Ifc4x2::IfcAlignment2DHorizontalSegment::setCurveGeometry(const ::Ifc4x2::I std::vector<::Ifc4x2::IfcAlignment2DHorizontal> Ifc4x2::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[30], 1)); } const ifcopenshell::entity& Ifc4x2::IfcAlignment2DHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[31]); } -void Ifc4x2::IfcAlignment2DHorizontalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x2::IfcCurveSegment2D v4_CurveGeometry) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_CurveGeometry)); } +Ifc4x2::IfcAlignment2DHorizontalSegment Ifc4x2::IfcAlignment2DHorizontalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x2::IfcCurveSegment2D v4_CurveGeometry) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_CurveGeometry));; return *this; } // Function implementations for IfcAlignment2DSegment std::optional< bool > Ifc4x2::IfcAlignment2DSegment::TangentialContinuity() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } bool v = get_attribute_value(0); return v; } @@ -7290,7 +7290,7 @@ void Ifc4x2::IfcAlignment2DSegment::setEndTag(const std::optional< std::string > const ifcopenshell::entity& Ifc4x2::IfcAlignment2DSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[32]); } -void Ifc4x2::IfcAlignment2DSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); } } +Ifc4x2::IfcAlignment2DSegment Ifc4x2::IfcAlignment2DSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; return *this; } // Function implementations for IfcAlignment2DVerSegCircularArc double Ifc4x2::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(7); return v; } @@ -7300,13 +7300,13 @@ void Ifc4x2::IfcAlignment2DVerSegCircularArc::setIsConvex(const bool& v) { set_a const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVerSegCircularArc::Class() { return *((ifcopenshell::entity*)IFC4X2_types[33]); } -void Ifc4x2::IfcAlignment2DVerSegCircularArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex)); } +Ifc4x2::IfcAlignment2DVerSegCircularArc Ifc4x2::IfcAlignment2DVerSegCircularArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVerSegLine const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVerSegLine::Class() { return *((ifcopenshell::entity*)IFC4X2_types[34]); } -void Ifc4x2::IfcAlignment2DVerSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); } +Ifc4x2::IfcAlignment2DVerSegLine Ifc4x2::IfcAlignment2DVerSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; return *this; } // Function implementations for IfcAlignment2DVerSegParabolicArc double Ifc4x2::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(7); return v; } @@ -7316,7 +7316,7 @@ void Ifc4x2::IfcAlignment2DVerSegParabolicArc::setIsConvex(const bool& v) { set_ const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVerSegParabolicArc::Class() { return *((ifcopenshell::entity*)IFC4X2_types[35]); } -void Ifc4x2::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex)); } +Ifc4x2::IfcAlignment2DVerSegParabolicArc Ifc4x2::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVertical std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > Ifc4x2::IfcAlignment2DVertical::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcAlignment2DVerticalSegment>(es); } @@ -7325,7 +7325,7 @@ void Ifc4x2::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x2::If std::vector<::Ifc4x2::IfcAlignmentCurve> Ifc4x2::IfcAlignment2DVertical::ToAlignmentCurve() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[38], 1)); } const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVertical::Class() { return *((ifcopenshell::entity*)IFC4X2_types[36]); } -void Ifc4x2::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments)); } +Ifc4x2::IfcAlignment2DVertical Ifc4x2::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments));; return *this; } // Function implementations for IfcAlignment2DVerticalSegment double Ifc4x2::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } @@ -7340,7 +7340,7 @@ void Ifc4x2::IfcAlignment2DVerticalSegment::setStartGradient(const double& v) { std::vector<::Ifc4x2::IfcAlignment2DVertical> Ifc4x2::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[36], 0)); } const ifcopenshell::entity& Ifc4x2::IfcAlignment2DVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[37]); } -void Ifc4x2::IfcAlignment2DVerticalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); } +Ifc4x2::IfcAlignment2DVerticalSegment Ifc4x2::IfcAlignment2DVerticalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; return *this; } // Function implementations for IfcAlignmentCurve ::Ifc4x2::IfcAlignment2DHorizontal Ifc4x2::IfcAlignmentCurve::Horizontal() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcAlignment2DHorizontal>(); } @@ -7352,14 +7352,14 @@ void Ifc4x2::IfcAlignmentCurve::setTag(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x2::IfcAlignmentCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[38]); } -void Ifc4x2::IfcAlignmentCurve::initialize(::Ifc4x2::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x2::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x2::IfcAlignmentCurve Ifc4x2::IfcAlignmentCurve::initialize(::Ifc4x2::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x2::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcAnnotation std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[861], 4)); } const ifcopenshell::entity& Ifc4x2::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[44]); } -void Ifc4x2::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x2::IfcAnnotation Ifc4x2::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x2::IfcCurve Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -7369,7 +7369,7 @@ void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std: const ifcopenshell::entity& Ifc4x2::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X2_types[45]); } -void Ifc4x2::IfcAnnotationFillArea::initialize(::Ifc4x2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x2::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x2::IfcAnnotationFillArea Ifc4x2::IfcAnnotationFillArea::initialize(::Ifc4x2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x2::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x2::IfcOrganization Ifc4x2::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcOrganization>(); } @@ -7383,7 +7383,7 @@ void Ifc4x2::IfcApplication::setApplicationIdentifier(const std::string& v) { se const ifcopenshell::entity& Ifc4x2::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X2_types[46]); } -void Ifc4x2::IfcApplication::initialize(::Ifc4x2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x2::IfcApplication Ifc4x2::IfcApplication::initialize(::Ifc4x2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x2::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7410,7 +7410,7 @@ void Ifc4x2::IfcAppliedValue::setComponents(const std::optional< std::vector< :: std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[47]); } -void Ifc4x2::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x2::IfcAppliedValue Ifc4x2::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x2::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7439,7 +7439,7 @@ std::vector<::Ifc4x2::IfcApprovalRelationship> Ifc4x2::IfcApproval::IsRelatedWit std::vector<::Ifc4x2::IfcApprovalRelationship> Ifc4x2::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[50], 2)); } const ifcopenshell::entity& Ifc4x2::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X2_types[49]); } -void Ifc4x2::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect v8_RequestingApproval, ::Ifc4x2::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x2::IfcApproval Ifc4x2::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect v8_RequestingApproval, ::Ifc4x2::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x2::IfcApproval Ifc4x2::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcApproval>(); } @@ -7449,7 +7449,7 @@ void Ifc4x2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::I const ifcopenshell::entity& Ifc4x2::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[50]); } -void Ifc4x2::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x2::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x2::IfcApprovalRelationship Ifc4x2::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x2::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x2::IfcCurve Ifc4x2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } @@ -7457,7 +7457,7 @@ void Ifc4x2::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x2::IfcCurv const ifcopenshell::entity& Ifc4x2::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[51]); } -void Ifc4x2::IfcArbitraryClosedProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x2::IfcArbitraryClosedProfileDef Ifc4x2::IfcArbitraryClosedProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x2::IfcBoundedCurve Ifc4x2::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcBoundedCurve>(); } @@ -7465,7 +7465,7 @@ void Ifc4x2::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x2::IfcBoundedCurv const ifcopenshell::entity& Ifc4x2::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[52]); } -void Ifc4x2::IfcArbitraryOpenProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x2::IfcArbitraryOpenProfileDef Ifc4x2::IfcArbitraryOpenProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x2::IfcCurve > Ifc4x2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x2::IfcCurve>(es); } @@ -7473,7 +7473,7 @@ void Ifc4x2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< const ifcopenshell::entity& Ifc4x2::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[53]); } -void Ifc4x2::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x2::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x2::IfcArbitraryProfileDefWithVoids Ifc4x2::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x2::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x2::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -7497,7 +7497,7 @@ void Ifc4x2::IfcAsset::setDepreciatedValue(const ::Ifc4x2::IfcCostValue& v) { se const ifcopenshell::entity& Ifc4x2::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X2_types[59]); } -void Ifc4x2::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x2::IfcCostValue v7_OriginalValue, ::Ifc4x2::IfcCostValue v8_CurrentValue, ::Ifc4x2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x2::IfcActorSelect v10_Owner, ::Ifc4x2::IfcActorSelect v11_User, ::Ifc4x2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x2::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x2::IfcAsset Ifc4x2::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x2::IfcCostValue v7_OriginalValue, ::Ifc4x2::IfcCostValue v8_CurrentValue, ::Ifc4x2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x2::IfcActorSelect v10_Owner, ::Ifc4x2::IfcActorSelect v11_User, ::Ifc4x2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x2::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -7527,7 +7527,7 @@ void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[60]); } -void Ifc4x2::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x2::IfcAsymmetricIShapeProfileDef Ifc4x2::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x2::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -7535,7 +7535,7 @@ void Ifc4x2::IfcAudioVisualAppliance::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x2::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X2_types[61]); } -void Ifc4x2::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcAudioVisualAppliance Ifc4x2::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -7543,7 +7543,7 @@ void Ifc4x2::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x2::IfcA const ifcopenshell::entity& Ifc4x2::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[62]); } -void Ifc4x2::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcAudioVisualApplianceType Ifc4x2::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x2::IfcDirection Ifc4x2::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } @@ -7551,7 +7551,7 @@ void Ifc4x2::IfcAxis1Placement::setAxis(const ::Ifc4x2::IfcDirection& v) { set_a const ifcopenshell::entity& Ifc4x2::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[64]); } -void Ifc4x2::IfcAxis1Placement::initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x2::IfcAxis1Placement Ifc4x2::IfcAxis1Placement::initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x2::IfcDirection Ifc4x2::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } @@ -7559,7 +7559,7 @@ void Ifc4x2::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x2::IfcDirection& const ifcopenshell::entity& Ifc4x2::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[66]); } -void Ifc4x2::IfcAxis2Placement2D::initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x2::IfcAxis2Placement2D Ifc4x2::IfcAxis2Placement2D::initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x2::IfcDirection Ifc4x2::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcDirection>(); } @@ -7569,7 +7569,7 @@ void Ifc4x2::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x2::IfcDirection& const ifcopenshell::entity& Ifc4x2::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[67]); } -void Ifc4x2::IfcAxis2Placement3D::initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis, ::Ifc4x2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcAxis2Placement3D::initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis, ::Ifc4x2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x2::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -7585,7 +7585,7 @@ void Ifc4x2::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc4x2::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[104]); } -void Ifc4x2::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x2::IfcBSplineCurve Ifc4x2::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -7597,7 +7597,7 @@ void Ifc4x2::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x2::IfcKnotType:: const ifcopenshell::entity& Ifc4x2::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X2_types[106]); } -void Ifc4x2::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x2::IfcBSplineCurveWithKnots Ifc4x2::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x2::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -7617,7 +7617,7 @@ void Ifc4x2::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x2::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[107]); } -void Ifc4x2::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x2::IfcBSplineSurface Ifc4x2::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -7633,7 +7633,7 @@ void Ifc4x2::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x2::IfcKnotType const ifcopenshell::entity& Ifc4x2::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X2_types[109]); } -void Ifc4x2::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x2::IfcBSplineSurfaceWithKnots Ifc4x2::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > Ifc4x2::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -7641,13 +7641,13 @@ void Ifc4x2::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x2::IfcBeamTy const ifcopenshell::entity& Ifc4x2::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X2_types[68]); } -void Ifc4x2::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBeam Ifc4x2::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4x2::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[69]); } -void Ifc4x2::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBeamStandardCase Ifc4x2::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x2::IfcBeamTypeEnum::Value Ifc4x2::IfcBeamType::PredefinedType() const { return ::Ifc4x2::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -7655,7 +7655,7 @@ void Ifc4x2::IfcBeamType::setPredefinedType(const ::Ifc4x2::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[70]); } -void Ifc4x2::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcBeamType Ifc4x2::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > Ifc4x2::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -7663,7 +7663,7 @@ void Ifc4x2::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x2::IfcBea const ifcopenshell::entity& Ifc4x2::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X2_types[72]); } -void Ifc4x2::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBearing Ifc4x2::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x2::IfcBearingTypeEnum::Value Ifc4x2::IfcBearingType::PredefinedType() const { return ::Ifc4x2::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -7671,7 +7671,7 @@ void Ifc4x2::IfcBearingType::setPredefinedType(const ::Ifc4x2::IfcBearingTypeEnu const ifcopenshell::entity& Ifc4x2::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[73]); } -void Ifc4x2::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcBearingType Ifc4x2::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x2::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -7681,7 +7681,7 @@ void Ifc4x2::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) { s const ifcopenshell::entity& Ifc4x2::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X2_types[79]); } -void Ifc4x2::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x2::IfcBlobTexture Ifc4x2::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x2::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -7693,7 +7693,7 @@ void Ifc4x2::IfcBlock::setZLength(const double& v) { set_attribute_value(3, v);i const ifcopenshell::entity& Ifc4x2::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X2_types[80]); } -void Ifc4x2::IfcBlock::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x2::IfcBlock Ifc4x2::IfcBlock::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > Ifc4x2::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -7701,7 +7701,7 @@ void Ifc4x2::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x2::IfcBoil const ifcopenshell::entity& Ifc4x2::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X2_types[81]); } -void Ifc4x2::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBoiler Ifc4x2::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x2::IfcBoilerTypeEnum::Value Ifc4x2::IfcBoilerType::PredefinedType() const { return ::Ifc4x2::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -7709,13 +7709,13 @@ void Ifc4x2::IfcBoilerType::setPredefinedType(const ::Ifc4x2::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[82]); } -void Ifc4x2::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcBoilerType Ifc4x2::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x2::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X2_types[85]); } -void Ifc4x2::IfcBooleanClippingResult::initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x2::IfcBooleanClippingResult Ifc4x2::IfcBooleanClippingResult::initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanResult::Operator() const { return ::Ifc4x2::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -7727,7 +7727,7 @@ void Ifc4x2::IfcBooleanResult::setSecondOperand(const ::Ifc4x2::IfcBooleanOperan const ifcopenshell::entity& Ifc4x2::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X2_types[88]); } -void Ifc4x2::IfcBooleanResult::initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x2::IfcBooleanResult Ifc4x2::IfcBooleanResult::initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x2::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -7735,13 +7735,13 @@ void Ifc4x2::IfcBoundaryCondition::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[89]); } -void Ifc4x2::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcBoundaryCondition Ifc4x2::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x2::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[90]); } -void Ifc4x2::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x2::IfcBoundaryCurve Ifc4x2::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -7759,7 +7759,7 @@ void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::I const ifcopenshell::entity& Ifc4x2::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[91]); } -void Ifc4x2::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x2::IfcBoundaryEdgeCondition Ifc4x2::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x2::IfcModulusOfSubgradeReactionSelect Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(); } @@ -7771,7 +7771,7 @@ void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const :: const ifcopenshell::entity& Ifc4x2::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[92]); } -void Ifc4x2::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x2::IfcBoundaryFaceCondition Ifc4x2::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x2::IfcTranslationalStiffnessSelect Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcTranslationalStiffnessSelect>(); } @@ -7789,7 +7789,7 @@ void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[93]); } -void Ifc4x2::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x2::IfcBoundaryNodeCondition Ifc4x2::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x2::IfcWarpingStiffnessSelect Ifc4x2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcWarpingStiffnessSelect>(); } @@ -7797,20 +7797,20 @@ void Ifc4x2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X2_types[94]); } -void Ifc4x2::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x2::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x2::IfcBoundaryNodeConditionWarping Ifc4x2::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x2::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve std::vector<::Ifc4x2::IfcLinearPositioningElement> Ifc4x2::IfcBoundedCurve::PositioningElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[567], 7)); } const ifcopenshell::entity& Ifc4x2::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[95]); } -void Ifc4x2::IfcBoundedCurve::initialize() { } +Ifc4x2::IfcBoundedCurve Ifc4x2::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x2::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[96]); } -void Ifc4x2::IfcBoundedSurface::initialize() { } +Ifc4x2::IfcBoundedSurface Ifc4x2::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } @@ -7824,7 +7824,7 @@ void Ifc4x2::IfcBoundingBox::setZDim(const double& v) { set_attribute_value(3, v const ifcopenshell::entity& Ifc4x2::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X2_types[97]); } -void Ifc4x2::IfcBoundingBox::initialize(::Ifc4x2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x2::IfcBoundingBox Ifc4x2::IfcBoundingBox::initialize(::Ifc4x2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x2::IfcBoundingBox Ifc4x2::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcBoundingBox>(); } @@ -7832,7 +7832,7 @@ void Ifc4x2::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x2::IfcBoundingBox& v) const ifcopenshell::entity& Ifc4x2::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X2_types[99]); } -void Ifc4x2::IfcBoxedHalfSpace::initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x2::IfcBoxedHalfSpace Ifc4x2::IfcBoxedHalfSpace::initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > Ifc4x2::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -7840,7 +7840,7 @@ void Ifc4x2::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x2::IfcBrid const ifcopenshell::entity& Ifc4x2::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X2_types[100]); } -void Ifc4x2::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x2::IfcBridge Ifc4x2::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > Ifc4x2::IfcBridgePart::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBridgePartTypeEnum::FromString(get_attribute_value(9)); } @@ -7848,7 +7848,7 @@ void Ifc4x2::IfcBridgePart::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X2_types[101]); } -void Ifc4x2::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBridgePartTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x2::IfcBridgePart Ifc4x2::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBridgePartTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x2::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -7860,13 +7860,13 @@ void Ifc4x2::IfcBuilding::setBuildingAddress(const ::Ifc4x2::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x2::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X2_types[110]); } -void Ifc4x2::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x2::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x2::IfcBuilding Ifc4x2::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x2::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElement const ifcopenshell::entity& Ifc4x2::IfcBuildingElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[111]); } -void Ifc4x2::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcBuildingElement Ifc4x2::IfcBuildingElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > Ifc4x2::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -7874,7 +7874,7 @@ void Ifc4x2::IfcBuildingElementPart::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X2_types[112]); } -void Ifc4x2::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBuildingElementPart Ifc4x2::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value Ifc4x2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -7882,7 +7882,7 @@ void Ifc4x2::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x2::IfcBu const ifcopenshell::entity& Ifc4x2::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[113]); } -void Ifc4x2::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcBuildingElementPartType Ifc4x2::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x2::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -7890,7 +7890,7 @@ void Ifc4x2::IfcBuildingElementProxy::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x2::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X2_types[115]); } -void Ifc4x2::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBuildingElementProxy Ifc4x2::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value Ifc4x2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -7898,13 +7898,13 @@ void Ifc4x2::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x2::IfcB const ifcopenshell::entity& Ifc4x2::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[116]); } -void Ifc4x2::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcBuildingElementProxyType Ifc4x2::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementType const ifcopenshell::entity& Ifc4x2::IfcBuildingElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[118]); } -void Ifc4x2::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcBuildingElementType Ifc4x2::IfcBuildingElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x2::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -7912,7 +7912,7 @@ void Ifc4x2::IfcBuildingStorey::setElevation(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x2::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X2_types[119]); } -void Ifc4x2::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x2::IfcBuildingStorey Ifc4x2::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > Ifc4x2::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -7922,7 +7922,7 @@ void Ifc4x2::IfcBuildingSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[120]); } -void Ifc4x2::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x2::IfcBuildingSystem Ifc4x2::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > Ifc4x2::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -7930,7 +7930,7 @@ void Ifc4x2::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x2::IfcBurn const ifcopenshell::entity& Ifc4x2::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X2_types[122]); } -void Ifc4x2::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcBurner Ifc4x2::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x2::IfcBurnerTypeEnum::Value Ifc4x2::IfcBurnerType::PredefinedType() const { return ::Ifc4x2::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -7938,7 +7938,7 @@ void Ifc4x2::IfcBurnerType::setPredefinedType(const ::Ifc4x2::IfcBurnerTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[123]); } -void Ifc4x2::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcBurnerType Ifc4x2::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x2::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -7954,7 +7954,7 @@ void Ifc4x2::IfcCShapeProfileDef::setInternalFilletRadius(const std::optional< d const ifcopenshell::entity& Ifc4x2::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[254]); } -void Ifc4x2::IfcCShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x2::IfcCShapeProfileDef Ifc4x2::IfcCShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x2::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -7962,7 +7962,7 @@ void Ifc4x2::IfcCableCarrierFitting::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[125]); } -void Ifc4x2::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCableCarrierFitting Ifc4x2::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value Ifc4x2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -7970,7 +7970,7 @@ void Ifc4x2::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x2::IfcCa const ifcopenshell::entity& Ifc4x2::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[126]); } -void Ifc4x2::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCableCarrierFittingType Ifc4x2::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x2::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7978,7 +7978,7 @@ void Ifc4x2::IfcCableCarrierSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[128]); } -void Ifc4x2::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCableCarrierSegment Ifc4x2::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -7986,7 +7986,7 @@ void Ifc4x2::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x2::IfcCa const ifcopenshell::entity& Ifc4x2::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[129]); } -void Ifc4x2::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCableCarrierSegmentType Ifc4x2::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > Ifc4x2::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -7994,7 +7994,7 @@ void Ifc4x2::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[131]); } -void Ifc4x2::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCableFitting Ifc4x2::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x2::IfcCableFittingTypeEnum::Value Ifc4x2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8002,7 +8002,7 @@ void Ifc4x2::IfcCableFittingType::setPredefinedType(const ::Ifc4x2::IfcCableFitt const ifcopenshell::entity& Ifc4x2::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[132]); } -void Ifc4x2::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCableFittingType Ifc4x2::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > Ifc4x2::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8010,7 +8010,7 @@ void Ifc4x2::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[134]); } -void Ifc4x2::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCableSegment Ifc4x2::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x2::IfcCableSegmentTypeEnum::Value Ifc4x2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8018,7 +8018,7 @@ void Ifc4x2::IfcCableSegmentType::setPredefinedType(const ::Ifc4x2::IfcCableSegm const ifcopenshell::entity& Ifc4x2::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[135]); } -void Ifc4x2::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCableSegmentType Ifc4x2::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > Ifc4x2::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8026,7 +8026,7 @@ void Ifc4x2::IfcCaissonFoundation::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[137]); } -void Ifc4x2::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCaissonFoundation Ifc4x2::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value Ifc4x2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8034,7 +8034,7 @@ void Ifc4x2::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x2::IfcCais const ifcopenshell::entity& Ifc4x2::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[138]); } -void Ifc4x2::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCaissonFoundationType Ifc4x2::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8042,13 +8042,13 @@ void Ifc4x2::IfcCartesianPoint::setCoordinates(const std::vector< double > /*[1: const ifcopenshell::entity& Ifc4x2::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X2_types[141]); } -void Ifc4x2::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x2::IfcCartesianPoint Ifc4x2::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x2::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X2_types[142]); } -void Ifc4x2::IfcCartesianPointList::initialize() { } +Ifc4x2::IfcCartesianPointList Ifc4x2::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8058,7 +8058,7 @@ void Ifc4x2::IfcCartesianPointList2D::setTagList(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x2::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[143]); } -void Ifc4x2::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x2::IfcCartesianPointList2D Ifc4x2::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8068,7 +8068,7 @@ void Ifc4x2::IfcCartesianPointList3D::setTagList(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x2::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[144]); } -void Ifc4x2::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x2::IfcCartesianPointList3D Ifc4x2::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x2::IfcDirection Ifc4x2::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcDirection>(); } @@ -8082,13 +8082,13 @@ void Ifc4x2::IfcCartesianTransformationOperator::setScale(const std::optional< d const ifcopenshell::entity& Ifc4x2::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[145]); } -void Ifc4x2::IfcCartesianTransformationOperator::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x2::IfcCartesianTransformationOperator Ifc4x2::IfcCartesianTransformationOperator::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x2::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[146]); } -void Ifc4x2::IfcCartesianTransformationOperator2D::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x2::IfcCartesianTransformationOperator2D Ifc4x2::IfcCartesianTransformationOperator2D::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8096,7 +8096,7 @@ void Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::setScale2(const std const ifcopenshell::entity& Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X2_types[147]); } -void Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x2::IfcCartesianTransformationOperator2DnonUniform Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x2::IfcDirection Ifc4x2::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcDirection>(); } @@ -8104,7 +8104,7 @@ void Ifc4x2::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x2::IfcD const ifcopenshell::entity& Ifc4x2::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[148]); } -void Ifc4x2::IfcCartesianTransformationOperator3D::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x2::IfcCartesianTransformationOperator3D Ifc4x2::IfcCartesianTransformationOperator3D::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8114,7 +8114,7 @@ void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale3(const std const ifcopenshell::entity& Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X2_types[149]); } -void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x2::IfcCartesianTransformationOperator3DnonUniform Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x2::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8122,7 +8122,7 @@ void Ifc4x2::IfcCenterLineProfileDef::setThickness(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[150]); } -void Ifc4x2::IfcCenterLineProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x2::IfcCenterLineProfileDef Ifc4x2::IfcCenterLineProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > Ifc4x2::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -8130,7 +8130,7 @@ void Ifc4x2::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x2::IfcChi const ifcopenshell::entity& Ifc4x2::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X2_types[152]); } -void Ifc4x2::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcChiller Ifc4x2::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x2::IfcChillerTypeEnum::Value Ifc4x2::IfcChillerType::PredefinedType() const { return ::Ifc4x2::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -8138,7 +8138,7 @@ void Ifc4x2::IfcChillerType::setPredefinedType(const ::Ifc4x2::IfcChillerTypeEnu const ifcopenshell::entity& Ifc4x2::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[153]); } -void Ifc4x2::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcChillerType Ifc4x2::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > Ifc4x2::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -8146,7 +8146,7 @@ void Ifc4x2::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x2::IfcChi const ifcopenshell::entity& Ifc4x2::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X2_types[155]); } -void Ifc4x2::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcChimney Ifc4x2::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x2::IfcChimneyTypeEnum::Value Ifc4x2::IfcChimneyType::PredefinedType() const { return ::Ifc4x2::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -8154,7 +8154,7 @@ void Ifc4x2::IfcChimneyType::setPredefinedType(const ::Ifc4x2::IfcChimneyTypeEnu const ifcopenshell::entity& Ifc4x2::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[156]); } -void Ifc4x2::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcChimneyType Ifc4x2::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x2::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -8162,7 +8162,7 @@ void Ifc4x2::IfcCircle::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc4x2::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[158]); } -void Ifc4x2::IfcCircle::initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x2::IfcCircle Ifc4x2::IfcCircle::initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x2::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -8170,7 +8170,7 @@ void Ifc4x2::IfcCircleHollowProfileDef::setWallThickness(const double& v) { set_ const ifcopenshell::entity& Ifc4x2::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[159]); } -void Ifc4x2::IfcCircleHollowProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x2::IfcCircleHollowProfileDef Ifc4x2::IfcCircleHollowProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x2::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -8178,7 +8178,7 @@ void Ifc4x2::IfcCircleProfileDef::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x2::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[160]); } -void Ifc4x2::IfcCircleProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x2::IfcCircleProfileDef Ifc4x2::IfcCircleProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCircularArcSegment2D double Ifc4x2::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } @@ -8188,19 +8188,19 @@ void Ifc4x2::IfcCircularArcSegment2D::setIsCCW(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4x2::IfcCircularArcSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[161]); } -void Ifc4x2::IfcCircularArcSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW)); } +Ifc4x2::IfcCircularArcSegment2D Ifc4x2::IfcCircularArcSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x2::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[162]); } -void Ifc4x2::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcCivilElement Ifc4x2::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x2::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[163]); } -void Ifc4x2::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcCivilElementType Ifc4x2::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x2::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8222,7 +8222,7 @@ std::vector<::Ifc4x2::IfcRelAssociatesClassification> Ifc4x2::IfcClassification: std::vector<::Ifc4x2::IfcClassificationReference> Ifc4x2::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[165], 3)); } const ifcopenshell::entity& Ifc4x2::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X2_types[164]); } -void Ifc4x2::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x2::IfcClassification Ifc4x2::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x2::IfcClassificationReferenceSelect Ifc4x2::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcClassificationReferenceSelect>(); } @@ -8236,13 +8236,13 @@ std::vector<::Ifc4x2::IfcRelAssociatesClassification> Ifc4x2::IfcClassificationR std::vector<::Ifc4x2::IfcClassificationReference> Ifc4x2::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[165], 3)); } const ifcopenshell::entity& Ifc4x2::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X2_types[165]); } -void Ifc4x2::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x2::IfcClassificationReference Ifc4x2::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x2::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X2_types[168]); } -void Ifc4x2::IfcClosedShell::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x2::IfcClosedShell Ifc4x2::IfcClosedShell::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > Ifc4x2::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -8250,7 +8250,7 @@ void Ifc4x2::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x2::IfcCoilTy const ifcopenshell::entity& Ifc4x2::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X2_types[169]); } -void Ifc4x2::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCoil Ifc4x2::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x2::IfcCoilTypeEnum::Value Ifc4x2::IfcCoilType::PredefinedType() const { return ::Ifc4x2::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -8258,7 +8258,7 @@ void Ifc4x2::IfcCoilType::setPredefinedType(const ::Ifc4x2::IfcCoilTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[170]); } -void Ifc4x2::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCoilType Ifc4x2::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x2::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -8270,7 +8270,7 @@ void Ifc4x2::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, v); const ifcopenshell::entity& Ifc4x2::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X2_types[174]); } -void Ifc4x2::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x2::IfcColourRgb Ifc4x2::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8278,7 +8278,7 @@ void Ifc4x2::IfcColourRgbList::setColourList(const std::vector< std::vector< dou const ifcopenshell::entity& Ifc4x2::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X2_types[175]); } -void Ifc4x2::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x2::IfcColourRgbList Ifc4x2::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x2::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8286,7 +8286,7 @@ void Ifc4x2::IfcColourSpecification::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X2_types[176]); } -void Ifc4x2::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcColourSpecification Ifc4x2::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > Ifc4x2::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -8294,13 +8294,13 @@ void Ifc4x2::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x2::IfcColu const ifcopenshell::entity& Ifc4x2::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X2_types[177]); } -void Ifc4x2::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcColumn Ifc4x2::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4x2::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[178]); } -void Ifc4x2::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcColumnStandardCase Ifc4x2::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x2::IfcColumnTypeEnum::Value Ifc4x2::IfcColumnType::PredefinedType() const { return ::Ifc4x2::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -8308,7 +8308,7 @@ void Ifc4x2::IfcColumnType::setPredefinedType(const ::Ifc4x2::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[179]); } -void Ifc4x2::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcColumnType Ifc4x2::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x2::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8316,7 +8316,7 @@ void Ifc4x2::IfcCommunicationsAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X2_types[181]); } -void Ifc4x2::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCommunicationsAppliance Ifc4x2::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8324,7 +8324,7 @@ void Ifc4x2::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[182]); } -void Ifc4x2::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCommunicationsApplianceType Ifc4x2::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x2::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -8334,7 +8334,7 @@ void Ifc4x2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X2_types[185]); } -void Ifc4x2::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x2::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x2::IfcComplexProperty Ifc4x2::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x2::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x2::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -8346,7 +8346,7 @@ void Ifc4x2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::opti const ifcopenshell::entity& Ifc4x2::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[186]); } -void Ifc4x2::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x2::IfcComplexPropertyTemplate Ifc4x2::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x2::IfcCompositeCurveSegment > Ifc4x2::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcCompositeCurveSegment>(es); } @@ -8356,13 +8356,13 @@ void Ifc4x2::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x2::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[188]); } -void Ifc4x2::IfcCompositeCurve::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x2::IfcCompositeCurve Ifc4x2::IfcCompositeCurve::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x2::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[189]); } -void Ifc4x2::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x2::IfcCompositeCurveOnSurface Ifc4x2::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment ::Ifc4x2::IfcTransitionCode::Value Ifc4x2::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x2::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -8375,7 +8375,7 @@ void Ifc4x2::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x2::IfcCurve& std::vector<::Ifc4x2::IfcCompositeCurve> Ifc4x2::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[188], 0)); } const ifcopenshell::entity& Ifc4x2::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[190]); } -void Ifc4x2::IfcCompositeCurveSegment::initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x2::IfcCompositeCurveSegment Ifc4x2::IfcCompositeCurveSegment::initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x2::IfcProfileDef > Ifc4x2::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcProfileDef>(es); } @@ -8385,7 +8385,7 @@ void Ifc4x2::IfcCompositeProfileDef::setLabel(const std::optional< std::string > const ifcopenshell::entity& Ifc4x2::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[191]); } -void Ifc4x2::IfcCompositeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x2::IfcCompositeProfileDef Ifc4x2::IfcCompositeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > Ifc4x2::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -8393,7 +8393,7 @@ void Ifc4x2::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[193]); } -void Ifc4x2::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCompressor Ifc4x2::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x2::IfcCompressorTypeEnum::Value Ifc4x2::IfcCompressorType::PredefinedType() const { return ::Ifc4x2::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -8401,7 +8401,7 @@ void Ifc4x2::IfcCompressorType::setPredefinedType(const ::Ifc4x2::IfcCompressorT const ifcopenshell::entity& Ifc4x2::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[194]); } -void Ifc4x2::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCompressorType Ifc4x2::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > Ifc4x2::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -8409,7 +8409,7 @@ void Ifc4x2::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x2::IfcC const ifcopenshell::entity& Ifc4x2::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X2_types[196]); } -void Ifc4x2::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCondenser Ifc4x2::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x2::IfcCondenserTypeEnum::Value Ifc4x2::IfcCondenserType::PredefinedType() const { return ::Ifc4x2::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -8417,7 +8417,7 @@ void Ifc4x2::IfcCondenserType::setPredefinedType(const ::Ifc4x2::IfcCondenserTyp const ifcopenshell::entity& Ifc4x2::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[197]); } -void Ifc4x2::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCondenserType Ifc4x2::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement>(); } @@ -8425,7 +8425,7 @@ void Ifc4x2::IfcConic::setPosition(const ::Ifc4x2::IfcAxis2Placement& v) { set_a const ifcopenshell::entity& Ifc4x2::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X2_types[199]); } -void Ifc4x2::IfcConic::initialize(::Ifc4x2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x2::IfcConic Ifc4x2::IfcConic::initialize(::Ifc4x2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x2::IfcFace > Ifc4x2::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcFace>(es); } @@ -8433,7 +8433,7 @@ void Ifc4x2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x2::IfcFa const ifcopenshell::entity& Ifc4x2::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[200]); } -void Ifc4x2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x2::IfcConnectedFaceSet Ifc4x2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x2::IfcCurveOrEdgeCurve Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurveOrEdgeCurve>(); } @@ -8443,13 +8443,13 @@ void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X2_types[201]); } -void Ifc4x2::IfcConnectionCurveGeometry::initialize(::Ifc4x2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x2::IfcConnectionCurveGeometry Ifc4x2::IfcConnectionCurveGeometry::initialize(::Ifc4x2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x2::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X2_types[202]); } -void Ifc4x2::IfcConnectionGeometry::initialize() { } +Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -8461,7 +8461,7 @@ void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInZ(const std::optio const ifcopenshell::entity& Ifc4x2::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[203]); } -void Ifc4x2::IfcConnectionPointEccentricity::initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x2::IfcConnectionPointEccentricity Ifc4x2::IfcConnectionPointEccentricity::initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x2::IfcPointOrVertexPoint Ifc4x2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcPointOrVertexPoint>(); } @@ -8471,7 +8471,7 @@ void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X2_types[204]); } -void Ifc4x2::IfcConnectionPointGeometry::initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x2::IfcConnectionPointGeometry Ifc4x2::IfcConnectionPointGeometry::initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x2::IfcSurfaceOrFaceSurface Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurfaceOrFaceSurface>(); } @@ -8481,7 +8481,7 @@ void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x2::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X2_types[205]); } -void Ifc4x2::IfcConnectionSurfaceGeometry::initialize(::Ifc4x2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x2::IfcConnectionSurfaceGeometry Ifc4x2::IfcConnectionSurfaceGeometry::initialize(::Ifc4x2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x2::IfcSolidOrShell Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSolidOrShell>(); } @@ -8491,7 +8491,7 @@ void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X2_types[207]); } -void Ifc4x2::IfcConnectionVolumeGeometry::initialize(::Ifc4x2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x2::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x2::IfcConnectionVolumeGeometry Ifc4x2::IfcConnectionVolumeGeometry::initialize(::Ifc4x2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x2::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x2::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8513,7 +8513,7 @@ std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcConstraint::H std::vector<::Ifc4x2::IfcResourceConstraintRelationship> Ifc4x2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[891], 2)); } const ifcopenshell::entity& Ifc4x2::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X2_types[208]); } -void Ifc4x2::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x2::IfcConstraint Ifc4x2::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x2::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8521,7 +8521,7 @@ void Ifc4x2::IfcConstructionEquipmentResource::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x2::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[210]); } -void Ifc4x2::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcConstructionEquipmentResource Ifc4x2::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8529,7 +8529,7 @@ void Ifc4x2::IfcConstructionEquipmentResourceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x2::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[211]); } -void Ifc4x2::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcConstructionEquipmentResourceType Ifc4x2::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x2::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8537,7 +8537,7 @@ void Ifc4x2::IfcConstructionMaterialResource::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x2::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[213]); } -void Ifc4x2::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcConstructionMaterialResource Ifc4x2::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8545,7 +8545,7 @@ void Ifc4x2::IfcConstructionMaterialResourceType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[214]); } -void Ifc4x2::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcConstructionMaterialResourceType Ifc4x2::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x2::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8553,7 +8553,7 @@ void Ifc4x2::IfcConstructionProductResource::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x2::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[216]); } -void Ifc4x2::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcConstructionProductResource Ifc4x2::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value Ifc4x2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8561,7 +8561,7 @@ void Ifc4x2::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[217]); } -void Ifc4x2::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcConstructionProductResourceType Ifc4x2::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x2::IfcResourceTime Ifc4x2::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcResourceTime>(); } @@ -8573,7 +8573,7 @@ void Ifc4x2::IfcConstructionResource::setBaseQuantity(const ::Ifc4x2::IfcPhysica const ifcopenshell::entity& Ifc4x2::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[219]); } -void Ifc4x2::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x2::IfcConstructionResource Ifc4x2::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > Ifc4x2::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x2::IfcAppliedValue>(es); } @@ -8583,7 +8583,7 @@ void Ifc4x2::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x2::IfcPhy const ifcopenshell::entity& Ifc4x2::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[220]); } -void Ifc4x2::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x2::IfcConstructionResourceType Ifc4x2::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x2::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -8601,7 +8601,7 @@ std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcContext::IsDefinedBy std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[864], 4)); } const ifcopenshell::entity& Ifc4x2::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X2_types[221]); } -void Ifc4x2::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x2::IfcContext Ifc4x2::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -8610,7 +8610,7 @@ void Ifc4x2::IfcContextDependentUnit::setName(const std::string& v) { set_attrib std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[223]); } -void Ifc4x2::IfcContextDependentUnit::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x2::IfcContextDependentUnit Ifc4x2::IfcContextDependentUnit::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8619,7 +8619,7 @@ void Ifc4x2::IfcControl::setIdentification(const std::optional< std::string >& v std::vector<::Ifc4x2::IfcRelAssignsToControl> Ifc4x2::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[838], 6)); } const ifcopenshell::entity& Ifc4x2::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X2_types[224]); } -void Ifc4x2::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x2::IfcControl Ifc4x2::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > Ifc4x2::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -8627,7 +8627,7 @@ void Ifc4x2::IfcController::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X2_types[225]); } -void Ifc4x2::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcController Ifc4x2::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x2::IfcControllerTypeEnum::Value Ifc4x2::IfcControllerType::PredefinedType() const { return ::Ifc4x2::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -8635,7 +8635,7 @@ void Ifc4x2::IfcControllerType::setPredefinedType(const ::Ifc4x2::IfcControllerT const ifcopenshell::entity& Ifc4x2::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[226]); } -void Ifc4x2::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcControllerType Ifc4x2::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x2::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -8646,7 +8646,7 @@ void Ifc4x2::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x2::IfcMeas std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[228]); } -void Ifc4x2::IfcConversionBasedUnit::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x2::IfcConversionBasedUnit Ifc4x2::IfcConversionBasedUnit::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -8654,7 +8654,7 @@ void Ifc4x2::IfcConversionBasedUnitWithOffset::setConversionOffset(const double& const ifcopenshell::entity& Ifc4x2::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X2_types[229]); } -void Ifc4x2::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x2::IfcConversionBasedUnitWithOffset Ifc4x2::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > Ifc4x2::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8662,7 +8662,7 @@ void Ifc4x2::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X2_types[230]); } -void Ifc4x2::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCooledBeam Ifc4x2::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x2::IfcCooledBeamTypeEnum::Value Ifc4x2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8670,7 +8670,7 @@ void Ifc4x2::IfcCooledBeamType::setPredefinedType(const ::Ifc4x2::IfcCooledBeamT const ifcopenshell::entity& Ifc4x2::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[231]); } -void Ifc4x2::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCooledBeamType Ifc4x2::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > Ifc4x2::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -8678,7 +8678,7 @@ void Ifc4x2::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X2_types[233]); } -void Ifc4x2::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCoolingTower Ifc4x2::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x2::IfcCoolingTowerTypeEnum::Value Ifc4x2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -8686,7 +8686,7 @@ void Ifc4x2::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x2::IfcCoolingTo const ifcopenshell::entity& Ifc4x2::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[234]); } -void Ifc4x2::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCoolingTowerType Ifc4x2::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x2::IfcCoordinateReferenceSystemSelect Ifc4x2::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCoordinateReferenceSystemSelect>(); } @@ -8696,7 +8696,7 @@ void Ifc4x2::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x2::IfcCoordinateR const ifcopenshell::entity& Ifc4x2::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[236]); } -void Ifc4x2::IfcCoordinateOperation::initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x2::IfcCoordinateOperation Ifc4x2::IfcCoordinateOperation::initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x2::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -8711,7 +8711,7 @@ void Ifc4x2::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::vector<::Ifc4x2::IfcCoordinateOperation> Ifc4x2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[236], 0)); } const ifcopenshell::entity& Ifc4x2::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[237]); } -void Ifc4x2::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x2::IfcCoordinateReferenceSystem Ifc4x2::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > Ifc4x2::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -8723,7 +8723,7 @@ void Ifc4x2::IfcCostItem::setCostQuantities(const std::optional< std::vector< :: const ifcopenshell::entity& Ifc4x2::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[239]); } -void Ifc4x2::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x2::IfcCostItem Ifc4x2::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > Ifc4x2::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -8737,13 +8737,13 @@ void Ifc4x2::IfcCostSchedule::setUpdateDate(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X2_types[241]); } -void Ifc4x2::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x2::IfcCostSchedule Ifc4x2::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x2::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[243]); } -void Ifc4x2::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x2::IfcCostValue Ifc4x2::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > Ifc4x2::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -8753,7 +8753,7 @@ std::vector<::Ifc4x2::IfcRelCoversSpaces> Ifc4x2::IfcCovering::CoversSpaces() co std::vector<::Ifc4x2::IfcRelCoversBldgElements> Ifc4x2::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[862], 5)); } const ifcopenshell::entity& Ifc4x2::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X2_types[245]); } -void Ifc4x2::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCovering Ifc4x2::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x2::IfcCoveringTypeEnum::Value Ifc4x2::IfcCoveringType::PredefinedType() const { return ::Ifc4x2::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -8761,7 +8761,7 @@ void Ifc4x2::IfcCoveringType::setPredefinedType(const ::Ifc4x2::IfcCoveringTypeE const ifcopenshell::entity& Ifc4x2::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[246]); } -void Ifc4x2::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCoveringType Ifc4x2::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > Ifc4x2::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -8769,7 +8769,7 @@ void Ifc4x2::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[248]); } -void Ifc4x2::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcCrewResource Ifc4x2::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x2::IfcCrewResourceTypeEnum::Value Ifc4x2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -8777,7 +8777,7 @@ void Ifc4x2::IfcCrewResourceType::setPredefinedType(const ::Ifc4x2::IfcCrewResou const ifcopenshell::entity& Ifc4x2::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[249]); } -void Ifc4x2::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcCrewResourceType Ifc4x2::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement3D>(); } @@ -8785,7 +8785,7 @@ void Ifc4x2::IfcCsgPrimitive3D::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4x2::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[251]); } -void Ifc4x2::IfcCsgPrimitive3D::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x2::IfcCsgPrimitive3D Ifc4x2::IfcCsgPrimitive3D::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x2::IfcCsgSelect Ifc4x2::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCsgSelect>(); } @@ -8793,7 +8793,7 @@ void Ifc4x2::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x2::IfcCsgSelect& v) const ifcopenshell::entity& Ifc4x2::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[253]); } -void Ifc4x2::IfcCsgSolid::initialize(::Ifc4x2::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x2::IfcCsgSolid Ifc4x2::IfcCsgSolid::initialize(::Ifc4x2::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x2::IfcMonetaryUnit Ifc4x2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcMonetaryUnit>(); } @@ -8809,7 +8809,7 @@ void Ifc4x2::IfcCurrencyRelationship::setRateSource(const ::Ifc4x2::IfcLibraryIn const ifcopenshell::entity& Ifc4x2::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[255]); } -void Ifc4x2::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x2::IfcCurrencyRelationship Ifc4x2::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > Ifc4x2::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -8817,7 +8817,7 @@ void Ifc4x2::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X2_types[256]); } -void Ifc4x2::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcCurtainWall Ifc4x2::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x2::IfcCurtainWallTypeEnum::Value Ifc4x2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -8825,13 +8825,13 @@ void Ifc4x2::IfcCurtainWallType::setPredefinedType(const ::Ifc4x2::IfcCurtainWal const ifcopenshell::entity& Ifc4x2::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[257]); } -void Ifc4x2::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcCurtainWallType Ifc4x2::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x2::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[260]); } -void Ifc4x2::IfcCurve::initialize() { } +Ifc4x2::IfcCurve Ifc4x2::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x2::IfcPlane Ifc4x2::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcPlane>(); } @@ -8843,7 +8843,7 @@ void Ifc4x2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X2_types[261]); } -void Ifc4x2::IfcCurveBoundedPlane::initialize(::Ifc4x2::IfcPlane v1_BasisSurface, ::Ifc4x2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x2::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x2::IfcCurveBoundedPlane Ifc4x2::IfcCurveBoundedPlane::initialize(::Ifc4x2::IfcPlane v1_BasisSurface, ::Ifc4x2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x2::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x2::IfcSurface Ifc4x2::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } @@ -8855,7 +8855,7 @@ void Ifc4x2::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attri const ifcopenshell::entity& Ifc4x2::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[262]); } -void Ifc4x2::IfcCurveBoundedSurface::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x2::IfcCurveBoundedSurface Ifc4x2::IfcCurveBoundedSurface::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment2D ::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcCurveSegment2D::StartPoint() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } @@ -8867,7 +8867,7 @@ void Ifc4x2::IfcCurveSegment2D::setSegmentLength(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x2::IfcCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[267]); } -void Ifc4x2::IfcCurveSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x2::IfcCurveSegment2D Ifc4x2::IfcCurveSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect Ifc4x2::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -8881,7 +8881,7 @@ void Ifc4x2::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4x2::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[268]); } -void Ifc4x2::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x2::IfcSizeSelect v3_CurveWidth, ::Ifc4x2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x2::IfcCurveStyle Ifc4x2::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x2::IfcSizeSelect v3_CurveWidth, ::Ifc4x2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x2::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8891,7 +8891,7 @@ void Ifc4x2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x2::IfcC const ifcopenshell::entity& Ifc4x2::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[269]); } -void Ifc4x2::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x2::IfcCurveStyleFont Ifc4x2::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x2::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8903,7 +8903,7 @@ void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { const ifcopenshell::entity& Ifc4x2::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X2_types[270]); } -void Ifc4x2::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x2::IfcCurveStyleFontAndScaling Ifc4x2::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -8913,7 +8913,7 @@ void Ifc4x2::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const double& v const ifcopenshell::entity& Ifc4x2::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X2_types[271]); } -void Ifc4x2::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x2::IfcCurveStyleFontPattern Ifc4x2::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x2::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -8921,7 +8921,7 @@ void Ifc4x2::IfcCylindricalSurface::setRadius(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x2::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[273]); } -void Ifc4x2::IfcCylindricalSurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x2::IfcCylindricalSurface Ifc4x2::IfcCylindricalSurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > Ifc4x2::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -8929,7 +8929,7 @@ void Ifc4x2::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x2::IfcDamp const ifcopenshell::entity& Ifc4x2::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X2_types[274]); } -void Ifc4x2::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcDamper Ifc4x2::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x2::IfcDamperTypeEnum::Value Ifc4x2::IfcDamperType::PredefinedType() const { return ::Ifc4x2::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -8937,19 +8937,19 @@ void Ifc4x2::IfcDamperType::setPredefinedType(const ::Ifc4x2::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[275]); } -void Ifc4x2::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcDamperType Ifc4x2::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x2::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[282]); } -void Ifc4x2::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcDeepFoundation Ifc4x2::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x2::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[283]); } -void Ifc4x2::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcDeepFoundationType Ifc4x2::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x2::IfcProfileDef Ifc4x2::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcProfileDef>(); } @@ -8961,7 +8961,7 @@ void Ifc4x2::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[286]); } -void Ifc4x2::IfcDerivedProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x2::IfcDerivedProfileDef Ifc4x2::IfcDerivedProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x2::IfcDerivedUnitElement > Ifc4x2::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcDerivedUnitElement>(es); } @@ -8973,7 +8973,7 @@ void Ifc4x2::IfcDerivedUnit::setUserDefinedType(const std::optional< std::string const ifcopenshell::entity& Ifc4x2::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[287]); } -void Ifc4x2::IfcDerivedUnit::initialize(std::vector< ::Ifc4x2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4x2::IfcDerivedUnit Ifc4x2::IfcDerivedUnit::initialize(std::vector< ::Ifc4x2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x2::IfcNamedUnit Ifc4x2::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcNamedUnit>(); } @@ -8983,7 +8983,7 @@ void Ifc4x2::IfcDerivedUnitElement::setExponent(const int& v) { set_attribute_va const ifcopenshell::entity& Ifc4x2::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[288]); } -void Ifc4x2::IfcDerivedUnitElement::initialize(::Ifc4x2::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x2::IfcDerivedUnitElement Ifc4x2::IfcDerivedUnitElement::initialize(::Ifc4x2::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x2::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9003,7 +9003,7 @@ void Ifc4x2::IfcDimensionalExponents::setLuminousIntensityExponent(const int& v) const ifcopenshell::entity& Ifc4x2::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X2_types[291]); } -void Ifc4x2::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x2::IfcDimensionalExponents Ifc4x2::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9011,7 +9011,7 @@ void Ifc4x2::IfcDirection::setDirectionRatios(const std::vector< double > /*[2:3 const ifcopenshell::entity& Ifc4x2::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[293]); } -void Ifc4x2::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x2::IfcDirection Ifc4x2::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x2::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9019,7 +9019,7 @@ void Ifc4x2::IfcDiscreteAccessory::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X2_types[295]); } -void Ifc4x2::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcDiscreteAccessory Ifc4x2::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9027,7 +9027,7 @@ void Ifc4x2::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x2::IfcDisc const ifcopenshell::entity& Ifc4x2::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[296]); } -void Ifc4x2::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcDiscreteAccessoryType Ifc4x2::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistanceExpression double Ifc4x2::IfcDistanceExpression::DistanceAlong() const { double v = get_attribute_value(0); return v; } @@ -9043,7 +9043,7 @@ void Ifc4x2::IfcDistanceExpression::setAlongHorizontal(const std::optional< bool const ifcopenshell::entity& Ifc4x2::IfcDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X2_types[298]); } -void Ifc4x2::IfcDistanceExpression::initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); } } +Ifc4x2::IfcDistanceExpression Ifc4x2::IfcDistanceExpression::initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x2::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9051,7 +9051,7 @@ void Ifc4x2::IfcDistributionChamberElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[299]); } -void Ifc4x2::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcDistributionChamberElement Ifc4x2::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value Ifc4x2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9059,52 +9059,52 @@ void Ifc4x2::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[300]); } -void Ifc4x2::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcDistributionChamberElementType Ifc4x2::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x2::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[302]); } -void Ifc4x2::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x2::IfcDistributionCircuit Ifc4x2::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x2::IfcRelFlowControlElements> Ifc4x2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[872], 4)); } const ifcopenshell::entity& Ifc4x2::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[303]); } -void Ifc4x2::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcDistributionControlElement Ifc4x2::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x2::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[304]); } -void Ifc4x2::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcDistributionControlElementType Ifc4x2::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x2::IfcRelConnectsPortToElement> Ifc4x2::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[856], 5)); } const ifcopenshell::entity& Ifc4x2::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[305]); } -void Ifc4x2::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcDistributionElement Ifc4x2::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x2::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[306]); } -void Ifc4x2::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcDistributionElementType Ifc4x2::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x2::IfcRelFlowControlElements> Ifc4x2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[872], 5)); } const ifcopenshell::entity& Ifc4x2::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[307]); } -void Ifc4x2::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcDistributionFlowElement Ifc4x2::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x2::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[308]); } -void Ifc4x2::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcDistributionFlowElementType Ifc4x2::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > Ifc4x2::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -9116,7 +9116,7 @@ void Ifc4x2::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X2_types[309]); } -void Ifc4x2::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x2::IfcDistributionPort Ifc4x2::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x2::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9126,7 +9126,7 @@ void Ifc4x2::IfcDistributionSystem::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x2::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[311]); } -void Ifc4x2::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x2::IfcDistributionSystem Ifc4x2::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x2::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -9170,7 +9170,7 @@ std::vector<::Ifc4x2::IfcDocumentInformationRelationship> Ifc4x2::IfcDocumentInf std::vector<::Ifc4x2::IfcDocumentInformationRelationship> Ifc4x2::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[315], 2)); } const ifcopenshell::entity& Ifc4x2::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[314]); } -void Ifc4x2::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x2::IfcDocumentInformation Ifc4x2::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x2::IfcDocumentInformation Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcDocumentInformation>(); } @@ -9182,7 +9182,7 @@ void Ifc4x2::IfcDocumentInformationRelationship::setRelationshipType(const std:: const ifcopenshell::entity& Ifc4x2::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[315]); } -void Ifc4x2::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x2::IfcDocumentInformationRelationship Ifc4x2::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x2::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9193,7 +9193,7 @@ void Ifc4x2::IfcDocumentReference::setReferencedDocument(const ::Ifc4x2::IfcDocu std::vector<::Ifc4x2::IfcRelAssociatesDocument> Ifc4x2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[848], 5)); } const ifcopenshell::entity& Ifc4x2::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X2_types[316]); } -void Ifc4x2::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x2::IfcDocumentReference Ifc4x2::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x2::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -9209,7 +9209,7 @@ void Ifc4x2::IfcDoor::setUserDefinedOperationType(const std::optional< std::stri const ifcopenshell::entity& Ifc4x2::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[319]); } -void Ifc4x2::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x2::IfcDoor Ifc4x2::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -9241,7 +9241,7 @@ void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[320]); } -void Ifc4x2::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x2::IfcDoorLiningProperties Ifc4x2::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -9257,13 +9257,13 @@ void Ifc4x2::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x2::IfcShap const ifcopenshell::entity& Ifc4x2::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[323]); } -void Ifc4x2::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x2::IfcDoorPanelProperties Ifc4x2::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4x2::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[324]); } -void Ifc4x2::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x2::IfcDoorStandardCase Ifc4x2::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4x2::IfcDoorStyleOperationEnum::Value Ifc4x2::IfcDoorStyle::OperationType() const { return ::Ifc4x2::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -9277,7 +9277,7 @@ void Ifc4x2::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value(11, const ifcopenshell::entity& Ifc4x2::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[325]); } -void Ifc4x2::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x2::IfcDoorStyle Ifc4x2::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4x2::IfcDoorTypeEnum::Value Ifc4x2::IfcDoorType::PredefinedType() const { return ::Ifc4x2::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -9291,19 +9291,19 @@ void Ifc4x2::IfcDoorType::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x2::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[328]); } -void Ifc4x2::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x2::IfcDoorType Ifc4x2::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x2::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X2_types[332]); } -void Ifc4x2::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x2::IfcDraughtingPreDefinedColour Ifc4x2::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x2::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[333]); } -void Ifc4x2::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x2::IfcDraughtingPreDefinedCurveFont Ifc4x2::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > Ifc4x2::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -9311,7 +9311,7 @@ void Ifc4x2::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[334]); } -void Ifc4x2::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcDuctFitting Ifc4x2::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x2::IfcDuctFittingTypeEnum::Value Ifc4x2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -9319,7 +9319,7 @@ void Ifc4x2::IfcDuctFittingType::setPredefinedType(const ::Ifc4x2::IfcDuctFittin const ifcopenshell::entity& Ifc4x2::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[335]); } -void Ifc4x2::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcDuctFittingType Ifc4x2::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > Ifc4x2::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9327,7 +9327,7 @@ void Ifc4x2::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[337]); } -void Ifc4x2::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcDuctSegment Ifc4x2::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x2::IfcDuctSegmentTypeEnum::Value Ifc4x2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9335,7 +9335,7 @@ void Ifc4x2::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x2::IfcDuctSegmen const ifcopenshell::entity& Ifc4x2::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[338]); } -void Ifc4x2::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcDuctSegmentType Ifc4x2::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > Ifc4x2::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -9343,7 +9343,7 @@ void Ifc4x2::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X2_types[340]); } -void Ifc4x2::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcDuctSilencer Ifc4x2::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x2::IfcDuctSilencerTypeEnum::Value Ifc4x2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -9351,7 +9351,7 @@ void Ifc4x2::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x2::IfcDuctSilen const ifcopenshell::entity& Ifc4x2::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[341]); } -void Ifc4x2::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcDuctSilencerType Ifc4x2::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEdge ::Ifc4x2::IfcVertex Ifc4x2::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcVertex>(); } @@ -9361,7 +9361,7 @@ void Ifc4x2::IfcEdge::setEdgeEnd(const ::Ifc4x2::IfcVertex& v) { set_attribute_v const ifcopenshell::entity& Ifc4x2::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X2_types[345]); } -void Ifc4x2::IfcEdge::initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x2::IfcEdge Ifc4x2::IfcEdge::initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x2::IfcCurve Ifc4x2::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } @@ -9371,7 +9371,7 @@ void Ifc4x2::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x2::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[346]); } -void Ifc4x2::IfcEdgeCurve::initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x2::IfcEdgeCurve Ifc4x2::IfcEdgeCurve::initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x2::IfcOrientedEdge > Ifc4x2::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcOrientedEdge>(es); } @@ -9379,7 +9379,7 @@ void Ifc4x2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEd const ifcopenshell::entity& Ifc4x2::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X2_types[347]); } -void Ifc4x2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x2::IfcEdgeLoop Ifc4x2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > Ifc4x2::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9387,7 +9387,7 @@ void Ifc4x2::IfcElectricAppliance::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X2_types[348]); } -void Ifc4x2::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcElectricAppliance Ifc4x2::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x2::IfcElectricApplianceTypeEnum::Value Ifc4x2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9395,7 +9395,7 @@ void Ifc4x2::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x2::IfcElec const ifcopenshell::entity& Ifc4x2::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[349]); } -void Ifc4x2::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElectricApplianceType Ifc4x2::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x2::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9403,7 +9403,7 @@ void Ifc4x2::IfcElectricDistributionBoard::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x2::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X2_types[355]); } -void Ifc4x2::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcElectricDistributionBoard Ifc4x2::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9411,7 +9411,7 @@ void Ifc4x2::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[356]); } -void Ifc4x2::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElectricDistributionBoardType Ifc4x2::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x2::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -9419,7 +9419,7 @@ void Ifc4x2::IfcElectricFlowStorageDevice::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x2::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[358]); } -void Ifc4x2::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcElectricFlowStorageDevice Ifc4x2::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -9427,7 +9427,7 @@ void Ifc4x2::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[359]); } -void Ifc4x2::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElectricFlowStorageDeviceType Ifc4x2::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > Ifc4x2::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -9435,7 +9435,7 @@ void Ifc4x2::IfcElectricGenerator::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[361]); } -void Ifc4x2::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcElectricGenerator Ifc4x2::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value Ifc4x2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -9443,7 +9443,7 @@ void Ifc4x2::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x2::IfcElec const ifcopenshell::entity& Ifc4x2::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[362]); } -void Ifc4x2::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElectricGeneratorType Ifc4x2::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > Ifc4x2::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -9451,7 +9451,7 @@ void Ifc4x2::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[364]); } -void Ifc4x2::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcElectricMotor Ifc4x2::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x2::IfcElectricMotorTypeEnum::Value Ifc4x2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -9459,7 +9459,7 @@ void Ifc4x2::IfcElectricMotorType::setPredefinedType(const ::Ifc4x2::IfcElectric const ifcopenshell::entity& Ifc4x2::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[365]); } -void Ifc4x2::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElectricMotorType Ifc4x2::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > Ifc4x2::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -9467,7 +9467,7 @@ void Ifc4x2::IfcElectricTimeControl::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X2_types[368]); } -void Ifc4x2::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcElectricTimeControl Ifc4x2::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value Ifc4x2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -9475,7 +9475,7 @@ void Ifc4x2::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x2::IfcEl const ifcopenshell::entity& Ifc4x2::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[369]); } -void Ifc4x2::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElectricTimeControlType Ifc4x2::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x2::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -9495,7 +9495,7 @@ std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcElement::Con std::vector<::Ifc4x2::IfcRelCoversBldgElements> Ifc4x2::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[862], 4)); } const ifcopenshell::entity& Ifc4x2::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[372]); } -void Ifc4x2::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcElement Ifc4x2::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > Ifc4x2::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -9505,7 +9505,7 @@ void Ifc4x2::IfcElementAssembly::setPredefinedType(const std::optional< ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X2_types[374]); } -void Ifc4x2::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x2::IfcElementAssembly Ifc4x2::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x2::IfcElementAssemblyTypeEnum::Value Ifc4x2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -9513,19 +9513,19 @@ void Ifc4x2::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x2::IfcElemen const ifcopenshell::entity& Ifc4x2::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[375]); } -void Ifc4x2::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcElementAssemblyType Ifc4x2::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x2::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X2_types[377]); } -void Ifc4x2::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcElementComponent Ifc4x2::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x2::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[378]); } -void Ifc4x2::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcElementComponentType Ifc4x2::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x2::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9535,7 +9535,7 @@ void Ifc4x2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x2::IfcP const ifcopenshell::entity& Ifc4x2::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[380]); } -void Ifc4x2::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x2::IfcElementQuantity Ifc4x2::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x2::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -9543,7 +9543,7 @@ void Ifc4x2::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[381]); } -void Ifc4x2::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcElementType Ifc4x2::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement3D>(); } @@ -9551,7 +9551,7 @@ void Ifc4x2::IfcElementarySurface::setPosition(const ::Ifc4x2::IfcAxis2Placement const ifcopenshell::entity& Ifc4x2::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[373]); } -void Ifc4x2::IfcElementarySurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x2::IfcElementarySurface Ifc4x2::IfcElementarySurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x2::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -9561,7 +9561,7 @@ void Ifc4x2::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value(2, const ifcopenshell::entity& Ifc4x2::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X2_types[382]); } -void Ifc4x2::IfcEllipse::initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x2::IfcEllipse Ifc4x2::IfcEllipse::initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x2::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -9571,19 +9571,19 @@ void Ifc4x2::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x2::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[383]); } -void Ifc4x2::IfcEllipseProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x2::IfcEllipseProfileDef Ifc4x2::IfcEllipseProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x2::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[384]); } -void Ifc4x2::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcEnergyConversionDevice Ifc4x2::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x2::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[385]); } -void Ifc4x2::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcEnergyConversionDeviceType Ifc4x2::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > Ifc4x2::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -9591,7 +9591,7 @@ void Ifc4x2::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x2::IfcEngi const ifcopenshell::entity& Ifc4x2::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X2_types[387]); } -void Ifc4x2::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcEngine Ifc4x2::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x2::IfcEngineTypeEnum::Value Ifc4x2::IfcEngineType::PredefinedType() const { return ::Ifc4x2::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -9599,7 +9599,7 @@ void Ifc4x2::IfcEngineType::setPredefinedType(const ::Ifc4x2::IfcEngineTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[388]); } -void Ifc4x2::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcEngineType Ifc4x2::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x2::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -9607,7 +9607,7 @@ void Ifc4x2::IfcEvaporativeCooler::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X2_types[390]); } -void Ifc4x2::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcEvaporativeCooler Ifc4x2::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -9615,7 +9615,7 @@ void Ifc4x2::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x2::IfcEvap const ifcopenshell::entity& Ifc4x2::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[391]); } -void Ifc4x2::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcEvaporativeCoolerType Ifc4x2::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > Ifc4x2::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -9623,7 +9623,7 @@ void Ifc4x2::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[393]); } -void Ifc4x2::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcEvaporator Ifc4x2::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x2::IfcEvaporatorTypeEnum::Value Ifc4x2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -9631,7 +9631,7 @@ void Ifc4x2::IfcEvaporatorType::setPredefinedType(const ::Ifc4x2::IfcEvaporatorT const ifcopenshell::entity& Ifc4x2::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[394]); } -void Ifc4x2::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcEvaporatorType Ifc4x2::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x2::IfcEventTypeEnum::Value > Ifc4x2::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -9645,7 +9645,7 @@ void Ifc4x2::IfcEvent::setEventOccurenceTime(const ::Ifc4x2::IfcEventTime& v) { const ifcopenshell::entity& Ifc4x2::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X2_types[396]); } -void Ifc4x2::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x2::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x2::IfcEvent Ifc4x2::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x2::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x2::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -9659,7 +9659,7 @@ void Ifc4x2::IfcEventTime::setScheduleDate(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[397]); } -void Ifc4x2::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x2::IfcEventTime Ifc4x2::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x2::IfcEventTypeEnum::Value Ifc4x2::IfcEventType::PredefinedType() const { return ::Ifc4x2::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -9671,7 +9671,7 @@ void Ifc4x2::IfcEventType::setUserDefinedEventTriggerType(const std::optional< s const ifcopenshell::entity& Ifc4x2::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[399]); } -void Ifc4x2::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x2::IfcEventType Ifc4x2::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x2::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9683,13 +9683,13 @@ void Ifc4x2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[401]); } -void Ifc4x2::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x2::IfcExtendedProperties Ifc4x2::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x2::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[402]); } -void Ifc4x2::IfcExternalInformation::initialize() { } +Ifc4x2::IfcExternalInformation Ifc4x2::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x2::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9702,7 +9702,7 @@ void Ifc4x2::IfcExternalReference::setName(const std::optional< std::string >& v std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 2)); } const ifcopenshell::entity& Ifc4x2::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X2_types[406]); } -void Ifc4x2::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x2::IfcExternalReference Ifc4x2::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x2::IfcExternalReference Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcExternalReference>(); } @@ -9712,7 +9712,7 @@ void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(const s const ifcopenshell::entity& Ifc4x2::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[407]); } -void Ifc4x2::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x2::IfcExternalReferenceRelationship Ifc4x2::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x2::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9721,31 +9721,31 @@ void Ifc4x2::IfcExternalSpatialElement::setPredefinedType(const std::optional< : std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[880], 4)); } const ifcopenshell::entity& Ifc4x2::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[408]); } -void Ifc4x2::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcExternalSpatialElement Ifc4x2::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x2::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[410]); } -void Ifc4x2::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x2::IfcExternalSpatialStructureElement Ifc4x2::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x2::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[403]); } -void Ifc4x2::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x2::IfcExternallyDefinedHatchStyle Ifc4x2::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x2::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[404]); } -void Ifc4x2::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x2::IfcExternallyDefinedSurfaceStyle Ifc4x2::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x2::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[405]); } -void Ifc4x2::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x2::IfcExternallyDefinedTextFont Ifc4x2::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x2::IfcDirection Ifc4x2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcDirection>(); } @@ -9755,7 +9755,7 @@ void Ifc4x2::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x2::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[411]); } -void Ifc4x2::IfcExtrudedAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x2::IfcExtrudedAreaSolid Ifc4x2::IfcExtrudedAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x2::IfcProfileDef Ifc4x2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcProfileDef>(); } @@ -9763,7 +9763,7 @@ void Ifc4x2::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x2::IfcPro const ifcopenshell::entity& Ifc4x2::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X2_types[412]); } -void Ifc4x2::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x2::IfcExtrudedAreaSolidTapered Ifc4x2::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x2::IfcFaceBound > Ifc4x2::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcFaceBound>(es); } @@ -9772,7 +9772,7 @@ void Ifc4x2::IfcFace::setBounds(const std::vector< ::Ifc4x2::IfcFaceBound >& v) std::vector<::Ifc4x2::IfcTextureMap> Ifc4x2::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[1112], 2)); } const ifcopenshell::entity& Ifc4x2::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X2_types[413]); } -void Ifc4x2::IfcFace::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x2::IfcFace Ifc4x2::IfcFace::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x2::IfcConnectedFaceSet > Ifc4x2::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcConnectedFaceSet>(es); } @@ -9780,7 +9780,7 @@ void Ifc4x2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[414]); } -void Ifc4x2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x2::IfcFaceBasedSurfaceModel Ifc4x2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x2::IfcLoop Ifc4x2::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcLoop>(); } @@ -9790,13 +9790,13 @@ void Ifc4x2::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1 const ifcopenshell::entity& Ifc4x2::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X2_types[415]); } -void Ifc4x2::IfcFaceBound::initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x2::IfcFaceBound Ifc4x2::IfcFaceBound::initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x2::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X2_types[416]); } -void Ifc4x2::IfcFaceOuterBound::initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x2::IfcFaceOuterBound Ifc4x2::IfcFaceOuterBound::initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x2::IfcSurface Ifc4x2::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcSurface>(); } @@ -9806,13 +9806,13 @@ void Ifc4x2::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2 const ifcopenshell::entity& Ifc4x2::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[417]); } -void Ifc4x2::IfcFaceSurface::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x2::IfcFaceSurface Ifc4x2::IfcFaceSurface::initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x2::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X2_types[418]); } -void Ifc4x2::IfcFacetedBrep::initialize(::Ifc4x2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x2::IfcFacetedBrep Ifc4x2::IfcFacetedBrep::initialize(::Ifc4x2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x2::IfcClosedShell > Ifc4x2::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcClosedShell>(es); } @@ -9820,19 +9820,19 @@ void Ifc4x2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x2::IfcC const ifcopenshell::entity& Ifc4x2::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[419]); } -void Ifc4x2::IfcFacetedBrepWithVoids::initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x2::IfcFacetedBrepWithVoids Ifc4x2::IfcFacetedBrepWithVoids::initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x2::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X2_types[420]); } -void Ifc4x2::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x2::IfcFacility Ifc4x2::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart const ifcopenshell::entity& Ifc4x2::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X2_types[421]); } -void Ifc4x2::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x2::IfcFacilityPart Ifc4x2::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -9850,7 +9850,7 @@ void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureZ(const std::op const ifcopenshell::entity& Ifc4x2::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[422]); } -void Ifc4x2::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x2::IfcFailureConnectionCondition Ifc4x2::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x2::IfcFanTypeEnum::Value > Ifc4x2::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -9858,7 +9858,7 @@ void Ifc4x2::IfcFan::setPredefinedType(const std::optional< ::Ifc4x2::IfcFanType const ifcopenshell::entity& Ifc4x2::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X2_types[423]); } -void Ifc4x2::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFan Ifc4x2::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x2::IfcFanTypeEnum::Value Ifc4x2::IfcFanType::PredefinedType() const { return ::Ifc4x2::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -9866,7 +9866,7 @@ void Ifc4x2::IfcFanType::setPredefinedType(const ::Ifc4x2::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc4x2::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[424]); } -void Ifc4x2::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFanType Ifc4x2::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > Ifc4x2::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -9874,7 +9874,7 @@ void Ifc4x2::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x2::IfcFa const ifcopenshell::entity& Ifc4x2::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X2_types[426]); } -void Ifc4x2::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFastener Ifc4x2::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x2::IfcFastenerTypeEnum::Value Ifc4x2::IfcFastenerType::PredefinedType() const { return ::Ifc4x2::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -9882,27 +9882,27 @@ void Ifc4x2::IfcFastenerType::setPredefinedType(const ::Ifc4x2::IfcFastenerTypeE const ifcopenshell::entity& Ifc4x2::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[427]); } -void Ifc4x2::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFastenerType Ifc4x2::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x2::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[429]); } -void Ifc4x2::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFeatureElement Ifc4x2::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x2::IfcRelProjectsElement> Ifc4x2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[876], 5)); } const ifcopenshell::entity& Ifc4x2::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[430]); } -void Ifc4x2::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFeatureElementAddition Ifc4x2::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x2::IfcRelVoidsElement> Ifc4x2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[883], 5)); } const ifcopenshell::entity& Ifc4x2::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[431]); } -void Ifc4x2::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFeatureElementSubtraction Ifc4x2::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x2::IfcFillStyleSelect > Ifc4x2::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcFillStyleSelect>(es); } @@ -9912,7 +9912,7 @@ void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x2::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[432]); } -void Ifc4x2::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); } } +Ifc4x2::IfcFillAreaStyle Ifc4x2::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x2::IfcCurveStyle Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurveStyle>(); } @@ -9928,7 +9928,7 @@ void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_ const ifcopenshell::entity& Ifc4x2::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X2_types[433]); } -void Ifc4x2::IfcFillAreaStyleHatching::initialize(::Ifc4x2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x2::IfcFillAreaStyleHatching Ifc4x2::IfcFillAreaStyleHatching::initialize(::Ifc4x2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x2::IfcVector > Ifc4x2::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcVector>(es); } @@ -9940,7 +9940,7 @@ void Ifc4x2::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X2_types[434]); } -void Ifc4x2::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x2::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x2::IfcFillAreaStyleTiles Ifc4x2::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x2::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > Ifc4x2::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -9948,7 +9948,7 @@ void Ifc4x2::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x2::IfcFilt const ifcopenshell::entity& Ifc4x2::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X2_types[436]); } -void Ifc4x2::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFilter Ifc4x2::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x2::IfcFilterTypeEnum::Value Ifc4x2::IfcFilterType::PredefinedType() const { return ::Ifc4x2::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -9956,7 +9956,7 @@ void Ifc4x2::IfcFilterType::setPredefinedType(const ::Ifc4x2::IfcFilterTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[437]); } -void Ifc4x2::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFilterType Ifc4x2::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x2::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -9964,7 +9964,7 @@ void Ifc4x2::IfcFireSuppressionTerminal::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[439]); } -void Ifc4x2::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFireSuppressionTerminal Ifc4x2::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -9972,7 +9972,7 @@ void Ifc4x2::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[440]); } -void Ifc4x2::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFireSuppressionTerminalType Ifc4x2::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x2::IfcCurve Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } @@ -9986,31 +9986,31 @@ void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[442]); } -void Ifc4x2::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference)); } +Ifc4x2::IfcFixedReferenceSweptAreaSolid Ifc4x2::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x2::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X2_types[443]); } -void Ifc4x2::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowController Ifc4x2::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x2::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[444]); } -void Ifc4x2::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowControllerType Ifc4x2::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x2::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[446]); } -void Ifc4x2::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowFitting Ifc4x2::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x2::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[447]); } -void Ifc4x2::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowFittingType Ifc4x2::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > Ifc4x2::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10018,7 +10018,7 @@ void Ifc4x2::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X2_types[448]); } -void Ifc4x2::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFlowInstrument Ifc4x2::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value Ifc4x2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -10026,7 +10026,7 @@ void Ifc4x2::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x2::IfcFlowIns const ifcopenshell::entity& Ifc4x2::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[449]); } -void Ifc4x2::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFlowInstrumentType Ifc4x2::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > Ifc4x2::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -10034,7 +10034,7 @@ void Ifc4x2::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x2::IfcF const ifcopenshell::entity& Ifc4x2::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X2_types[451]); } -void Ifc4x2::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFlowMeter Ifc4x2::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x2::IfcFlowMeterTypeEnum::Value Ifc4x2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -10042,67 +10042,67 @@ void Ifc4x2::IfcFlowMeterType::setPredefinedType(const ::Ifc4x2::IfcFlowMeterTyp const ifcopenshell::entity& Ifc4x2::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[452]); } -void Ifc4x2::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFlowMeterType Ifc4x2::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x2::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[454]); } -void Ifc4x2::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowMovingDevice Ifc4x2::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x2::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[455]); } -void Ifc4x2::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowMovingDeviceType Ifc4x2::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x2::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[456]); } -void Ifc4x2::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowSegment Ifc4x2::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x2::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[457]); } -void Ifc4x2::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowSegmentType Ifc4x2::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x2::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[458]); } -void Ifc4x2::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowStorageDevice Ifc4x2::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x2::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[459]); } -void Ifc4x2::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowStorageDeviceType Ifc4x2::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x2::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[460]); } -void Ifc4x2::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowTerminal Ifc4x2::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x2::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[461]); } -void Ifc4x2::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowTerminalType Ifc4x2::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x2::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[462]); } -void Ifc4x2::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFlowTreatmentDevice Ifc4x2::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x2::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[463]); } -void Ifc4x2::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFlowTreatmentDeviceType Ifc4x2::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > Ifc4x2::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -10110,7 +10110,7 @@ void Ifc4x2::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x2::IfcFoo const ifcopenshell::entity& Ifc4x2::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[467]); } -void Ifc4x2::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFooting Ifc4x2::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x2::IfcFootingTypeEnum::Value Ifc4x2::IfcFootingType::PredefinedType() const { return ::Ifc4x2::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -10118,19 +10118,19 @@ void Ifc4x2::IfcFootingType::setPredefinedType(const ::Ifc4x2::IfcFootingTypeEnu const ifcopenshell::entity& Ifc4x2::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[468]); } -void Ifc4x2::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcFootingType Ifc4x2::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x2::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[472]); } -void Ifc4x2::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcFurnishingElement Ifc4x2::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x2::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[473]); } -void Ifc4x2::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcFurnishingElementType Ifc4x2::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -10138,7 +10138,7 @@ void Ifc4x2::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x2::IfcF const ifcopenshell::entity& Ifc4x2::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X2_types[474]); } -void Ifc4x2::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcFurniture Ifc4x2::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x2::IfcAssemblyPlaceEnum::Value Ifc4x2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -10148,7 +10148,7 @@ void Ifc4x2::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[475]); } -void Ifc4x2::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcFurnitureType Ifc4x2::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > Ifc4x2::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10156,7 +10156,7 @@ void Ifc4x2::IfcGeographicElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[477]); } -void Ifc4x2::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcGeographicElement Ifc4x2::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x2::IfcGeographicElementTypeEnum::Value Ifc4x2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -10164,13 +10164,13 @@ void Ifc4x2::IfcGeographicElementType::setPredefinedType(const ::Ifc4x2::IfcGeog const ifcopenshell::entity& Ifc4x2::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[478]); } -void Ifc4x2::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcGeographicElementType Ifc4x2::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x2::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[480]); } -void Ifc4x2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x2::IfcGeometricCurveSet Ifc4x2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -10186,13 +10186,13 @@ std::vector<::Ifc4x2::IfcGeometricRepresentationSubContext> Ifc4x2::IfcGeometric std::vector<::Ifc4x2::IfcCoordinateOperation> Ifc4x2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[236], 0)); } const ifcopenshell::entity& Ifc4x2::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X2_types[482]); } -void Ifc4x2::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x2::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x2::IfcGeometricRepresentationContext Ifc4x2::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x2::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x2::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[483]); } -void Ifc4x2::IfcGeometricRepresentationItem::initialize() { } +Ifc4x2::IfcGeometricRepresentationItem Ifc4x2::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x2::IfcGeometricRepresentationContext Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcGeometricRepresentationContext>(); } @@ -10206,7 +10206,7 @@ void Ifc4x2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(cons const ifcopenshell::entity& Ifc4x2::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X2_types[484]); } -void Ifc4x2::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x2::IfcGeometricRepresentationSubContext Ifc4x2::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x2::IfcGeometricSetSelect > Ifc4x2::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcGeometricSetSelect>(es); } @@ -10214,7 +10214,7 @@ void Ifc4x2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x2::IfcGeomet const ifcopenshell::entity& Ifc4x2::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[485]); } -void Ifc4x2::IfcGeometricSet::initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x2::IfcGeometricSet Ifc4x2::IfcGeometricSet::initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x2::IfcGridAxis > Ifc4x2::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } @@ -10228,7 +10228,7 @@ void Ifc4x2::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x2::IfcGridTy const ifcopenshell::entity& Ifc4x2::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[489]); } -void Ifc4x2::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcGrid Ifc4x2::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x2::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10244,7 +10244,7 @@ std::vector<::Ifc4x2::IfcGrid> Ifc4x2::IfcGridAxis::PartOfU() const { return cas std::vector<::Ifc4x2::IfcVirtualGridIntersection> Ifc4x2::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[1185], 0)); } const ifcopenshell::entity& Ifc4x2::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X2_types[490]); } -void Ifc4x2::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x2::IfcGridAxis Ifc4x2::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x2::IfcVirtualGridIntersection Ifc4x2::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcVirtualGridIntersection>(); } @@ -10254,14 +10254,14 @@ void Ifc4x2::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x2::IfcGridP const ifcopenshell::entity& Ifc4x2::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[491]); } -void Ifc4x2::IfcGridPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x2::IfcGridPlacement Ifc4x2::IfcGridPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4x2::IfcRelAssignsToGroup> Ifc4x2::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[839], 6)); } const ifcopenshell::entity& Ifc4x2::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X2_types[494]); } -void Ifc4x2::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x2::IfcGroup Ifc4x2::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x2::IfcSurface Ifc4x2::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } @@ -10271,7 +10271,7 @@ void Ifc4x2::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x2::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[495]); } -void Ifc4x2::IfcHalfSpaceSolid::initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x2::IfcHalfSpaceSolid Ifc4x2::IfcHalfSpaceSolid::initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > Ifc4x2::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -10279,7 +10279,7 @@ void Ifc4x2::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X2_types[497]); } -void Ifc4x2::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcHeatExchanger Ifc4x2::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x2::IfcHeatExchangerTypeEnum::Value Ifc4x2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -10287,7 +10287,7 @@ void Ifc4x2::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x2::IfcHeatExch const ifcopenshell::entity& Ifc4x2::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[498]); } -void Ifc4x2::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcHeatExchangerType Ifc4x2::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > Ifc4x2::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -10295,7 +10295,7 @@ void Ifc4x2::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X2_types[502]); } -void Ifc4x2::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcHumidifier Ifc4x2::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x2::IfcHumidifierTypeEnum::Value Ifc4x2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -10303,7 +10303,7 @@ void Ifc4x2::IfcHumidifierType::setPredefinedType(const ::Ifc4x2::IfcHumidifierT const ifcopenshell::entity& Ifc4x2::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[503]); } -void Ifc4x2::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcHumidifierType Ifc4x2::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x2::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -10323,7 +10323,7 @@ void Ifc4x2::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x2::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[527]); } -void Ifc4x2::IfcIShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x2::IfcIShapeProfileDef Ifc4x2::IfcIShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x2::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -10331,7 +10331,7 @@ void Ifc4x2::IfcImageTexture::setURLReference(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X2_types[507]); } -void Ifc4x2::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x2::IfcImageTexture Ifc4x2::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x2::IfcTessellatedFaceSet Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcTessellatedFaceSet>(); } @@ -10345,7 +10345,7 @@ void Ifc4x2::IfcIndexedColourMap::setColourIndex(const std::vector< int > /*[1:? const ifcopenshell::entity& Ifc4x2::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[508]); } -void Ifc4x2::IfcIndexedColourMap::initialize(::Ifc4x2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x2::IfcIndexedColourMap Ifc4x2::IfcIndexedColourMap::initialize(::Ifc4x2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x2::IfcCartesianPointList Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPointList>(); } @@ -10357,7 +10357,7 @@ void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool >& const ifcopenshell::entity& Ifc4x2::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[509]); } -void Ifc4x2::IfcIndexedPolyCurve::initialize(::Ifc4x2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x2::IfcIndexedPolyCurve Ifc4x2::IfcIndexedPolyCurve::initialize(::Ifc4x2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -10366,7 +10366,7 @@ void Ifc4x2::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > /*[ std::vector<::Ifc4x2::IfcPolygonalFaceSet> Ifc4x2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[715], 2)); } const ifcopenshell::entity& Ifc4x2::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X2_types[510]); } -void Ifc4x2::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x2::IfcIndexedPolygonalFace Ifc4x2::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -10374,7 +10374,7 @@ void Ifc4x2::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const std::v const ifcopenshell::entity& Ifc4x2::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X2_types[511]); } -void Ifc4x2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x2::IfcIndexedPolygonalFaceWithVoids Ifc4x2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x2::IfcTessellatedFaceSet Ifc4x2::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcTessellatedFaceSet>(); } @@ -10384,7 +10384,7 @@ void Ifc4x2::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x2::IfcTextureVertex const ifcopenshell::entity& Ifc4x2::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[512]); } -void Ifc4x2::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x2::IfcIndexedTextureMap Ifc4x2::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -10392,7 +10392,7 @@ void Ifc4x2::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[513]); } -void Ifc4x2::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x2::IfcIndexedTriangleTextureMap Ifc4x2::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > Ifc4x2::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -10400,7 +10400,7 @@ void Ifc4x2::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[517]); } -void Ifc4x2::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcInterceptor Ifc4x2::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x2::IfcInterceptorTypeEnum::Value Ifc4x2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -10408,13 +10408,13 @@ void Ifc4x2::IfcInterceptorType::setPredefinedType(const ::Ifc4x2::IfcIntercepto const ifcopenshell::entity& Ifc4x2::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[518]); } -void Ifc4x2::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcInterceptorType Ifc4x2::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x2::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[521]); } -void Ifc4x2::IfcIntersectionCurve::initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x2::IfcIntersectionCurve Ifc4x2::IfcIntersectionCurve::initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > Ifc4x2::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -10432,7 +10432,7 @@ void Ifc4x2::IfcInventory::setOriginalValue(const ::Ifc4x2::IfcCostValue& v) { s const ifcopenshell::entity& Ifc4x2::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X2_types[522]); } -void Ifc4x2::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x2::IfcCostValue v10_CurrentValue, ::Ifc4x2::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x2::IfcInventory Ifc4x2::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x2::IfcCostValue v10_CurrentValue, ::Ifc4x2::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > Ifc4x2::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x2::IfcIrregularTimeSeriesValue>(es); } @@ -10440,7 +10440,7 @@ void Ifc4x2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x2::IfcI const ifcopenshell::entity& Ifc4x2::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X2_types[525]); } -void Ifc4x2::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x2::IfcIrregularTimeSeries Ifc4x2::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -10450,7 +10450,7 @@ void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x2::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[526]); } -void Ifc4x2::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x2::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x2::IfcIrregularTimeSeriesValue Ifc4x2::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x2::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > Ifc4x2::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -10458,7 +10458,7 @@ void Ifc4x2::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X2_types[529]); } -void Ifc4x2::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcJunctionBox Ifc4x2::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x2::IfcJunctionBoxTypeEnum::Value Ifc4x2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -10466,7 +10466,7 @@ void Ifc4x2::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x2::IfcJunctionBo const ifcopenshell::entity& Ifc4x2::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[530]); } -void Ifc4x2::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcJunctionBoxType Ifc4x2::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x2::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -10484,7 +10484,7 @@ void Ifc4x2::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x2::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[577]); } -void Ifc4x2::IfcLShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x2::IfcLShapeProfileDef Ifc4x2::IfcLShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > Ifc4x2::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -10492,7 +10492,7 @@ void Ifc4x2::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[535]); } -void Ifc4x2::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcLaborResource Ifc4x2::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x2::IfcLaborResourceTypeEnum::Value Ifc4x2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -10500,7 +10500,7 @@ void Ifc4x2::IfcLaborResourceType::setPredefinedType(const ::Ifc4x2::IfcLaborRes const ifcopenshell::entity& Ifc4x2::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[536]); } -void Ifc4x2::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcLaborResourceType Ifc4x2::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x2::IfcTimeOrRatioSelect Ifc4x2::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcTimeOrRatioSelect>(); } @@ -10510,7 +10510,7 @@ void Ifc4x2::IfcLagTime::setDurationType(const ::Ifc4x2::IfcTaskDurationEnum::Va const ifcopenshell::entity& Ifc4x2::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[538]); } -void Ifc4x2::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x2::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x2::IfcLagTime Ifc4x2::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x2::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x2::IfcLampTypeEnum::Value > Ifc4x2::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -10518,7 +10518,7 @@ void Ifc4x2::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x2::IfcLampTy const ifcopenshell::entity& Ifc4x2::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X2_types[539]); } -void Ifc4x2::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcLamp Ifc4x2::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x2::IfcLampTypeEnum::Value Ifc4x2::IfcLampType::PredefinedType() const { return ::Ifc4x2::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -10526,7 +10526,7 @@ void Ifc4x2::IfcLampType::setPredefinedType(const ::Ifc4x2::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[540]); } -void Ifc4x2::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcLampType Ifc4x2::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x2::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10546,7 +10546,7 @@ std::vector<::Ifc4x2::IfcRelAssociatesLibrary> Ifc4x2::IfcLibraryInformation::Li std::vector<::Ifc4x2::IfcLibraryReference> Ifc4x2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[547], 5)); } const ifcopenshell::entity& Ifc4x2::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[546]); } -void Ifc4x2::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x2::IfcLibraryInformation Ifc4x2::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x2::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10559,7 +10559,7 @@ void Ifc4x2::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x2::IfcLibrar std::vector<::Ifc4x2::IfcRelAssociatesLibrary> Ifc4x2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[849], 5)); } const ifcopenshell::entity& Ifc4x2::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X2_types[547]); } -void Ifc4x2::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x2::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x2::IfcLibraryReference Ifc4x2::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x2::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x2::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -10571,7 +10571,7 @@ void Ifc4x2::IfcLightDistributionData::setLuminousIntensity(const std::vector< d const ifcopenshell::entity& Ifc4x2::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X2_types[550]); } -void Ifc4x2::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x2::IfcLightDistributionData Ifc4x2::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > Ifc4x2::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -10579,7 +10579,7 @@ void Ifc4x2::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X2_types[553]); } -void Ifc4x2::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcLightFixture Ifc4x2::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x2::IfcLightFixtureTypeEnum::Value Ifc4x2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -10587,7 +10587,7 @@ void Ifc4x2::IfcLightFixtureType::setPredefinedType(const ::Ifc4x2::IfcLightFixt const ifcopenshell::entity& Ifc4x2::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[554]); } -void Ifc4x2::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcLightFixtureType Ifc4x2::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x2::IfcLightDistributionCurveEnum::Value Ifc4x2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x2::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -10597,7 +10597,7 @@ void Ifc4x2::IfcLightIntensityDistribution::setDistributionData(const std::vecto const ifcopenshell::entity& Ifc4x2::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X2_types[556]); } -void Ifc4x2::IfcLightIntensityDistribution::initialize(::Ifc4x2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x2::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x2::IfcLightIntensityDistribution Ifc4x2::IfcLightIntensityDistribution::initialize(::Ifc4x2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x2::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x2::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10611,13 +10611,13 @@ void Ifc4x2::IfcLightSource::setIntensity(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4x2::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[557]); } -void Ifc4x2::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x2::IfcLightSource Ifc4x2::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x2::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X2_types[558]); } -void Ifc4x2::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x2::IfcLightSourceAmbient Ifc4x2::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x2::IfcDirection Ifc4x2::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcDirection>(); } @@ -10625,7 +10625,7 @@ void Ifc4x2::IfcLightSourceDirectional::setOrientation(const ::Ifc4x2::IfcDirect const ifcopenshell::entity& Ifc4x2::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X2_types[559]); } -void Ifc4x2::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x2::IfcLightSourceDirectional Ifc4x2::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcAxis2Placement3D>(); } @@ -10643,7 +10643,7 @@ void Ifc4x2::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::I const ifcopenshell::entity& Ifc4x2::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X2_types[560]); } -void Ifc4x2::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D v5_Position, ::Ifc4x2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x2::IfcLightSourceGoniometric Ifc4x2::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D v5_Position, ::Ifc4x2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcCartesianPoint>(); } @@ -10659,7 +10659,7 @@ void Ifc4x2::IfcLightSourcePositional::setQuadricAttenuation(const double& v) { const ifcopenshell::entity& Ifc4x2::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X2_types[561]); } -void Ifc4x2::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x2::IfcLightSourcePositional Ifc4x2::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x2::IfcDirection Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcDirection>(); } @@ -10673,7 +10673,7 @@ void Ifc4x2::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X2_types[562]); } -void Ifc4x2::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x2::IfcLightSourceSpot Ifc4x2::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } @@ -10683,13 +10683,13 @@ void Ifc4x2::IfcLine::setDir(const ::Ifc4x2::IfcVector& v) { set_attribute_value const ifcopenshell::entity& Ifc4x2::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X2_types[563]); } -void Ifc4x2::IfcLine::initialize(::Ifc4x2::IfcCartesianPoint v1_Pnt, ::Ifc4x2::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x2::IfcLine Ifc4x2::IfcLine::initialize(::Ifc4x2::IfcCartesianPoint v1_Pnt, ::Ifc4x2::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLineSegment2D const ifcopenshell::entity& Ifc4x2::IfcLineSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[571]); } -void Ifc4x2::IfcLineSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x2::IfcLineSegment2D Ifc4x2::IfcLineSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x2::IfcCurve Ifc4x2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcCurve>(); } @@ -10703,7 +10703,7 @@ void Ifc4x2::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x2::IfcAxis2Pl const ifcopenshell::entity& Ifc4x2::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[566]); } -void Ifc4x2::IfcLinearPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression v3_Distance, ::Ifc4x2::IfcOrientationExpression v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D v5_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition)); } +Ifc4x2::IfcLinearPlacement Ifc4x2::IfcLinearPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression v3_Distance, ::Ifc4x2::IfcOrientationExpression v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D v5_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement ::Ifc4x2::IfcCurve Ifc4x2::IfcLinearPositioningElement::Axis() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcCurve>(); } @@ -10711,7 +10711,7 @@ void Ifc4x2::IfcLinearPositioningElement::setAxis(const ::Ifc4x2::IfcCurve& v) { const ifcopenshell::entity& Ifc4x2::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[567]); } -void Ifc4x2::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); } +Ifc4x2::IfcLinearPositioningElement Ifc4x2::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcAxis2Placement>(); } @@ -10719,13 +10719,13 @@ void Ifc4x2::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x2::IfcAxis2Pla const ifcopenshell::entity& Ifc4x2::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[573]); } -void Ifc4x2::IfcLocalPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x2::IfcLocalPlacement Ifc4x2::IfcLocalPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x2::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X2_types[576]); } -void Ifc4x2::IfcLoop::initialize() { } +Ifc4x2::IfcLoop Ifc4x2::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x2::IfcClosedShell Ifc4x2::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcClosedShell>(); } @@ -10733,7 +10733,7 @@ void Ifc4x2::IfcManifoldSolidBrep::setOuter(const ::Ifc4x2::IfcClosedShell& v) { const ifcopenshell::entity& Ifc4x2::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X2_types[583]); } -void Ifc4x2::IfcManifoldSolidBrep::initialize(::Ifc4x2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x2::IfcManifoldSolidBrep Ifc4x2::IfcManifoldSolidBrep::initialize(::Ifc4x2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x2::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -10751,7 +10751,7 @@ void Ifc4x2::IfcMapConversion::setScale(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc4x2::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X2_types[584]); } -void Ifc4x2::IfcMapConversion::initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4x2::IfcMapConversion Ifc4x2::IfcMapConversion::initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x2::IfcRepresentationMap Ifc4x2::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcRepresentationMap>(); } @@ -10761,7 +10761,7 @@ void Ifc4x2::IfcMappedItem::setMappingTarget(const ::Ifc4x2::IfcCartesianTransfo const ifcopenshell::entity& Ifc4x2::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[585]); } -void Ifc4x2::IfcMappedItem::initialize(::Ifc4x2::IfcRepresentationMap v1_MappingSource, ::Ifc4x2::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x2::IfcMappedItem Ifc4x2::IfcMappedItem::initialize(::Ifc4x2::IfcRepresentationMap v1_MappingSource, ::Ifc4x2::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMaterial std::string Ifc4x2::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -10776,7 +10776,7 @@ std::vector<::Ifc4x2::IfcMaterialRelationship> Ifc4x2::IfcMaterial::IsRelatedWit std::vector<::Ifc4x2::IfcMaterialRelationship> Ifc4x2::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[607], 2)); } const ifcopenshell::entity& Ifc4x2::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X2_types[590]); } -void Ifc4x2::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x2::IfcMaterial Ifc4x2::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x2::IfcClassificationSelect > Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcClassificationSelect>(es); } @@ -10786,7 +10786,7 @@ void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(const const ifcopenshell::entity& Ifc4x2::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[591]); } -void Ifc4x2::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x2::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x2::IfcMaterialClassificationRelationship Ifc4x2::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x2::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10803,7 +10803,7 @@ void Ifc4x2::IfcMaterialConstituent::setCategory(const std::optional< std::strin std::vector<::Ifc4x2::IfcMaterialConstituentSet> Ifc4x2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[593], 2)); } const ifcopenshell::entity& Ifc4x2::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X2_types[592]); } -void Ifc4x2::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x2::IfcMaterialConstituent Ifc4x2::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10815,7 +10815,7 @@ void Ifc4x2::IfcMaterialConstituentSet::setMaterialConstituents(const std::optio const ifcopenshell::entity& Ifc4x2::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[593]); } -void Ifc4x2::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x2::IfcMaterialConstituentSet Ifc4x2::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -10824,7 +10824,7 @@ std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcMaterialDefin std::vector<::Ifc4x2::IfcMaterialProperties> Ifc4x2::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[606], 3)); } const ifcopenshell::entity& Ifc4x2::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[594]); } -void Ifc4x2::IfcMaterialDefinition::initialize() { } +Ifc4x2::IfcMaterialDefinition Ifc4x2::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcMaterial>(); } @@ -10832,7 +10832,7 @@ void Ifc4x2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const : const ifcopenshell::entity& Ifc4x2::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[595]); } -void Ifc4x2::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations, ::Ifc4x2::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x2::IfcMaterialDefinitionRepresentation Ifc4x2::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations, ::Ifc4x2::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x2::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcMaterial>(); } @@ -10853,7 +10853,7 @@ void Ifc4x2::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if ( std::vector<::Ifc4x2::IfcMaterialLayerSet> Ifc4x2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[597], 0)); } const ifcopenshell::entity& Ifc4x2::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X2_types[596]); } -void Ifc4x2::IfcMaterialLayer::initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x2::IfcMaterialLayer Ifc4x2::IfcMaterialLayer::initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x2::IfcMaterialLayer > Ifc4x2::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcMaterialLayer>(es); } @@ -10865,7 +10865,7 @@ void Ifc4x2::IfcMaterialLayerSet::setDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x2::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[597]); } -void Ifc4x2::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x2::IfcMaterialLayerSet Ifc4x2::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x2::IfcMaterialLayerSet Ifc4x2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcMaterialLayerSet>(); } @@ -10881,7 +10881,7 @@ void Ifc4x2::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optional< d const ifcopenshell::entity& Ifc4x2::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X2_types[598]); } -void Ifc4x2::IfcMaterialLayerSetUsage::initialize(::Ifc4x2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x2::IfcMaterialLayerSetUsage Ifc4x2::IfcMaterialLayerSetUsage::initialize(::Ifc4x2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -10891,7 +10891,7 @@ void Ifc4x2::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< dou const ifcopenshell::entity& Ifc4x2::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X2_types[599]); } -void Ifc4x2::IfcMaterialLayerWithOffsets::initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x2::IfcMaterialLayerWithOffsets Ifc4x2::IfcMaterialLayerWithOffsets::initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x2::IfcMaterial > Ifc4x2::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcMaterial>(es); } @@ -10899,7 +10899,7 @@ void Ifc4x2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x2::IfcMater const ifcopenshell::entity& Ifc4x2::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X2_types[600]); } -void Ifc4x2::IfcMaterialList::initialize(std::vector< ::Ifc4x2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x2::IfcMaterialList Ifc4x2::IfcMaterialList::initialize(std::vector< ::Ifc4x2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x2::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10918,7 +10918,7 @@ void Ifc4x2::IfcMaterialProfile::setCategory(const std::optional< std::string >& std::vector<::Ifc4x2::IfcMaterialProfileSet> Ifc4x2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[602], 2)); } const ifcopenshell::entity& Ifc4x2::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X2_types[601]); } -void Ifc4x2::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x2::IfcMaterialProfile Ifc4x2::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10932,7 +10932,7 @@ void Ifc4x2::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x2::IfcCompo const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[602]); } -void Ifc4x2::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x2::IfcMaterialProfileSet Ifc4x2::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x2::IfcMaterialProfileSet Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcMaterialProfileSet>(); } @@ -10944,7 +10944,7 @@ void Ifc4x2::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X2_types[603]); } -void Ifc4x2::IfcMaterialProfileSetUsage::initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x2::IfcMaterialProfileSetUsage Ifc4x2::IfcMaterialProfileSetUsage::initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x2::IfcMaterialProfileSet Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcMaterialProfileSet>(); } @@ -10954,7 +10954,7 @@ void Ifc4x2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std:: const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X2_types[604]); } -void Ifc4x2::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x2::IfcMaterialProfileSetUsageTapering Ifc4x2::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -10962,7 +10962,7 @@ void Ifc4x2::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vector< d const ifcopenshell::entity& Ifc4x2::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X2_types[605]); } -void Ifc4x2::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x2::IfcMaterialProfileWithOffsets Ifc4x2::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x2::IfcMaterialDefinition Ifc4x2::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcMaterialDefinition>(); } @@ -10970,7 +10970,7 @@ void Ifc4x2::IfcMaterialProperties::setMaterial(const ::Ifc4x2::IfcMaterialDefin const ifcopenshell::entity& Ifc4x2::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[606]); } -void Ifc4x2::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x2::IfcMaterialProperties Ifc4x2::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x2::IfcMaterial Ifc4x2::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcMaterial>(); } @@ -10982,14 +10982,14 @@ void Ifc4x2::IfcMaterialRelationship::setExpression(const std::optional< std::st const ifcopenshell::entity& Ifc4x2::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[607]); } -void Ifc4x2::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x2::IfcMaterialRelationship Ifc4x2::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x2::IfcRelAssociatesMaterial> Ifc4x2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[850], 5)); } const ifcopenshell::entity& Ifc4x2::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[609]); } -void Ifc4x2::IfcMaterialUsageDefinition::initialize() { } +Ifc4x2::IfcMaterialUsageDefinition Ifc4x2::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x2::IfcValue Ifc4x2::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcValue>(); } @@ -10999,7 +10999,7 @@ void Ifc4x2::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x2::IfcUnit& v) { const ifcopenshell::entity& Ifc4x2::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[611]); } -void Ifc4x2::IfcMeasureWithUnit::initialize(::Ifc4x2::IfcValue v1_ValueComponent, ::Ifc4x2::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x2::IfcMeasureWithUnit Ifc4x2::IfcMeasureWithUnit::initialize(::Ifc4x2::IfcValue v1_ValueComponent, ::Ifc4x2::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x2::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -11011,7 +11011,7 @@ void Ifc4x2::IfcMechanicalFastener::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x2::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X2_types[612]); } -void Ifc4x2::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcMechanicalFastener Ifc4x2::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value Ifc4x2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -11023,7 +11023,7 @@ void Ifc4x2::IfcMechanicalFastenerType::setNominalLength(const std::optional< do const ifcopenshell::entity& Ifc4x2::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[613]); } -void Ifc4x2::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x2::IfcMechanicalFastenerType Ifc4x2::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > Ifc4x2::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11031,7 +11031,7 @@ void Ifc4x2::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[615]); } -void Ifc4x2::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcMedicalDevice Ifc4x2::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value Ifc4x2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11039,7 +11039,7 @@ void Ifc4x2::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x2::IfcMedicalD const ifcopenshell::entity& Ifc4x2::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[616]); } -void Ifc4x2::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcMedicalDeviceType Ifc4x2::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > Ifc4x2::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -11047,13 +11047,13 @@ void Ifc4x2::IfcMember::setPredefinedType(const std::optional< ::Ifc4x2::IfcMemb const ifcopenshell::entity& Ifc4x2::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X2_types[618]); } -void Ifc4x2::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcMember Ifc4x2::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4x2::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[619]); } -void Ifc4x2::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcMemberStandardCase Ifc4x2::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x2::IfcMemberTypeEnum::Value Ifc4x2::IfcMemberType::PredefinedType() const { return ::Ifc4x2::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -11061,7 +11061,7 @@ void Ifc4x2::IfcMemberType::setPredefinedType(const ::Ifc4x2::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[620]); } -void Ifc4x2::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcMemberType Ifc4x2::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x2::IfcBenchmarkEnum::Value Ifc4x2::IfcMetric::Benchmark() const { return ::Ifc4x2::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -11075,13 +11075,13 @@ void Ifc4x2::IfcMetric::setReferencePath(const ::Ifc4x2::IfcReference& v) { set_ const ifcopenshell::entity& Ifc4x2::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X2_types[622]); } -void Ifc4x2::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x2::IfcMetricValueSelect v10_DataValue, ::Ifc4x2::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x2::IfcMetric Ifc4x2::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x2::IfcMetricValueSelect v10_DataValue, ::Ifc4x2::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x2::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[624]); } -void Ifc4x2::IfcMirroredProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x2::IfcMirroredProfileDef Ifc4x2::IfcMirroredProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x2::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -11089,7 +11089,7 @@ void Ifc4x2::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attribute_ const ifcopenshell::entity& Ifc4x2::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[636]); } -void Ifc4x2::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x2::IfcMonetaryUnit Ifc4x2::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > Ifc4x2::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -11097,7 +11097,7 @@ void Ifc4x2::IfcMotorConnection::setPredefinedType(const std::optional< ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[638]); } -void Ifc4x2::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcMotorConnection Ifc4x2::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x2::IfcMotorConnectionTypeEnum::Value Ifc4x2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -11105,7 +11105,7 @@ void Ifc4x2::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x2::IfcMotorC const ifcopenshell::entity& Ifc4x2::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[639]); } -void Ifc4x2::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcMotorConnectionType Ifc4x2::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x2::IfcDimensionalExponents Ifc4x2::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcDimensionalExponents>(); } @@ -11115,7 +11115,7 @@ void Ifc4x2::IfcNamedUnit::setUnitType(const ::Ifc4x2::IfcUnitEnum::Value& v) { const ifcopenshell::entity& Ifc4x2::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[641]); } -void Ifc4x2::IfcNamedUnit::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x2::IfcNamedUnit Ifc4x2::IfcNamedUnit::initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -11127,7 +11127,7 @@ std::vector<::Ifc4x2::IfcRelDefinesByType> Ifc4x2::IfcObject::IsTypedBy() const std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[868], 4)); } const ifcopenshell::entity& Ifc4x2::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X2_types[646]); } -void Ifc4x2::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x2::IfcObject Ifc4x2::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -11140,7 +11140,7 @@ std::vector<::Ifc4x2::IfcRelAggregates> Ifc4x2::IfcObjectDefinition::Decomposes( std::vector<::Ifc4x2::IfcRelAssociates> Ifc4x2::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[844], 4)); } const ifcopenshell::entity& Ifc4x2::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[647]); } -void Ifc4x2::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcObjectDefinition Ifc4x2::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x2::IfcObjectPlacement Ifc4x2::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcObjectPlacement>(); } @@ -11149,7 +11149,7 @@ void Ifc4x2::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x2::IfcObjectPlac std::vector<::Ifc4x2::IfcProduct> Ifc4x2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[746], 5)); } const ifcopenshell::entity& Ifc4x2::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[650]); } -void Ifc4x2::IfcObjectPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x2::IfcObjectPlacement Ifc4x2::IfcObjectPlacement::initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x2::IfcConstraint > > Ifc4x2::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcConstraint>(es); } @@ -11163,7 +11163,7 @@ void Ifc4x2::IfcObjective::setUserDefinedQualifier(const std::optional< std::str const ifcopenshell::entity& Ifc4x2::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X2_types[648]); } -void Ifc4x2::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x2::IfcObjective Ifc4x2::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > Ifc4x2::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -11171,7 +11171,7 @@ void Ifc4x2::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x2::IfcOc const ifcopenshell::entity& Ifc4x2::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X2_types[653]); } -void Ifc4x2::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x2::IfcOccupant Ifc4x2::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x2::IfcCurve Ifc4x2::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -11179,7 +11179,7 @@ void Ifc4x2::IfcOffsetCurve::setBasisCurve(const ::Ifc4x2::IfcCurve& v) { set_at const ifcopenshell::entity& Ifc4x2::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[655]); } -void Ifc4x2::IfcOffsetCurve::initialize(::Ifc4x2::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x2::IfcOffsetCurve Ifc4x2::IfcOffsetCurve::initialize(::Ifc4x2::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x2::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -11189,7 +11189,7 @@ void Ifc4x2::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x2::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[656]); } -void Ifc4x2::IfcOffsetCurve2D::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x2::IfcOffsetCurve2D Ifc4x2::IfcOffsetCurve2D::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -11201,7 +11201,7 @@ void Ifc4x2::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x2::IfcDirection& v) const ifcopenshell::entity& Ifc4x2::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[657]); } -void Ifc4x2::IfcOffsetCurve3D::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x2::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x2::IfcOffsetCurve3D Ifc4x2::IfcOffsetCurve3D::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x2::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x2::IfcDistanceExpression > Ifc4x2::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcDistanceExpression>(es); } @@ -11211,13 +11211,13 @@ void Ifc4x2::IfcOffsetCurveByDistances::setTag(const std::optional< std::string const ifcopenshell::entity& Ifc4x2::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X2_types[658]); } -void Ifc4x2::IfcOffsetCurveByDistances::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x2::IfcOffsetCurveByDistances Ifc4x2::IfcOffsetCurveByDistances::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x2::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X2_types[662]); } -void Ifc4x2::IfcOpenShell::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x2::IfcOpenShell Ifc4x2::IfcOpenShell::initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > Ifc4x2::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11226,13 +11226,13 @@ void Ifc4x2::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x2: std::vector<::Ifc4x2::IfcRelFillsElement> Ifc4x2::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[871], 4)); } const ifcopenshell::entity& Ifc4x2::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[659]); } -void Ifc4x2::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcOpeningElement Ifc4x2::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4x2::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[661]); } -void Ifc4x2::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcOpeningStandardCase Ifc4x2::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x2::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11251,7 +11251,7 @@ std::vector<::Ifc4x2::IfcOrganizationRelationship> Ifc4x2::IfcOrganization::Rela std::vector<::Ifc4x2::IfcPersonAndOrganization> Ifc4x2::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[683], 1)); } const ifcopenshell::entity& Ifc4x2::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X2_types[663]); } -void Ifc4x2::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x2::IfcOrganization Ifc4x2::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x2::IfcOrganization Ifc4x2::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcOrganization>(); } @@ -11261,7 +11261,7 @@ void Ifc4x2::IfcOrganizationRelationship::setRelatedOrganizations(const std::vec const ifcopenshell::entity& Ifc4x2::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[664]); } -void Ifc4x2::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x2::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x2::IfcOrganizationRelationship Ifc4x2::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x2::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientationExpression ::Ifc4x2::IfcDirection Ifc4x2::IfcOrientationExpression::LateralAxisDirection() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcDirection>(); } @@ -11271,7 +11271,7 @@ void Ifc4x2::IfcOrientationExpression::setVerticalAxisDirection(const ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcOrientationExpression::Class() { return *((ifcopenshell::entity*)IFC4X2_types[665]); } -void Ifc4x2::IfcOrientationExpression::initialize(::Ifc4x2::IfcDirection v1_LateralAxisDirection, ::Ifc4x2::IfcDirection v2_VerticalAxisDirection) { set_attribute_value(0, (v1_LateralAxisDirection));set_attribute_value(1, (v2_VerticalAxisDirection)); } +Ifc4x2::IfcOrientationExpression Ifc4x2::IfcOrientationExpression::initialize(::Ifc4x2::IfcDirection v1_LateralAxisDirection, ::Ifc4x2::IfcDirection v2_VerticalAxisDirection) { set_attribute_value(0, (v1_LateralAxisDirection));set_attribute_value(1, (v2_VerticalAxisDirection));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x2::IfcEdge Ifc4x2::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcEdge>(); } @@ -11281,13 +11281,13 @@ void Ifc4x2::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x2::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X2_types[666]); } -void Ifc4x2::IfcOrientedEdge::initialize(::Ifc4x2::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x2::IfcOrientedEdge Ifc4x2::IfcOrientedEdge::initialize(::Ifc4x2::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x2::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[667]); } -void Ifc4x2::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x2::IfcOuterBoundaryCurve Ifc4x2::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > Ifc4x2::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -11295,7 +11295,7 @@ void Ifc4x2::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x2::IfcOutl const ifcopenshell::entity& Ifc4x2::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[668]); } -void Ifc4x2::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcOutlet Ifc4x2::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x2::IfcOutletTypeEnum::Value Ifc4x2::IfcOutletType::PredefinedType() const { return ::Ifc4x2::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -11303,7 +11303,7 @@ void Ifc4x2::IfcOutletType::setPredefinedType(const ::Ifc4x2::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[669]); } -void Ifc4x2::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcOutletType Ifc4x2::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x2::IfcPersonAndOrganization Ifc4x2::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcPersonAndOrganization>(); } @@ -11325,7 +11325,7 @@ void Ifc4x2::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x2::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X2_types[671]); } -void Ifc4x2::IfcOwnerHistory::initialize(::Ifc4x2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x2::IfcOwnerHistory Ifc4x2::IfcOwnerHistory::initialize(::Ifc4x2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x2::IfcAxis2Placement2D Ifc4x2::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis2Placement2D>(); } @@ -11333,7 +11333,7 @@ void Ifc4x2::IfcParameterizedProfileDef::setPosition(const ::Ifc4x2::IfcAxis2Pla const ifcopenshell::entity& Ifc4x2::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[672]); } -void Ifc4x2::IfcParameterizedProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x2::IfcParameterizedProfileDef Ifc4x2::IfcParameterizedProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x2::IfcOrientedEdge > Ifc4x2::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcOrientedEdge>(es); } @@ -11341,7 +11341,7 @@ void Ifc4x2::IfcPath::setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge > const ifcopenshell::entity& Ifc4x2::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X2_types[674]); } -void Ifc4x2::IfcPath::initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x2::IfcPath Ifc4x2::IfcPath::initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPcurve ::Ifc4x2::IfcSurface Ifc4x2::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } @@ -11351,7 +11351,7 @@ void Ifc4x2::IfcPcurve::setReferenceCurve(const ::Ifc4x2::IfcCurve& v) { set_att const ifcopenshell::entity& Ifc4x2::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[675]); } -void Ifc4x2::IfcPcurve::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, ::Ifc4x2::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x2::IfcPcurve Ifc4x2::IfcPcurve::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, ::Ifc4x2::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -11361,7 +11361,7 @@ void Ifc4x2::IfcPerformanceHistory::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x2::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X2_types[676]); } -void Ifc4x2::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x2::IfcPerformanceHistory Ifc4x2::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value Ifc4x2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x2::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -11377,7 +11377,7 @@ void Ifc4x2::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[679]); } -void Ifc4x2::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x2::IfcPermeableCoveringProperties Ifc4x2::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > Ifc4x2::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -11389,7 +11389,7 @@ void Ifc4x2::IfcPermit::setLongDescription(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[680]); } -void Ifc4x2::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x2::IfcPermit Ifc4x2::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x2::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11412,7 +11412,7 @@ void Ifc4x2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x2: std::vector<::Ifc4x2::IfcPersonAndOrganization> Ifc4x2::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[683], 0)); } const ifcopenshell::entity& Ifc4x2::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X2_types[682]); } -void Ifc4x2::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x2::IfcPerson Ifc4x2::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x2::IfcPerson Ifc4x2::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcPerson>(); } @@ -11424,7 +11424,7 @@ void Ifc4x2::IfcPersonAndOrganization::setRoles(const std::optional< std::vector const ifcopenshell::entity& Ifc4x2::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X2_types[683]); } -void Ifc4x2::IfcPersonAndOrganization::initialize(::Ifc4x2::IfcPerson v1_ThePerson, ::Ifc4x2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x2::IfcPersonAndOrganization Ifc4x2::IfcPersonAndOrganization::initialize(::Ifc4x2::IfcPerson v1_ThePerson, ::Ifc4x2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x2::IfcPhysicalQuantity > Ifc4x2::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcPhysicalQuantity>(es); } @@ -11438,7 +11438,7 @@ void Ifc4x2::IfcPhysicalComplexQuantity::setUsage(const std::optional< std::stri const ifcopenshell::entity& Ifc4x2::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[685]); } -void Ifc4x2::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x2::IfcPhysicalComplexQuantity Ifc4x2::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x2::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11450,7 +11450,7 @@ std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcPhysicalQuant std::vector<::Ifc4x2::IfcPhysicalComplexQuantity> Ifc4x2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[685], 2)); } const ifcopenshell::entity& Ifc4x2::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[687]); } -void Ifc4x2::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x2::IfcPhysicalQuantity Ifc4x2::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x2::IfcNamedUnit Ifc4x2::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcNamedUnit>(); } @@ -11458,7 +11458,7 @@ void Ifc4x2::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x2::IfcNamedUnit& v) const ifcopenshell::entity& Ifc4x2::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[688]); } -void Ifc4x2::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x2::IfcPhysicalSimpleQuantity Ifc4x2::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x2::IfcPileTypeEnum::Value > Ifc4x2::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -11468,7 +11468,7 @@ void Ifc4x2::IfcPile::setConstructionType(const std::optional< ::Ifc4x2::IfcPile const ifcopenshell::entity& Ifc4x2::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X2_types[689]); } -void Ifc4x2::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x2::IfcPile Ifc4x2::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x2::IfcPileTypeEnum::Value Ifc4x2::IfcPileType::PredefinedType() const { return ::Ifc4x2::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -11476,7 +11476,7 @@ void Ifc4x2::IfcPileType::setPredefinedType(const ::Ifc4x2::IfcPileTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[691]); } -void Ifc4x2::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcPileType Ifc4x2::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > Ifc4x2::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -11484,7 +11484,7 @@ void Ifc4x2::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[693]); } -void Ifc4x2::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcPipeFitting Ifc4x2::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x2::IfcPipeFittingTypeEnum::Value Ifc4x2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -11492,7 +11492,7 @@ void Ifc4x2::IfcPipeFittingType::setPredefinedType(const ::Ifc4x2::IfcPipeFittin const ifcopenshell::entity& Ifc4x2::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[694]); } -void Ifc4x2::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcPipeFittingType Ifc4x2::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > Ifc4x2::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -11500,7 +11500,7 @@ void Ifc4x2::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[696]); } -void Ifc4x2::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcPipeSegment Ifc4x2::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x2::IfcPipeSegmentTypeEnum::Value Ifc4x2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -11508,7 +11508,7 @@ void Ifc4x2::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x2::IfcPipeSegmen const ifcopenshell::entity& Ifc4x2::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[697]); } -void Ifc4x2::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcPipeSegmentType Ifc4x2::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x2::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -11522,7 +11522,7 @@ void Ifc4x2::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bitset< const ifcopenshell::entity& Ifc4x2::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X2_types[699]); } -void Ifc4x2::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x2::IfcPixelTexture Ifc4x2::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x2::IfcCartesianPoint Ifc4x2::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPoint>(); } @@ -11530,7 +11530,7 @@ void Ifc4x2::IfcPlacement::setLocation(const ::Ifc4x2::IfcCartesianPoint& v) { s const ifcopenshell::entity& Ifc4x2::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[700]); } -void Ifc4x2::IfcPlacement::initialize(::Ifc4x2::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x2::IfcPlacement Ifc4x2::IfcPlacement::initialize(::Ifc4x2::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis2Placement>(); } @@ -11538,7 +11538,7 @@ void Ifc4x2::IfcPlanarBox::setPlacement(const ::Ifc4x2::IfcAxis2Placement& v) { const ifcopenshell::entity& Ifc4x2::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X2_types[701]); } -void Ifc4x2::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x2::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x2::IfcPlanarBox Ifc4x2::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x2::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x2::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -11548,13 +11548,13 @@ void Ifc4x2::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x2::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X2_types[702]); } -void Ifc4x2::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x2::IfcPlanarExtent Ifc4x2::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x2::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X2_types[704]); } -void Ifc4x2::IfcPlane::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x2::IfcPlane Ifc4x2::IfcPlane::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > Ifc4x2::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -11562,13 +11562,13 @@ void Ifc4x2::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x2::IfcPlate const ifcopenshell::entity& Ifc4x2::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[706]); } -void Ifc4x2::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcPlate Ifc4x2::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4x2::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[707]); } -void Ifc4x2::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcPlateStandardCase Ifc4x2::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x2::IfcPlateTypeEnum::Value Ifc4x2::IfcPlateType::PredefinedType() const { return ::Ifc4x2::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -11576,13 +11576,13 @@ void Ifc4x2::IfcPlateType::setPredefinedType(const ::Ifc4x2::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[708]); } -void Ifc4x2::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcPlateType Ifc4x2::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x2::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X2_types[710]); } -void Ifc4x2::IfcPoint::initialize() { } +Ifc4x2::IfcPoint Ifc4x2::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x2::IfcCurve Ifc4x2::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -11592,7 +11592,7 @@ void Ifc4x2::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x2::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[711]); } -void Ifc4x2::IfcPointOnCurve::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x2::IfcPointOnCurve Ifc4x2::IfcPointOnCurve::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x2::IfcSurface Ifc4x2::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } @@ -11604,7 +11604,7 @@ void Ifc4x2::IfcPointOnSurface::setPointParameterV(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[712]); } -void Ifc4x2::IfcPointOnSurface::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x2::IfcPointOnSurface Ifc4x2::IfcPointOnSurface::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x2::IfcCartesianPoint > Ifc4x2::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } @@ -11612,7 +11612,7 @@ void Ifc4x2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x2::IfcCartesianPo const ifcopenshell::entity& Ifc4x2::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X2_types[717]); } -void Ifc4x2::IfcPolyLoop::initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x2::IfcPolyLoop Ifc4x2::IfcPolyLoop::initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis2Placement3D>(); } @@ -11622,7 +11622,7 @@ void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X2_types[714]); } -void Ifc4x2::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcAxis2Placement3D v3_Position, ::Ifc4x2::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x2::IfcPolygonalBoundedHalfSpace Ifc4x2::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcAxis2Placement3D v3_Position, ::Ifc4x2::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x2::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -11634,7 +11634,7 @@ void Ifc4x2::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< i const ifcopenshell::entity& Ifc4x2::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[715]); } -void Ifc4x2::IfcPolygonalFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x2::IfcPolygonalFaceSet Ifc4x2::IfcPolygonalFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x2::IfcCartesianPoint > Ifc4x2::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcCartesianPoint>(es); } @@ -11642,7 +11642,7 @@ void Ifc4x2::IfcPolyline::setPoints(const std::vector< ::Ifc4x2::IfcCartesianPoi const ifcopenshell::entity& Ifc4x2::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X2_types[716]); } -void Ifc4x2::IfcPolyline::initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x2::IfcPolyline Ifc4x2::IfcPolyline::initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPort @@ -11651,7 +11651,7 @@ std::vector<::Ifc4x2::IfcRelConnectsPorts> Ifc4x2::IfcPort::ConnectedFrom() cons std::vector<::Ifc4x2::IfcRelConnectsPorts> Ifc4x2::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[855], 4)); } const ifcopenshell::entity& Ifc4x2::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X2_types[718]); } -void Ifc4x2::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x2::IfcPort Ifc4x2::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -11659,7 +11659,7 @@ std::vector<::Ifc4x2::IfcRelContainedInSpatialStructure> Ifc4x2::IfcPositioningE std::vector<::Ifc4x2::IfcRelPositions> Ifc4x2::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[875], 4)); } const ifcopenshell::entity& Ifc4x2::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[719]); } -void Ifc4x2::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x2::IfcPositioningElement Ifc4x2::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x2::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11679,19 +11679,19 @@ void Ifc4x2::IfcPostalAddress::setCountry(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x2::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X2_types[724]); } -void Ifc4x2::IfcPostalAddress::initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x2::IfcPostalAddress Ifc4x2::IfcPostalAddress::initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x2::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X2_types[726]); } -void Ifc4x2::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x2::IfcPreDefinedColour Ifc4x2::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x2::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[727]); } -void Ifc4x2::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x2::IfcPreDefinedCurveFont Ifc4x2::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x2::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11699,31 +11699,31 @@ void Ifc4x2::IfcPreDefinedItem::setName(const std::string& v) { set_attribute_va const ifcopenshell::entity& Ifc4x2::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[728]); } -void Ifc4x2::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x2::IfcPreDefinedItem Ifc4x2::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x2::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[729]); } -void Ifc4x2::IfcPreDefinedProperties::initialize() { } +Ifc4x2::IfcPreDefinedProperties Ifc4x2::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x2::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[730]); } -void Ifc4x2::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcPreDefinedPropertySet Ifc4x2::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x2::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[731]); } -void Ifc4x2::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x2::IfcPreDefinedTextFont Ifc4x2::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x2::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[734]); } -void Ifc4x2::IfcPresentationItem::initialize() { } +Ifc4x2::IfcPresentationItem Ifc4x2::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11737,7 +11737,7 @@ void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[735]); } -void Ifc4x2::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x2::IfcPresentationLayerAssignment Ifc4x2::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -11751,7 +11751,7 @@ void Ifc4x2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< :: const ifcopenshell::entity& Ifc4x2::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[736]); } -void Ifc4x2::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x2::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x2::IfcPresentationLayerWithStyle Ifc4x2::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x2::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x2::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11759,7 +11759,7 @@ void Ifc4x2::IfcPresentationStyle::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[737]); } -void Ifc4x2::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcPresentationStyle Ifc4x2::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcPresentationStyleAssignment std::vector< ::Ifc4x2::IfcPresentationStyleSelect > Ifc4x2::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcPresentationStyleSelect>(es); } @@ -11767,7 +11767,7 @@ void Ifc4x2::IfcPresentationStyleAssignment::setStyles(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[738]); } -void Ifc4x2::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x2::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles)); } +Ifc4x2::IfcPresentationStyleAssignment Ifc4x2::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x2::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > Ifc4x2::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -11775,7 +11775,7 @@ void Ifc4x2::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x2::IfcP const ifcopenshell::entity& Ifc4x2::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X2_types[741]); } -void Ifc4x2::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x2::IfcProcedure Ifc4x2::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x2::IfcProcedureTypeEnum::Value Ifc4x2::IfcProcedureType::PredefinedType() const { return ::Ifc4x2::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -11783,7 +11783,7 @@ void Ifc4x2::IfcProcedureType::setPredefinedType(const ::Ifc4x2::IfcProcedureTyp const ifcopenshell::entity& Ifc4x2::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[742]); } -void Ifc4x2::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcProcedureType Ifc4x2::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x2::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -11796,7 +11796,7 @@ std::vector<::Ifc4x2::IfcRelSequence> Ifc4x2::IfcProcess::IsSuccessorFrom() cons std::vector<::Ifc4x2::IfcRelAssignsToProcess> Ifc4x2::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[841], 6)); } const ifcopenshell::entity& Ifc4x2::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X2_types[744]); } -void Ifc4x2::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x2::IfcProcess Ifc4x2::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x2::IfcObjectPlacement Ifc4x2::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcObjectPlacement>(); } @@ -11808,7 +11808,7 @@ std::vector<::Ifc4x2::IfcRelAssignsToProduct> Ifc4x2::IfcProduct::ReferencedBy() std::vector<::Ifc4x2::IfcRelPositions> Ifc4x2::IfcProduct::PositionedRelativeTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[875], 5)); } const ifcopenshell::entity& Ifc4x2::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X2_types[746]); } -void Ifc4x2::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x2::IfcProduct Ifc4x2::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -11816,7 +11816,7 @@ std::vector<::Ifc4x2::IfcProduct> Ifc4x2::IfcProductDefinitionShape::ShapeOfProd std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[931], 4)); } const ifcopenshell::entity& Ifc4x2::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X2_types[747]); } -void Ifc4x2::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x2::IfcProductDefinitionShape Ifc4x2::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x2::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11828,7 +11828,7 @@ void Ifc4x2::IfcProductRepresentation::setRepresentations(const std::vector< ::I const ifcopenshell::entity& Ifc4x2::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[748]); } -void Ifc4x2::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x2::IfcProductRepresentation Ifc4x2::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x2::IfcProfileTypeEnum::Value Ifc4x2::IfcProfileDef::ProfileType() const { return ::Ifc4x2::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -11840,7 +11840,7 @@ std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcProfileDef::H std::vector<::Ifc4x2::IfcProfileProperties> Ifc4x2::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[752], 3)); } const ifcopenshell::entity& Ifc4x2::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[751]); } -void Ifc4x2::IfcProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x2::IfcProfileDef Ifc4x2::IfcProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x2::IfcProfileDef Ifc4x2::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcProfileDef>(); } @@ -11848,19 +11848,19 @@ void Ifc4x2::IfcProfileProperties::setProfileDefinition(const ::Ifc4x2::IfcProfi const ifcopenshell::entity& Ifc4x2::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[752]); } -void Ifc4x2::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x2::IfcProfileProperties Ifc4x2::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x2::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X2_types[754]); } -void Ifc4x2::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x2::IfcProject Ifc4x2::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x2::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X2_types[759]); } -void Ifc4x2::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x2::IfcProjectLibrary Ifc4x2::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > Ifc4x2::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -11872,7 +11872,7 @@ void Ifc4x2::IfcProjectOrder::setLongDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x2::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X2_types[760]); } -void Ifc4x2::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x2::IfcProjectOrder Ifc4x2::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x2::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -11884,7 +11884,7 @@ void Ifc4x2::IfcProjectedCRS::setMapUnit(const ::Ifc4x2::IfcNamedUnit& v) { set_ const ifcopenshell::entity& Ifc4x2::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X2_types[755]); } -void Ifc4x2::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x2::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x2::IfcProjectedCRS Ifc4x2::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x2::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > Ifc4x2::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11892,7 +11892,7 @@ void Ifc4x2::IfcProjectionElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[757]); } -void Ifc4x2::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcProjectionElement Ifc4x2::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x2::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11908,14 +11908,14 @@ std::vector<::Ifc4x2::IfcResourceConstraintRelationship> Ifc4x2::IfcProperty::Ha std::vector<::Ifc4x2::IfcResourceApprovalRelationship> Ifc4x2::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[890], 2)); } const ifcopenshell::entity& Ifc4x2::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X2_types[762]); } -void Ifc4x2::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x2::IfcProperty Ifc4x2::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[763]); } -void Ifc4x2::IfcPropertyAbstraction::initialize() { } +Ifc4x2::IfcPropertyAbstraction Ifc4x2::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x2::IfcValue Ifc4x2::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcValue>(); } @@ -11929,7 +11929,7 @@ void Ifc4x2::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x2::IfcValue& const ifcopenshell::entity& Ifc4x2::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[764]); } -void Ifc4x2::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_UpperBoundValue, ::Ifc4x2::IfcValue v4_LowerBoundValue, ::Ifc4x2::IfcUnit v5_Unit, ::Ifc4x2::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x2::IfcPropertyBoundedValue Ifc4x2::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_UpperBoundValue, ::Ifc4x2::IfcValue v4_LowerBoundValue, ::Ifc4x2::IfcUnit v5_Unit, ::Ifc4x2::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -11937,7 +11937,7 @@ std::vector<::Ifc4x2::IfcRelDeclares> Ifc4x2::IfcPropertyDefinition::HasContext( std::vector<::Ifc4x2::IfcRelAssociates> Ifc4x2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[844], 4)); } const ifcopenshell::entity& Ifc4x2::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[765]); } -void Ifc4x2::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcPropertyDefinition Ifc4x2::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x2::IfcProperty Ifc4x2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcProperty>(); } @@ -11949,7 +11949,7 @@ void Ifc4x2::IfcPropertyDependencyRelationship::setExpression(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[766]); } -void Ifc4x2::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty v3_DependingProperty, ::Ifc4x2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x2::IfcPropertyDependencyRelationship Ifc4x2::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty v3_DependingProperty, ::Ifc4x2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x2::IfcValue > > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcValue>(es); } @@ -11959,7 +11959,7 @@ void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[767]); } -void Ifc4x2::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x2::IfcPropertyEnumeratedValue Ifc4x2::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x2::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11971,7 +11971,7 @@ void Ifc4x2::IfcPropertyEnumeration::setUnit(const ::Ifc4x2::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc4x2::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X2_types[768]); } -void Ifc4x2::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x2::IfcValue > v2_EnumerationValues, ::Ifc4x2::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x2::IfcPropertyEnumeration Ifc4x2::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x2::IfcValue > v2_EnumerationValues, ::Ifc4x2::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x2::IfcValue > > Ifc4x2::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcValue>(es); } @@ -11981,7 +11981,7 @@ void Ifc4x2::IfcPropertyListValue::setUnit(const ::Ifc4x2::IfcUnit& v) { set_att const ifcopenshell::entity& Ifc4x2::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[769]); } -void Ifc4x2::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_ListValues, ::Ifc4x2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x2::IfcPropertyListValue Ifc4x2::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_ListValues, ::Ifc4x2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11991,7 +11991,7 @@ void Ifc4x2::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[770]); } -void Ifc4x2::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x2::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x2::IfcPropertyReferenceValue Ifc4x2::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x2::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x2::IfcProperty > Ifc4x2::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcProperty>(es); } @@ -11999,7 +11999,7 @@ void Ifc4x2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x2::IfcPr const ifcopenshell::entity& Ifc4x2::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[771]); } -void Ifc4x2::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x2::IfcPropertySet Ifc4x2::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -12008,7 +12008,7 @@ std::vector<::Ifc4x2::IfcRelDefinesByTemplate> Ifc4x2::IfcPropertySetDefinition: std::vector<::Ifc4x2::IfcRelDefinesByProperties> Ifc4x2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[868], 5)); } const ifcopenshell::entity& Ifc4x2::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[772]); } -void Ifc4x2::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcPropertySetDefinition Ifc4x2::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x2::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -12021,7 +12021,7 @@ void Ifc4x2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< std::vector<::Ifc4x2::IfcRelDefinesByTemplate> Ifc4x2::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[869], 5)); } const ifcopenshell::entity& Ifc4x2::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[775]); } -void Ifc4x2::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x2::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x2::IfcPropertySetTemplate Ifc4x2::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x2::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x2::IfcValue Ifc4x2::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcValue>(); } @@ -12031,7 +12031,7 @@ void Ifc4x2::IfcPropertySingleValue::setUnit(const ::Ifc4x2::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc4x2::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[777]); } -void Ifc4x2::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_NominalValue, ::Ifc4x2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x2::IfcPropertySingleValue Ifc4x2::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_NominalValue, ::Ifc4x2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x2::IfcValue > > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcValue>(es); } @@ -12049,7 +12049,7 @@ void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(const std::optional< : const ifcopenshell::entity& Ifc4x2::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[778]); } -void Ifc4x2::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit v6_DefiningUnit, ::Ifc4x2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x2::IfcPropertyTableValue Ifc4x2::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit v6_DefiningUnit, ::Ifc4x2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -12057,13 +12057,13 @@ std::vector<::Ifc4x2::IfcComplexPropertyTemplate> Ifc4x2::IfcPropertyTemplate::P std::vector<::Ifc4x2::IfcPropertySetTemplate> Ifc4x2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[775], 6)); } const ifcopenshell::entity& Ifc4x2::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[779]); } -void Ifc4x2::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcPropertyTemplate Ifc4x2::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x2::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[780]); } -void Ifc4x2::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcPropertyTemplateDefinition Ifc4x2::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x2::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12071,7 +12071,7 @@ void Ifc4x2::IfcProtectiveDevice::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[781]); } -void Ifc4x2::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcProtectiveDevice Ifc4x2::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -12079,7 +12079,7 @@ void Ifc4x2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[782]); } -void Ifc4x2::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcProtectiveDeviceTrippingUnit Ifc4x2::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -12087,7 +12087,7 @@ void Ifc4x2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[783]); } -void Ifc4x2::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcProtectiveDeviceTrippingUnitType Ifc4x2::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value Ifc4x2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12095,7 +12095,7 @@ void Ifc4x2::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x2::IfcProte const ifcopenshell::entity& Ifc4x2::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[785]); } -void Ifc4x2::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcProtectiveDeviceType Ifc4x2::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4x2::IfcObjectTypeEnum::Value Ifc4x2::IfcProxy::ProxyType() const { return ::Ifc4x2::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -12105,7 +12105,7 @@ void Ifc4x2::IfcProxy::setTag(const std::optional< std::string >& v) { if (v) {s const ifcopenshell::entity& Ifc4x2::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X2_types[787]); } -void Ifc4x2::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4x2::IfcProxy Ifc4x2::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > Ifc4x2::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -12113,7 +12113,7 @@ void Ifc4x2::IfcPump::setPredefinedType(const std::optional< ::Ifc4x2::IfcPumpTy const ifcopenshell::entity& Ifc4x2::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X2_types[788]); } -void Ifc4x2::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcPump Ifc4x2::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x2::IfcPumpTypeEnum::Value Ifc4x2::IfcPumpType::PredefinedType() const { return ::Ifc4x2::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -12121,7 +12121,7 @@ void Ifc4x2::IfcPumpType::setPredefinedType(const ::Ifc4x2::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[789]); } -void Ifc4x2::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcPumpType Ifc4x2::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x2::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -12131,7 +12131,7 @@ void Ifc4x2::IfcQuantityArea::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x2::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X2_types[791]); } -void Ifc4x2::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x2::IfcQuantityArea Ifc4x2::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4x2::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -12141,7 +12141,7 @@ void Ifc4x2::IfcQuantityCount::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x2::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X2_types[792]); } -void Ifc4x2::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x2::IfcQuantityCount Ifc4x2::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x2::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -12151,13 +12151,13 @@ void Ifc4x2::IfcQuantityLength::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X2_types[793]); } -void Ifc4x2::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x2::IfcQuantityLength Ifc4x2::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x2::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[794]); } -void Ifc4x2::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcQuantitySet Ifc4x2::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x2::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -12167,7 +12167,7 @@ void Ifc4x2::IfcQuantityTime::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x2::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[795]); } -void Ifc4x2::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x2::IfcQuantityTime Ifc4x2::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x2::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -12177,7 +12177,7 @@ void Ifc4x2::IfcQuantityVolume::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X2_types[796]); } -void Ifc4x2::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x2::IfcQuantityVolume Ifc4x2::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x2::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -12187,7 +12187,7 @@ void Ifc4x2::IfcQuantityWeight::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X2_types[797]); } -void Ifc4x2::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x2::IfcQuantityWeight Ifc4x2::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > Ifc4x2::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -12195,7 +12195,7 @@ void Ifc4x2::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x2::IfcRai const ifcopenshell::entity& Ifc4x2::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X2_types[799]); } -void Ifc4x2::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcRailing Ifc4x2::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x2::IfcRailingTypeEnum::Value Ifc4x2::IfcRailingType::PredefinedType() const { return ::Ifc4x2::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -12203,7 +12203,7 @@ void Ifc4x2::IfcRailingType::setPredefinedType(const ::Ifc4x2::IfcRailingTypeEnu const ifcopenshell::entity& Ifc4x2::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[800]); } -void Ifc4x2::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcRailingType Ifc4x2::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x2::IfcRampTypeEnum::Value > Ifc4x2::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -12211,7 +12211,7 @@ void Ifc4x2::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x2::IfcRampTy const ifcopenshell::entity& Ifc4x2::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X2_types[802]); } -void Ifc4x2::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcRamp Ifc4x2::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > Ifc4x2::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -12219,7 +12219,7 @@ void Ifc4x2::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X2_types[803]); } -void Ifc4x2::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcRampFlight Ifc4x2::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x2::IfcRampFlightTypeEnum::Value Ifc4x2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -12227,7 +12227,7 @@ void Ifc4x2::IfcRampFlightType::setPredefinedType(const ::Ifc4x2::IfcRampFlightT const ifcopenshell::entity& Ifc4x2::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[804]); } -void Ifc4x2::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcRampFlightType Ifc4x2::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x2::IfcRampTypeEnum::Value Ifc4x2::IfcRampType::PredefinedType() const { return ::Ifc4x2::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -12235,7 +12235,7 @@ void Ifc4x2::IfcRampType::setPredefinedType(const ::Ifc4x2::IfcRampTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[806]); } -void Ifc4x2::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcRampType Ifc4x2::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -12243,7 +12243,7 @@ void Ifc4x2::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vector< const ifcopenshell::entity& Ifc4x2::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X2_types[809]); } -void Ifc4x2::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x2::IfcRationalBSplineCurveWithKnots Ifc4x2::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -12251,7 +12251,7 @@ void Ifc4x2::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::vecto const ifcopenshell::entity& Ifc4x2::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X2_types[810]); } -void Ifc4x2::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x2::IfcRationalBSplineSurfaceWithKnots Ifc4x2::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x2::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -12263,7 +12263,7 @@ void Ifc4x2::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::optio const ifcopenshell::entity& Ifc4x2::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[812]); } -void Ifc4x2::IfcRectangleHollowProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x2::IfcRectangleHollowProfileDef Ifc4x2::IfcRectangleHollowProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x2::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -12273,7 +12273,7 @@ void Ifc4x2::IfcRectangleProfileDef::setYDim(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x2::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[813]); } -void Ifc4x2::IfcRectangleProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x2::IfcRectangleProfileDef Ifc4x2::IfcRectangleProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x2::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -12285,7 +12285,7 @@ void Ifc4x2::IfcRectangularPyramid::setHeight(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x2::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[814]); } -void Ifc4x2::IfcRectangularPyramid::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x2::IfcRectangularPyramid Ifc4x2::IfcRectangularPyramid::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x2::IfcSurface Ifc4x2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSurface>(); } @@ -12305,7 +12305,7 @@ void Ifc4x2::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[815]); } -void Ifc4x2::IfcRectangularTrimmedSurface::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x2::IfcRectangularTrimmedSurface Ifc4x2::IfcRectangularTrimmedSurface::initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x2::IfcRecurrenceTypeEnum::Value Ifc4x2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x2::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -12327,7 +12327,7 @@ void Ifc4x2::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vect const ifcopenshell::entity& Ifc4x2::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X2_types[816]); } -void Ifc4x2::IfcRecurrencePattern::initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x2::IfcRecurrencePattern Ifc4x2::IfcRecurrencePattern::initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x2::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12343,7 +12343,7 @@ void Ifc4x2::IfcReference::setInnerReference(const ::Ifc4x2::IfcReference& v) { const ifcopenshell::entity& Ifc4x2::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X2_types[818]); } -void Ifc4x2::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x2::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x2::IfcReference Ifc4x2::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x2::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > Ifc4x2::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -12353,7 +12353,7 @@ void Ifc4x2::IfcReferent::setRestartDistance(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x2::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X2_types[819]); } -void Ifc4x2::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); } } +Ifc4x2::IfcReferent Ifc4x2::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -12363,7 +12363,7 @@ void Ifc4x2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x2::IfcTim const ifcopenshell::entity& Ifc4x2::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X2_types[822]); } -void Ifc4x2::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x2::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x2::IfcRegularTimeSeries Ifc4x2::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x2::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -12381,7 +12381,7 @@ void Ifc4x2::IfcReinforcementBarProperties::setBarCount(const std::optional< dou const ifcopenshell::entity& Ifc4x2::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[823]); } -void Ifc4x2::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x2::IfcReinforcementBarProperties Ifc4x2::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12391,7 +12391,7 @@ void Ifc4x2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefini const ifcopenshell::entity& Ifc4x2::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[824]); } -void Ifc4x2::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x2::IfcReinforcementDefinitionProperties Ifc4x2::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x2::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -12407,7 +12407,7 @@ void Ifc4x2::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X2_types[825]); } -void Ifc4x2::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x2::IfcReinforcingBar Ifc4x2::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x2::IfcReinforcingBarTypeEnum::Value Ifc4x2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -12427,7 +12427,7 @@ void Ifc4x2::IfcReinforcingBarType::setBendingParameters(const std::optional< st const ifcopenshell::entity& Ifc4x2::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[828]); } -void Ifc4x2::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x2::IfcReinforcingBarType Ifc4x2::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x2::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -12435,13 +12435,13 @@ void Ifc4x2::IfcReinforcingElement::setSteelGrade(const std::optional< std::stri const ifcopenshell::entity& Ifc4x2::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[830]); } -void Ifc4x2::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x2::IfcReinforcingElement Ifc4x2::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x2::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[831]); } -void Ifc4x2::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcReinforcingElementType Ifc4x2::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x2::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -12465,7 +12465,7 @@ void Ifc4x2::IfcReinforcingMesh::setPredefinedType(const std::optional< ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X2_types[832]); } -void Ifc4x2::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x2::IfcReinforcingMesh Ifc4x2::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value Ifc4x2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -12493,7 +12493,7 @@ void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(const std::optional< s const ifcopenshell::entity& Ifc4x2::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[833]); } -void Ifc4x2::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x2::IfcReinforcingMeshType Ifc4x2::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x2::IfcObjectDefinition Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcObjectDefinition>(); } @@ -12503,7 +12503,7 @@ void Ifc4x2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X2_types[835]); } -void Ifc4x2::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x2::IfcRelAggregates Ifc4x2::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } @@ -12513,7 +12513,7 @@ void Ifc4x2::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X2_types[836]); } -void Ifc4x2::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x2::IfcRelAssigns Ifc4x2::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x2::IfcActor Ifc4x2::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcActor>(); } @@ -12523,7 +12523,7 @@ void Ifc4x2::IfcRelAssignsToActor::setActingRole(const ::Ifc4x2::IfcActorRole& v const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[837]); } -void Ifc4x2::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor v7_RelatingActor, ::Ifc4x2::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x2::IfcRelAssignsToActor Ifc4x2::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor v7_RelatingActor, ::Ifc4x2::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x2::IfcControl Ifc4x2::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcControl>(); } @@ -12531,7 +12531,7 @@ void Ifc4x2::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x2::IfcContr const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X2_types[838]); } -void Ifc4x2::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x2::IfcRelAssignsToControl Ifc4x2::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x2::IfcGroup Ifc4x2::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcGroup>(); } @@ -12539,7 +12539,7 @@ void Ifc4x2::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x2::IfcGroup& v) const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X2_types[839]); } -void Ifc4x2::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x2::IfcRelAssignsToGroup Ifc4x2::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x2::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -12547,7 +12547,7 @@ void Ifc4x2::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attr const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[840]); } -void Ifc4x2::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x2::IfcRelAssignsToGroupByFactor Ifc4x2::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x2::IfcProcessSelect Ifc4x2::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcProcessSelect>(); } @@ -12557,7 +12557,7 @@ void Ifc4x2::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x2::IfcMea const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X2_types[841]); } -void Ifc4x2::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x2::IfcRelAssignsToProcess Ifc4x2::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x2::IfcProductSelect Ifc4x2::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcProductSelect>(); } @@ -12565,7 +12565,7 @@ void Ifc4x2::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x2::IfcProdu const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X2_types[842]); } -void Ifc4x2::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x2::IfcRelAssignsToProduct Ifc4x2::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x2::IfcResourceSelect Ifc4x2::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x2::IfcResourceSelect>(); } @@ -12573,7 +12573,7 @@ void Ifc4x2::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x2::IfcRes const ifcopenshell::entity& Ifc4x2::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[843]); } -void Ifc4x2::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x2::IfcRelAssignsToResource Ifc4x2::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x2::IfcDefinitionSelect > Ifc4x2::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcDefinitionSelect>(es); } @@ -12581,7 +12581,7 @@ void Ifc4x2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X2_types[844]); } -void Ifc4x2::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x2::IfcRelAssociates Ifc4x2::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x2::IfcApproval Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcApproval>(); } @@ -12589,7 +12589,7 @@ void Ifc4x2::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x2::IfcAp const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X2_types[845]); } -void Ifc4x2::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x2::IfcRelAssociatesApproval Ifc4x2::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x2::IfcClassificationSelect Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcClassificationSelect>(); } @@ -12597,7 +12597,7 @@ void Ifc4x2::IfcRelAssociatesClassification::setRelatingClassification(const ::I const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X2_types[846]); } -void Ifc4x2::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x2::IfcRelAssociatesClassification Ifc4x2::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12607,7 +12607,7 @@ void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X2_types[847]); } -void Ifc4x2::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x2::IfcRelAssociatesConstraint Ifc4x2::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x2::IfcDocumentSelect Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcDocumentSelect>(); } @@ -12615,7 +12615,7 @@ void Ifc4x2::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x2::IfcDo const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X2_types[848]); } -void Ifc4x2::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x2::IfcRelAssociatesDocument Ifc4x2::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x2::IfcLibrarySelect Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcLibrarySelect>(); } @@ -12623,7 +12623,7 @@ void Ifc4x2::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x2::IfcLibr const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X2_types[849]); } -void Ifc4x2::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x2::IfcRelAssociatesLibrary Ifc4x2::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x2::IfcMaterialSelect Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x2::IfcMaterialSelect>(); } @@ -12631,13 +12631,13 @@ void Ifc4x2::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x2::IfcMa const ifcopenshell::entity& Ifc4x2::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X2_types[850]); } -void Ifc4x2::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x2::IfcRelAssociatesMaterial Ifc4x2::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x2::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X2_types[852]); } -void Ifc4x2::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcRelConnects Ifc4x2::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcConnectionGeometry>(); } @@ -12649,7 +12649,7 @@ void Ifc4x2::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x2::IfcElemen const ifcopenshell::entity& Ifc4x2::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[853]); } -void Ifc4x2::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x2::IfcRelConnectsElements Ifc4x2::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -12663,7 +12663,7 @@ void Ifc4x2::IfcRelConnectsPathElements::setRelatingConnectionType(const ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[854]); } -void Ifc4x2::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x2::IfcRelConnectsPathElements Ifc4x2::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x2::IfcPort Ifc4x2::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcPort>(); } @@ -12673,7 +12673,7 @@ void Ifc4x2::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x2::IfcD const ifcopenshell::entity& Ifc4x2::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[856]); } -void Ifc4x2::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x2::IfcRelConnectsPortToElement Ifc4x2::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x2::IfcPort Ifc4x2::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcPort>(); } @@ -12685,7 +12685,7 @@ void Ifc4x2::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x2::IfcElement const ifcopenshell::entity& Ifc4x2::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X2_types[855]); } -void Ifc4x2::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcPort v6_RelatedPort, ::Ifc4x2::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x2::IfcRelConnectsPorts Ifc4x2::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcPort v6_RelatedPort, ::Ifc4x2::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x2::IfcStructuralActivityAssignmentSelect Ifc4x2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcStructuralActivityAssignmentSelect>(); } @@ -12695,7 +12695,7 @@ void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(cons const ifcopenshell::entity& Ifc4x2::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[857]); } -void Ifc4x2::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x2::IfcRelConnectsStructuralActivity Ifc4x2::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x2::IfcStructuralMember Ifc4x2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcStructuralMember>(); } @@ -12713,7 +12713,7 @@ void Ifc4x2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const const ifcopenshell::entity& Ifc4x2::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X2_types[858]); } -void Ifc4x2::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x2::IfcRelConnectsStructuralMember Ifc4x2::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x2::IfcConnectionGeometry Ifc4x2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcConnectionGeometry>(); } @@ -12721,7 +12721,7 @@ void Ifc4x2::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc const ifcopenshell::entity& Ifc4x2::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[859]); } -void Ifc4x2::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x2::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x2::IfcRelConnectsWithEccentricity Ifc4x2::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x2::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x2::IfcElement > Ifc4x2::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x2::IfcElement>(es); } @@ -12731,7 +12731,7 @@ void Ifc4x2::IfcRelConnectsWithRealizingElements::setConnectionType(const std::o const ifcopenshell::entity& Ifc4x2::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[860]); } -void Ifc4x2::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x2::IfcRelConnectsWithRealizingElements Ifc4x2::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x2::IfcProduct > Ifc4x2::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcProduct>(es); } @@ -12741,7 +12741,7 @@ void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc const ifcopenshell::entity& Ifc4x2::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X2_types[861]); } -void Ifc4x2::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x2::IfcRelContainedInSpatialStructure Ifc4x2::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x2::IfcElement Ifc4x2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } @@ -12751,7 +12751,7 @@ void Ifc4x2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< :: const ifcopenshell::entity& Ifc4x2::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[862]); } -void Ifc4x2::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x2::IfcRelCoversBldgElements Ifc4x2::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x2::IfcSpace Ifc4x2::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcSpace>(); } @@ -12761,7 +12761,7 @@ void Ifc4x2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X2_types[863]); } -void Ifc4x2::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x2::IfcRelCoversSpaces Ifc4x2::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x2::IfcContext Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcContext>(); } @@ -12771,19 +12771,19 @@ void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X2_types[864]); } -void Ifc4x2::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x2::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x2::IfcRelDeclares Ifc4x2::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x2::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x2::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X2_types[865]); } -void Ifc4x2::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcRelDecomposes Ifc4x2::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x2::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X2_types[866]); } -void Ifc4x2::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcRelDefines Ifc4x2::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x2::IfcObject > Ifc4x2::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObject>(es); } @@ -12793,7 +12793,7 @@ void Ifc4x2::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x2::IfcObject& const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X2_types[867]); } -void Ifc4x2::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x2::IfcRelDefinesByObject Ifc4x2::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x2::IfcObjectDefinition > Ifc4x2::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObjectDefinition>(es); } @@ -12803,7 +12803,7 @@ void Ifc4x2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::If const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[868]); } -void Ifc4x2::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x2::IfcRelDefinesByProperties Ifc4x2::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x2::IfcPropertySetDefinition > Ifc4x2::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcPropertySetDefinition>(es); } @@ -12813,7 +12813,7 @@ void Ifc4x2::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x2::IfcPro const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[869]); } -void Ifc4x2::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x2::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x2::IfcRelDefinesByTemplate Ifc4x2::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x2::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x2::IfcObject > Ifc4x2::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcObject>(es); } @@ -12823,7 +12823,7 @@ void Ifc4x2::IfcRelDefinesByType::setRelatingType(const ::Ifc4x2::IfcTypeObject& const ifcopenshell::entity& Ifc4x2::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[870]); } -void Ifc4x2::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x2::IfcRelDefinesByType Ifc4x2::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x2::IfcOpeningElement Ifc4x2::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcOpeningElement>(); } @@ -12833,7 +12833,7 @@ void Ifc4x2::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x2::IfcEl const ifcopenshell::entity& Ifc4x2::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[871]); } -void Ifc4x2::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x2::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x2::IfcRelFillsElement Ifc4x2::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x2::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x2::IfcDistributionControlElement > Ifc4x2::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcDistributionControlElement>(es); } @@ -12843,7 +12843,7 @@ void Ifc4x2::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[872]); } -void Ifc4x2::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x2::IfcRelFlowControlElements Ifc4x2::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x2::IfcElement Ifc4x2::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } @@ -12859,7 +12859,7 @@ void Ifc4x2::IfcRelInterferesElements::setImpliedOrder(const boost::logic::tribo const ifcopenshell::entity& Ifc4x2::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X2_types[873]); } -void Ifc4x2::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcElement v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder)); } +Ifc4x2::IfcRelInterferesElements Ifc4x2::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcElement v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x2::IfcObjectDefinition Ifc4x2::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcObjectDefinition>(); } @@ -12869,7 +12869,7 @@ void Ifc4x2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x2::IfcObje const ifcopenshell::entity& Ifc4x2::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X2_types[874]); } -void Ifc4x2::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x2::IfcRelNests Ifc4x2::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x2::IfcPositioningElement Ifc4x2::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcPositioningElement>(); } @@ -12879,7 +12879,7 @@ void Ifc4x2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X2_types[875]); } -void Ifc4x2::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x2::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x2::IfcRelPositions Ifc4x2::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x2::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x2::IfcElement Ifc4x2::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } @@ -12889,7 +12889,7 @@ void Ifc4x2::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[876]); } -void Ifc4x2::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x2::IfcRelProjectsElement Ifc4x2::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x2::IfcProduct > Ifc4x2::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x2::IfcProduct>(es); } @@ -12899,7 +12899,7 @@ void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::If const ifcopenshell::entity& Ifc4x2::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X2_types[877]); } -void Ifc4x2::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x2::IfcRelReferencedInSpatialStructure Ifc4x2::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x2::IfcProcess Ifc4x2::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcProcess>(); } @@ -12915,7 +12915,7 @@ void Ifc4x2::IfcRelSequence::setUserDefinedSequenceType(const std::optional< std const ifcopenshell::entity& Ifc4x2::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X2_types[878]); } -void Ifc4x2::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess v5_RelatingProcess, ::Ifc4x2::IfcProcess v6_RelatedProcess, ::Ifc4x2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x2::IfcRelSequence Ifc4x2::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess v5_RelatingProcess, ::Ifc4x2::IfcProcess v6_RelatedProcess, ::Ifc4x2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x2::IfcSystem Ifc4x2::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcSystem>(); } @@ -12925,7 +12925,7 @@ void Ifc4x2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::I const ifcopenshell::entity& Ifc4x2::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X2_types[879]); } -void Ifc4x2::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x2::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x2::IfcRelServicesBuildings Ifc4x2::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x2::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x2::IfcSpaceBoundarySelect Ifc4x2::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcSpaceBoundarySelect>(); } @@ -12941,7 +12941,7 @@ void Ifc4x2::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X2_types[880]); } -void Ifc4x2::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x2::IfcRelSpaceBoundary Ifc4x2::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x2::IfcRelSpaceBoundary1stLevel Ifc4x2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x2::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x2::IfcRelSpaceBoundary1stLevel>(); } @@ -12950,7 +12950,7 @@ void Ifc4x2::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x2::IfcR std::vector<::Ifc4x2::IfcRelSpaceBoundary1stLevel> Ifc4x2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[881], 9)); } const ifcopenshell::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[881]); } -void Ifc4x2::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x2::IfcRelSpaceBoundary1stLevel Ifc4x2::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x2::IfcRelSpaceBoundary2ndLevel Ifc4x2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x2::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x2::IfcRelSpaceBoundary2ndLevel>(); } @@ -12959,7 +12959,7 @@ void Ifc4x2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x std::vector<::Ifc4x2::IfcRelSpaceBoundary2ndLevel> Ifc4x2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[882], 10)); } const ifcopenshell::entity& Ifc4x2::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[882]); } -void Ifc4x2::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x2::IfcRelSpaceBoundary2ndLevel Ifc4x2::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x2::IfcElement Ifc4x2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcElement>(); } @@ -12969,13 +12969,13 @@ void Ifc4x2::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x2::IfcFea const ifcopenshell::entity& Ifc4x2::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[883]); } -void Ifc4x2::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, ::Ifc4x2::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x2::IfcRelVoidsElement Ifc4x2::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, ::Ifc4x2::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x2::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[851]); } -void Ifc4x2::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcRelationship Ifc4x2::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -12983,7 +12983,7 @@ void Ifc4x2::IfcReparametrisedCompositeCurveSegment::setParamLength(const double const ifcopenshell::entity& Ifc4x2::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[884]); } -void Ifc4x2::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x2::IfcReparametrisedCompositeCurveSegment Ifc4x2::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x2::IfcRepresentationContext Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcRepresentationContext>(); } @@ -13000,7 +13000,7 @@ std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentation: std::vector<::Ifc4x2::IfcProductRepresentation> Ifc4x2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[748], 2)); } const ifcopenshell::entity& Ifc4x2::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[885]); } -void Ifc4x2::IfcRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x2::IfcRepresentation Ifc4x2::IfcRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13011,7 +13011,7 @@ void Ifc4x2::IfcRepresentationContext::setContextType(const std::optional< std:: std::vector<::Ifc4x2::IfcRepresentation> Ifc4x2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[885], 0)); } const ifcopenshell::entity& Ifc4x2::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X2_types[886]); } -void Ifc4x2::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x2::IfcRepresentationContext Ifc4x2::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -13019,7 +13019,7 @@ std::vector<::Ifc4x2::IfcPresentationLayerAssignment> Ifc4x2::IfcRepresentationI std::vector<::Ifc4x2::IfcStyledItem> Ifc4x2::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[1035], 0)); } const ifcopenshell::entity& Ifc4x2::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[887]); } -void Ifc4x2::IfcRepresentationItem::initialize() { } +Ifc4x2::IfcRepresentationItem Ifc4x2::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x2::IfcAxis2Placement Ifc4x2::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcAxis2Placement>(); } @@ -13031,7 +13031,7 @@ std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcRepresentationMap::HasShapeAspe std::vector<::Ifc4x2::IfcMappedItem> Ifc4x2::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[585], 0)); } const ifcopenshell::entity& Ifc4x2::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[888]); } -void Ifc4x2::IfcRepresentationMap::initialize(::Ifc4x2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x2::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x2::IfcRepresentationMap Ifc4x2::IfcRepresentationMap::initialize(::Ifc4x2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x2::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x2::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13042,7 +13042,7 @@ void Ifc4x2::IfcResource::setLongDescription(const std::optional< std::string >& std::vector<::Ifc4x2::IfcRelAssignsToResource> Ifc4x2::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[843], 6)); } const ifcopenshell::entity& Ifc4x2::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[889]); } -void Ifc4x2::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x2::IfcResource Ifc4x2::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x2::IfcResourceObjectSelect > Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcResourceObjectSelect>(es); } @@ -13052,7 +13052,7 @@ void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[890]); } -void Ifc4x2::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x2::IfcResourceApprovalRelationship Ifc4x2::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x2::IfcConstraint Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcConstraint>(); } @@ -13062,7 +13062,7 @@ void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(const const ifcopenshell::entity& Ifc4x2::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[891]); } -void Ifc4x2::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x2::IfcResourceConstraintRelationship Ifc4x2::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13072,7 +13072,7 @@ void Ifc4x2::IfcResourceLevelRelationship::setDescription(const std::optional< s const ifcopenshell::entity& Ifc4x2::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X2_types[892]); } -void Ifc4x2::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x2::IfcResourceLevelRelationship Ifc4x2::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -13108,7 +13108,7 @@ void Ifc4x2::IfcResourceTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x2::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[895]); } -void Ifc4x2::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x2::IfcResourceTime Ifc4x2::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x2::IfcAxis1Placement Ifc4x2::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis1Placement>(); } @@ -13118,7 +13118,7 @@ void Ifc4x2::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x2::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[896]); } -void Ifc4x2::IfcRevolvedAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x2::IfcRevolvedAreaSolid Ifc4x2::IfcRevolvedAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x2::IfcProfileDef Ifc4x2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x2::IfcProfileDef>(); } @@ -13126,7 +13126,7 @@ void Ifc4x2::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x2::IfcPro const ifcopenshell::entity& Ifc4x2::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X2_types[897]); } -void Ifc4x2::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x2::IfcRevolvedAreaSolidTapered Ifc4x2::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x2::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -13136,7 +13136,7 @@ void Ifc4x2::IfcRightCircularCone::setBottomRadius(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X2_types[898]); } -void Ifc4x2::IfcRightCircularCone::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x2::IfcRightCircularCone Ifc4x2::IfcRightCircularCone::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x2::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -13146,7 +13146,7 @@ void Ifc4x2::IfcRightCircularCylinder::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x2::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X2_types[899]); } -void Ifc4x2::IfcRightCircularCylinder::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x2::IfcRightCircularCylinder Ifc4x2::IfcRightCircularCylinder::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > Ifc4x2::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -13154,7 +13154,7 @@ void Ifc4x2::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x2::IfcRoofTy const ifcopenshell::entity& Ifc4x2::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X2_types[901]); } -void Ifc4x2::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcRoof Ifc4x2::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x2::IfcRoofTypeEnum::Value Ifc4x2::IfcRoofType::PredefinedType() const { return ::Ifc4x2::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -13162,7 +13162,7 @@ void Ifc4x2::IfcRoofType::setPredefinedType(const ::Ifc4x2::IfcRoofTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[902]); } -void Ifc4x2::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcRoofType Ifc4x2::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x2::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -13176,7 +13176,7 @@ void Ifc4x2::IfcRoot::setDescription(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x2::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X2_types[904]); } -void Ifc4x2::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x2::IfcRoot Ifc4x2::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -13184,7 +13184,7 @@ void Ifc4x2::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& v) { const ifcopenshell::entity& Ifc4x2::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[909]); } -void Ifc4x2::IfcRoundedRectangleProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x2::IfcRoundedRectangleProfileDef Ifc4x2::IfcRoundedRectangleProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x2::IfcSIPrefix::Value > Ifc4x2::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -13194,7 +13194,7 @@ void Ifc4x2::IfcSIUnit::setName(const ::Ifc4x2::IfcSIUnitName::Value& v) { set_a const ifcopenshell::entity& Ifc4x2::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[943]); } -void Ifc4x2::IfcSIUnit::initialize(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x2::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x2::IfcSIUnit Ifc4x2::IfcSIUnit::initialize(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x2::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x2::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -13202,7 +13202,7 @@ void Ifc4x2::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[910]); } -void Ifc4x2::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSanitaryTerminal Ifc4x2::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value Ifc4x2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -13210,7 +13210,7 @@ void Ifc4x2::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x2::IfcSanit const ifcopenshell::entity& Ifc4x2::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[911]); } -void Ifc4x2::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcSanitaryTerminalType Ifc4x2::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x2::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13222,13 +13222,13 @@ void Ifc4x2::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional< st const ifcopenshell::entity& Ifc4x2::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[913]); } -void Ifc4x2::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x2::IfcSchedulingTime Ifc4x2::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x2::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[914]); } -void Ifc4x2::IfcSeamCurve::initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x2::IfcSeamCurve Ifc4x2::IfcSeamCurve::initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x2::IfcSectionTypeEnum::Value Ifc4x2::IfcSectionProperties::SectionType() const { return ::Ifc4x2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -13240,7 +13240,7 @@ void Ifc4x2::IfcSectionProperties::setEndProfile(const ::Ifc4x2::IfcProfileDef& const ifcopenshell::entity& Ifc4x2::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[920]); } -void Ifc4x2::IfcSectionProperties::initialize(::Ifc4x2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x2::IfcProfileDef v2_StartProfile, ::Ifc4x2::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x2::IfcSectionProperties Ifc4x2::IfcSectionProperties::initialize(::Ifc4x2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x2::IfcProfileDef v2_StartProfile, ::Ifc4x2::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -13258,7 +13258,7 @@ void Ifc4x2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefi const ifcopenshell::entity& Ifc4x2::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[921]); } -void Ifc4x2::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x2::IfcSectionReinforcementProperties Ifc4x2::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x2::IfcCurve Ifc4x2::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -13268,7 +13268,7 @@ void Ifc4x2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[916]); } -void Ifc4x2::IfcSectionedSolid::initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x2::IfcSectionedSolid Ifc4x2::IfcSectionedSolid::initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x2::IfcDistanceExpression > Ifc4x2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x2::IfcDistanceExpression>(es); } @@ -13278,7 +13278,7 @@ void Ifc4x2::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v) { const ifcopenshell::entity& Ifc4x2::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[917]); } -void Ifc4x2::IfcSectionedSolidHorizontal::initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x2::IfcSectionedSolidHorizontal Ifc4x2::IfcSectionedSolidHorizontal::initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x2::IfcCompositeCurve Ifc4x2::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCompositeCurve>(); } @@ -13290,7 +13290,7 @@ void Ifc4x2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::If const ifcopenshell::entity& Ifc4x2::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X2_types[918]); } -void Ifc4x2::IfcSectionedSpine::initialize(::Ifc4x2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x2::IfcSectionedSpine Ifc4x2::IfcSectionedSpine::initialize(::Ifc4x2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > Ifc4x2::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -13298,7 +13298,7 @@ void Ifc4x2::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x2::IfcSens const ifcopenshell::entity& Ifc4x2::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[924]); } -void Ifc4x2::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSensor Ifc4x2::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x2::IfcSensorTypeEnum::Value Ifc4x2::IfcSensorType::PredefinedType() const { return ::Ifc4x2::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -13306,7 +13306,7 @@ void Ifc4x2::IfcSensorType::setPredefinedType(const ::Ifc4x2::IfcSensorTypeEnum: const ifcopenshell::entity& Ifc4x2::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[925]); } -void Ifc4x2::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcSensorType Ifc4x2::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > Ifc4x2::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13314,7 +13314,7 @@ void Ifc4x2::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[928]); } -void Ifc4x2::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcShadingDevice Ifc4x2::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x2::IfcShadingDeviceTypeEnum::Value Ifc4x2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13322,7 +13322,7 @@ void Ifc4x2::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x2::IfcShadingD const ifcopenshell::entity& Ifc4x2::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[929]); } -void Ifc4x2::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcShadingDeviceType Ifc4x2::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x2::IfcShapeModel > Ifc4x2::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcShapeModel>(es); } @@ -13339,20 +13339,20 @@ void Ifc4x2::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x2::Ifc std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X2_types[931]); } -void Ifc4x2::IfcShapeAspect::initialize(std::vector< ::Ifc4x2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x2::IfcShapeAspect Ifc4x2::IfcShapeAspect::initialize(std::vector< ::Ifc4x2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x2::IfcShapeAspect> Ifc4x2::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[931], 0)); } const ifcopenshell::entity& Ifc4x2::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[932]); } -void Ifc4x2::IfcShapeModel::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x2::IfcShapeModel Ifc4x2::IfcShapeModel::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x2::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[933]); } -void Ifc4x2::IfcShapeRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x2::IfcShapeRepresentation Ifc4x2::IfcShapeRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x2::IfcShell > Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcShell>(es); } @@ -13360,13 +13360,13 @@ void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x2::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[936]); } -void Ifc4x2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x2::IfcShellBasedSurfaceModel Ifc4x2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x2::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X2_types[937]); } -void Ifc4x2::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x2::IfcSimpleProperty Ifc4x2::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13388,7 +13388,7 @@ void Ifc4x2::IfcSimplePropertyTemplate::setAccessState(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[938]); } -void Ifc4x2::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x2::IfcUnit v9_PrimaryUnit, ::Ifc4x2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x2::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x2::IfcSimplePropertyTemplate Ifc4x2::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x2::IfcUnit v9_PrimaryUnit, ::Ifc4x2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x2::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -13404,7 +13404,7 @@ void Ifc4x2::IfcSite::setSiteAddress(const ::Ifc4x2::IfcPostalAddress& v) { set_ const ifcopenshell::entity& Ifc4x2::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X2_types[942]); } -void Ifc4x2::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x2::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x2::IfcSite Ifc4x2::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x2::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > Ifc4x2::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -13412,19 +13412,19 @@ void Ifc4x2::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x2::IfcSlabTy const ifcopenshell::entity& Ifc4x2::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X2_types[946]); } -void Ifc4x2::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSlab Ifc4x2::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4x2::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[947]); } -void Ifc4x2::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSlabElementedCase Ifc4x2::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4x2::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[948]); } -void Ifc4x2::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSlabStandardCase Ifc4x2::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x2::IfcSlabTypeEnum::Value Ifc4x2::IfcSlabType::PredefinedType() const { return ::Ifc4x2::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -13432,7 +13432,7 @@ void Ifc4x2::IfcSlabType::setPredefinedType(const ::Ifc4x2::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[949]); } -void Ifc4x2::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcSlabType Ifc4x2::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13444,7 +13444,7 @@ void Ifc4x2::IfcSlippageConnectionCondition::setSlippageZ(const std::optional< d const ifcopenshell::entity& Ifc4x2::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[951]); } -void Ifc4x2::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x2::IfcSlippageConnectionCondition Ifc4x2::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > Ifc4x2::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13452,7 +13452,7 @@ void Ifc4x2::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[952]); } -void Ifc4x2::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSolarDevice Ifc4x2::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x2::IfcSolarDeviceTypeEnum::Value Ifc4x2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13460,13 +13460,13 @@ void Ifc4x2::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x2::IfcSolarDevic const ifcopenshell::entity& Ifc4x2::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[953]); } -void Ifc4x2::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcSolarDeviceType Ifc4x2::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x2::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[956]); } -void Ifc4x2::IfcSolidModel::initialize() { } +Ifc4x2::IfcSolidModel Ifc4x2::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > Ifc4x2::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -13478,7 +13478,7 @@ std::vector<::Ifc4x2::IfcRelCoversSpaces> Ifc4x2::IfcSpace::HasCoverings() const std::vector<::Ifc4x2::IfcRelSpaceBoundary> Ifc4x2::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[880], 4)); } const ifcopenshell::entity& Ifc4x2::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X2_types[962]); } -void Ifc4x2::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x2::IfcSpace Ifc4x2::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > Ifc4x2::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -13486,7 +13486,7 @@ void Ifc4x2::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X2_types[964]); } -void Ifc4x2::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSpaceHeater Ifc4x2::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value Ifc4x2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -13494,7 +13494,7 @@ void Ifc4x2::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x2::IfcSpaceHeate const ifcopenshell::entity& Ifc4x2::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[965]); } -void Ifc4x2::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcSpaceHeaterType Ifc4x2::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x2::IfcSpaceTypeEnum::Value Ifc4x2::IfcSpaceType::PredefinedType() const { return ::Ifc4x2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -13504,7 +13504,7 @@ void Ifc4x2::IfcSpaceType::setLongName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x2::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[967]); } -void Ifc4x2::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x2::IfcSpaceType Ifc4x2::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x2::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -13515,7 +13515,7 @@ std::vector<::Ifc4x2::IfcRelServicesBuildings> Ifc4x2::IfcSpatialElement::Servic std::vector<::Ifc4x2::IfcRelReferencedInSpatialStructure> Ifc4x2::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[877], 5)); } const ifcopenshell::entity& Ifc4x2::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[969]); } -void Ifc4x2::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x2::IfcSpatialElement Ifc4x2::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x2::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13523,7 +13523,7 @@ void Ifc4x2::IfcSpatialElementType::setElementType(const std::optional< std::str const ifcopenshell::entity& Ifc4x2::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[970]); } -void Ifc4x2::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcSpatialElementType Ifc4x2::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > Ifc4x2::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -13531,13 +13531,13 @@ void Ifc4x2::IfcSpatialStructureElement::setCompositionType(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[971]); } -void Ifc4x2::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x2::IfcSpatialStructureElement Ifc4x2::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x2::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[972]); } -void Ifc4x2::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x2::IfcSpatialStructureElementType Ifc4x2::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > Ifc4x2::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -13545,7 +13545,7 @@ void Ifc4x2::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X2_types[973]); } -void Ifc4x2::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSpatialZone Ifc4x2::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x2::IfcSpatialZoneTypeEnum::Value Ifc4x2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -13555,7 +13555,7 @@ void Ifc4x2::IfcSpatialZoneType::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x2::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[974]); } -void Ifc4x2::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x2::IfcSpatialZoneType Ifc4x2::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x2::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -13563,7 +13563,7 @@ void Ifc4x2::IfcSphere::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc4x2::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X2_types[980]); } -void Ifc4x2::IfcSphere::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x2::IfcSphere Ifc4x2::IfcSphere::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x2::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -13571,7 +13571,7 @@ void Ifc4x2::IfcSphericalSurface::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x2::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[981]); } -void Ifc4x2::IfcSphericalSurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x2::IfcSphericalSurface Ifc4x2::IfcSphericalSurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > Ifc4x2::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -13579,7 +13579,7 @@ void Ifc4x2::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[982]); } -void Ifc4x2::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcStackTerminal Ifc4x2::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x2::IfcStackTerminalTypeEnum::Value Ifc4x2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -13587,7 +13587,7 @@ void Ifc4x2::IfcStackTerminalType::setPredefinedType(const ::Ifc4x2::IfcStackTer const ifcopenshell::entity& Ifc4x2::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[983]); } -void Ifc4x2::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcStackTerminalType Ifc4x2::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x2::IfcStairTypeEnum::Value > Ifc4x2::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -13595,7 +13595,7 @@ void Ifc4x2::IfcStair::setPredefinedType(const std::optional< ::Ifc4x2::IfcStair const ifcopenshell::entity& Ifc4x2::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X2_types[985]); } -void Ifc4x2::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcStair Ifc4x2::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x2::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -13611,7 +13611,7 @@ void Ifc4x2::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X2_types[986]); } -void Ifc4x2::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x2::IfcStairFlight Ifc4x2::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x2::IfcStairFlightTypeEnum::Value Ifc4x2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x2::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13619,7 +13619,7 @@ void Ifc4x2::IfcStairFlightType::setPredefinedType(const ::Ifc4x2::IfcStairFligh const ifcopenshell::entity& Ifc4x2::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[987]); } -void Ifc4x2::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcStairFlightType Ifc4x2::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x2::IfcStairTypeEnum::Value Ifc4x2::IfcStairType::PredefinedType() const { return ::Ifc4x2::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -13627,7 +13627,7 @@ void Ifc4x2::IfcStairType::setPredefinedType(const ::Ifc4x2::IfcStairTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[989]); } -void Ifc4x2::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcStairType Ifc4x2::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x2::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -13635,7 +13635,7 @@ void Ifc4x2::IfcStructuralAction::setDestabilizingLoad(const std::optional< bool const ifcopenshell::entity& Ifc4x2::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[992]); } -void Ifc4x2::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x2::IfcStructuralAction Ifc4x2::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x2::IfcStructuralLoad Ifc4x2::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcStructuralLoad>(); } @@ -13646,7 +13646,7 @@ void Ifc4x2::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x2::IfcGlobalOr std::vector<::Ifc4x2::IfcRelConnectsStructuralActivity> Ifc4x2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[857], 5)); } const ifcopenshell::entity& Ifc4x2::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X2_types[993]); } -void Ifc4x2::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x2::IfcStructuralActivity Ifc4x2::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -13662,7 +13662,7 @@ void Ifc4x2::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x2::IfcO const ifcopenshell::entity& Ifc4x2::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[995]); } -void Ifc4x2::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x2::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x2::IfcStructuralAnalysisModel Ifc4x2::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x2::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x2::IfcBoundaryCondition Ifc4x2::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x2::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x2::IfcBoundaryCondition>(); } @@ -13671,7 +13671,7 @@ void Ifc4x2::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x2::IfcBou std::vector<::Ifc4x2::IfcRelConnectsStructuralMember> Ifc4x2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[858], 5)); } const ifcopenshell::entity& Ifc4x2::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[996]); } -void Ifc4x2::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x2::IfcStructuralConnection Ifc4x2::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x2::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13679,7 +13679,7 @@ void Ifc4x2::IfcStructuralConnectionCondition::setName(const std::optional< std: const ifcopenshell::entity& Ifc4x2::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X2_types[997]); } -void Ifc4x2::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcStructuralConnectionCondition Ifc4x2::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -13689,7 +13689,7 @@ void Ifc4x2::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x2::IfcStru const ifcopenshell::entity& Ifc4x2::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[998]); } -void Ifc4x2::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcStructuralCurveAction Ifc4x2::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x2::IfcDirection Ifc4x2::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcDirection>(); } @@ -13697,7 +13697,7 @@ void Ifc4x2::IfcStructuralCurveConnection::setAxis(const ::Ifc4x2::IfcDirection& const ifcopenshell::entity& Ifc4x2::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1000]); } -void Ifc4x2::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4x2::IfcStructuralCurveConnection Ifc4x2::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -13707,13 +13707,13 @@ void Ifc4x2::IfcStructuralCurveMember::setAxis(const ::Ifc4x2::IfcDirection& v) const ifcopenshell::entity& Ifc4x2::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1001]); } -void Ifc4x2::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x2::IfcStructuralCurveMember Ifc4x2::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x2::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1003]); } -void Ifc4x2::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x2::IfcStructuralCurveMemberVarying Ifc4x2::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -13721,20 +13721,20 @@ void Ifc4x2::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x2::IfcSt const ifcopenshell::entity& Ifc4x2::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1004]); } -void Ifc4x2::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcStructuralCurveReaction Ifc4x2::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x2::IfcRelConnectsStructuralActivity> Ifc4x2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[857], 4)); } const ifcopenshell::entity& Ifc4x2::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1005]); } -void Ifc4x2::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x2::IfcStructuralItem Ifc4x2::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x2::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1006]); } -void Ifc4x2::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcStructuralLinearAction Ifc4x2::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x2::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13742,7 +13742,7 @@ void Ifc4x2::IfcStructuralLoad::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x2::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1007]); } -void Ifc4x2::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcStructuralLoad Ifc4x2::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -13750,7 +13750,7 @@ void Ifc4x2::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1008]); } -void Ifc4x2::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x2::IfcStructuralLoadCase Ifc4x2::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > Ifc4x2::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcStructuralLoadOrResult>(es); } @@ -13760,7 +13760,7 @@ void Ifc4x2::IfcStructuralLoadConfiguration::setLocations(const std::optional< s const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1009]); } -void Ifc4x2::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x2::IfcStructuralLoadConfiguration Ifc4x2::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x2::IfcLoadGroupTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x2::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -13778,7 +13778,7 @@ std::vector<::Ifc4x2::IfcStructuralResultGroup> Ifc4x2::IfcStructuralLoadGroup:: std::vector<::Ifc4x2::IfcStructuralAnalysisModel> Ifc4x2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[995], 7)); } const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1010]); } -void Ifc4x2::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x2::IfcStructuralLoadGroup Ifc4x2::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13796,13 +13796,13 @@ void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1011]); } -void Ifc4x2::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x2::IfcStructuralLoadLinearForce Ifc4x2::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1012]); } -void Ifc4x2::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcStructuralLoadOrResult Ifc4x2::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13814,7 +13814,7 @@ void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1013]); } -void Ifc4x2::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x2::IfcStructuralLoadPlanarForce Ifc4x2::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13832,7 +13832,7 @@ void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(co const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1014]); } -void Ifc4x2::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x2::IfcStructuralLoadSingleDisplacement Ifc4x2::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -13840,7 +13840,7 @@ void Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(const const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1015]); } -void Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13858,7 +13858,7 @@ void Ifc4x2::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< doubl const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1016]); } -void Ifc4x2::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x2::IfcStructuralLoadSingleForce Ifc4x2::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -13866,13 +13866,13 @@ void Ifc4x2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std::op const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1017]); } -void Ifc4x2::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x2::IfcStructuralLoadSingleForceWarping Ifc4x2::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1018]); } -void Ifc4x2::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x2::IfcStructuralLoadStatic Ifc4x2::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -13884,26 +13884,26 @@ void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< doubl const ifcopenshell::entity& Ifc4x2::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1019]); } -void Ifc4x2::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x2::IfcStructuralLoadTemperature Ifc4x2::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x2::IfcRelConnectsStructuralMember> Ifc4x2::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[858], 4)); } const ifcopenshell::entity& Ifc4x2::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1020]); } -void Ifc4x2::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x2::IfcStructuralMember Ifc4x2::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x2::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1021]); } -void Ifc4x2::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcStructuralPlanarAction Ifc4x2::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x2::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1022]); } -void Ifc4x2::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x2::IfcStructuralPointAction Ifc4x2::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x2::IfcAxis2Placement3D Ifc4x2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x2::IfcAxis2Placement3D>(); } @@ -13911,19 +13911,19 @@ void Ifc4x2::IfcStructuralPointConnection::setConditionCoordinateSystem(const :: const ifcopenshell::entity& Ifc4x2::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1023]); } -void Ifc4x2::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x2::IfcStructuralPointConnection Ifc4x2::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x2::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1024]); } -void Ifc4x2::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x2::IfcStructuralPointReaction Ifc4x2::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x2::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1025]); } -void Ifc4x2::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x2::IfcStructuralReaction Ifc4x2::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -13936,7 +13936,7 @@ void Ifc4x2::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribut std::vector<::Ifc4x2::IfcStructuralAnalysisModel> Ifc4x2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[995], 8)); } const ifcopenshell::entity& Ifc4x2::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1026]); } -void Ifc4x2::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x2::IfcStructuralResultGroup Ifc4x2::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -13946,13 +13946,13 @@ void Ifc4x2::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x2::IfcSt const ifcopenshell::entity& Ifc4x2::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1027]); } -void Ifc4x2::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcStructuralSurfaceAction Ifc4x2::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x2::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1029]); } -void Ifc4x2::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x2::IfcStructuralSurfaceConnection Ifc4x2::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -13962,13 +13962,13 @@ void Ifc4x2::IfcStructuralSurfaceMember::setThickness(const std::optional< doubl const ifcopenshell::entity& Ifc4x2::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1030]); } -void Ifc4x2::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x2::IfcStructuralSurfaceMember Ifc4x2::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x2::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1032]); } -void Ifc4x2::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x2::IfcStructuralSurfaceMemberVarying Ifc4x2::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -13976,13 +13976,13 @@ void Ifc4x2::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1033]); } -void Ifc4x2::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcStructuralSurfaceReaction Ifc4x2::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x2::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1037]); } -void Ifc4x2::IfcStyleModel::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x2::IfcStyleModel Ifc4x2::IfcStyleModel::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x2::IfcRepresentationItem Ifc4x2::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x2::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcRepresentationItem>(); } @@ -13994,13 +13994,13 @@ void Ifc4x2::IfcStyledItem::setName(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x2::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1035]); } -void Ifc4x2::IfcStyledItem::initialize(::Ifc4x2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x2::IfcStyledItem Ifc4x2::IfcStyledItem::initialize(::Ifc4x2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x2::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1036]); } -void Ifc4x2::IfcStyledRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x2::IfcStyledRepresentation Ifc4x2::IfcStyledRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > Ifc4x2::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -14008,7 +14008,7 @@ void Ifc4x2::IfcSubContractResource::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1038]); } -void Ifc4x2::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x2::IfcSubContractResource Ifc4x2::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x2::IfcSubContractResourceTypeEnum::Value Ifc4x2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -14016,7 +14016,7 @@ void Ifc4x2::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x2::IfcSu const ifcopenshell::entity& Ifc4x2::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1039]); } -void Ifc4x2::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x2::IfcSubContractResourceType Ifc4x2::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x2::IfcEdge Ifc4x2::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcEdge>(); } @@ -14024,13 +14024,13 @@ void Ifc4x2::IfcSubedge::setParentEdge(const ::Ifc4x2::IfcEdge& v) { set_attribu const ifcopenshell::entity& Ifc4x2::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1041]); } -void Ifc4x2::IfcSubedge::initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x2::IfcSubedge Ifc4x2::IfcSubedge::initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x2::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1042]); } -void Ifc4x2::IfcSurface::initialize() { } +Ifc4x2::IfcSurface Ifc4x2::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x2::IfcCurve Ifc4x2::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -14042,7 +14042,7 @@ void Ifc4x2::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x2::IfcPreferr const ifcopenshell::entity& Ifc4x2::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1043]); } -void Ifc4x2::IfcSurfaceCurve::initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x2::IfcSurfaceCurve Ifc4x2::IfcSurfaceCurve::initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x2::IfcCurve Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcCurve>(); } @@ -14056,7 +14056,7 @@ void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1044]); } -void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x2::IfcSurfaceCurveSweptAreaSolid Ifc4x2::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -14064,7 +14064,7 @@ void Ifc4x2::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1045]); } -void Ifc4x2::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSurfaceFeature Ifc4x2::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x2::IfcDirection Ifc4x2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcDirection>(); } @@ -14074,7 +14074,7 @@ void Ifc4x2::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1047]); } -void Ifc4x2::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x2::IfcSurfaceOfLinearExtrusion Ifc4x2::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x2::IfcAxis1Placement Ifc4x2::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcAxis1Placement>(); } @@ -14082,7 +14082,7 @@ void Ifc4x2::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x2::IfcAxis1Pla const ifcopenshell::entity& Ifc4x2::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1048]); } -void Ifc4x2::IfcSurfaceOfRevolution::initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x2::IfcSurfaceOfRevolution Ifc4x2::IfcSurfaceOfRevolution::initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -14094,7 +14094,7 @@ void Ifc4x2::IfcSurfaceReinforcementArea::setShearReinforcement(const std::optio const ifcopenshell::entity& Ifc4x2::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1050]); } -void Ifc4x2::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x2::IfcSurfaceReinforcementArea Ifc4x2::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceStyle::Side() const { return ::Ifc4x2::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -14104,7 +14104,7 @@ void Ifc4x2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x2::IfcSurfaceS const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1052]); } -void Ifc4x2::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x2::IfcSurfaceStyle Ifc4x2::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcColourRgb>(); } @@ -14118,7 +14118,7 @@ void Ifc4x2::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x2::IfcCo const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1054]); } -void Ifc4x2::IfcSurfaceStyleLighting::initialize(::Ifc4x2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x2::IfcColourRgb v3_TransmissionColour, ::Ifc4x2::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x2::IfcSurfaceStyleLighting Ifc4x2::IfcSurfaceStyleLighting::initialize(::Ifc4x2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x2::IfcColourRgb v3_TransmissionColour, ::Ifc4x2::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -14128,7 +14128,7 @@ void Ifc4x2::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1055]); } -void Ifc4x2::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x2::IfcSurfaceStyleRefraction Ifc4x2::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x2::IfcColourOrFactor Ifc4x2::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x2::IfcColourOrFactor>(); } @@ -14148,7 +14148,7 @@ void Ifc4x2::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x2::IfcR const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1056]); } -void Ifc4x2::IfcSurfaceStyleRendering::initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x2::IfcSurfaceStyleRendering Ifc4x2::IfcSurfaceStyleRendering::initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x2::IfcColourRgb Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcColourRgb>(); } @@ -14158,7 +14158,7 @@ void Ifc4x2::IfcSurfaceStyleShading::setTransparency(const std::optional< double const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1057]); } -void Ifc4x2::IfcSurfaceStyleShading::initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x2::IfcSurfaceStyleShading Ifc4x2::IfcSurfaceStyleShading::initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x2::IfcSurfaceTexture > Ifc4x2::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcSurfaceTexture>(es); } @@ -14166,7 +14166,7 @@ void Ifc4x2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1058]); } -void Ifc4x2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x2::IfcSurfaceStyleWithTextures Ifc4x2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x2::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -14184,7 +14184,7 @@ std::vector<::Ifc4x2::IfcTextureCoordinate> Ifc4x2::IfcSurfaceTexture::IsMappedB std::vector<::Ifc4x2::IfcSurfaceStyleWithTextures> Ifc4x2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[1058], 0)); } const ifcopenshell::entity& Ifc4x2::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1059]); } -void Ifc4x2::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x2::IfcSurfaceTexture Ifc4x2::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x2::IfcProfileDef Ifc4x2::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcProfileDef>(); } @@ -14194,7 +14194,7 @@ void Ifc4x2::IfcSweptAreaSolid::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4x2::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1060]); } -void Ifc4x2::IfcSweptAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x2::IfcSweptAreaSolid Ifc4x2::IfcSweptAreaSolid::initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x2::IfcCurve Ifc4x2::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -14210,7 +14210,7 @@ void Ifc4x2::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x2::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1061]); } -void Ifc4x2::IfcSweptDiskSolid::initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x2::IfcSweptDiskSolid Ifc4x2::IfcSweptDiskSolid::initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -14218,7 +14218,7 @@ void Ifc4x2::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional< do const ifcopenshell::entity& Ifc4x2::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1062]); } -void Ifc4x2::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x2::IfcSweptDiskSolidPolygonal Ifc4x2::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x2::IfcProfileDef Ifc4x2::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcProfileDef>(); } @@ -14228,7 +14228,7 @@ void Ifc4x2::IfcSweptSurface::setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v const ifcopenshell::entity& Ifc4x2::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1063]); } -void Ifc4x2::IfcSweptSurface::initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x2::IfcSweptSurface Ifc4x2::IfcSweptSurface::initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x2::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14236,7 +14236,7 @@ void Ifc4x2::IfcSwitchingDevice::setPredefinedType(const std::optional< ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1064]); } -void Ifc4x2::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSwitchingDevice Ifc4x2::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value Ifc4x2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14244,14 +14244,14 @@ void Ifc4x2::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x2::IfcSwitch const ifcopenshell::entity& Ifc4x2::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1065]); } -void Ifc4x2::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcSwitchingDeviceType Ifc4x2::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem std::vector<::Ifc4x2::IfcRelServicesBuildings> Ifc4x2::IfcSystem::ServicesBuildings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[879], 4)); } const ifcopenshell::entity& Ifc4x2::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1067]); } -void Ifc4x2::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x2::IfcSystem Ifc4x2::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14259,7 +14259,7 @@ void Ifc4x2::IfcSystemFurnitureElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x2::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1068]); } -void Ifc4x2::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcSystemFurnitureElement Ifc4x2::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14267,7 +14267,7 @@ void Ifc4x2::IfcSystemFurnitureElementType::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x2::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1069]); } -void Ifc4x2::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x2::IfcSystemFurnitureElementType Ifc4x2::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x2::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14291,7 +14291,7 @@ void Ifc4x2::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x2::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1149]); } -void Ifc4x2::IfcTShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x2::IfcTShapeProfileDef Ifc4x2::IfcTShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x2::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14303,7 +14303,7 @@ void Ifc4x2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1071]); } -void Ifc4x2::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x2::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x2::IfcTable Ifc4x2::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x2::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x2::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14319,7 +14319,7 @@ void Ifc4x2::IfcTableColumn::setReferencePath(const ::Ifc4x2::IfcReference& v) { const ifcopenshell::entity& Ifc4x2::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1072]); } -void Ifc4x2::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit v4_Unit, ::Ifc4x2::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x2::IfcTableColumn Ifc4x2::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit v4_Unit, ::Ifc4x2::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x2::IfcValue > > Ifc4x2::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcValue>(es); } @@ -14329,7 +14329,7 @@ void Ifc4x2::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) const ifcopenshell::entity& Ifc4x2::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1073]); } -void Ifc4x2::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x2::IfcTableRow Ifc4x2::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x2::IfcTankTypeEnum::Value > Ifc4x2::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -14337,7 +14337,7 @@ void Ifc4x2::IfcTank::setPredefinedType(const std::optional< ::Ifc4x2::IfcTankTy const ifcopenshell::entity& Ifc4x2::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1074]); } -void Ifc4x2::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcTank Ifc4x2::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x2::IfcTankTypeEnum::Value Ifc4x2::IfcTankType::PredefinedType() const { return ::Ifc4x2::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -14345,7 +14345,7 @@ void Ifc4x2::IfcTankType::setPredefinedType(const ::Ifc4x2::IfcTankTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1075]); } -void Ifc4x2::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTankType Ifc4x2::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x2::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14363,7 +14363,7 @@ void Ifc4x2::IfcTask::setPredefinedType(const std::optional< ::Ifc4x2::IfcTaskTy const ifcopenshell::entity& Ifc4x2::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1077]); } -void Ifc4x2::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x2::IfcTask Ifc4x2::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > Ifc4x2::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -14403,7 +14403,7 @@ void Ifc4x2::IfcTaskTime::setCompletion(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc4x2::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1079]); } -void Ifc4x2::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x2::IfcTaskTime Ifc4x2::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x2::IfcRecurrencePattern Ifc4x2::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x2::IfcRecurrencePattern>(); } @@ -14411,7 +14411,7 @@ void Ifc4x2::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x2::IfcRecurrencePa const ifcopenshell::entity& Ifc4x2::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1080]); } -void Ifc4x2::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x2::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x2::IfcTaskTimeRecurring Ifc4x2::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x2::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x2::IfcTaskTypeEnum::Value Ifc4x2::IfcTaskType::PredefinedType() const { return ::Ifc4x2::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -14421,7 +14421,7 @@ void Ifc4x2::IfcTaskType::setWorkMethod(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x2::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1081]); } -void Ifc4x2::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x2::IfcTaskType Ifc4x2::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -14439,7 +14439,7 @@ void Ifc4x2::IfcTelecomAddress::setMessagingIDs(const std::optional< std::vector const ifcopenshell::entity& Ifc4x2::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1083]); } -void Ifc4x2::IfcTelecomAddress::initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x2::IfcTelecomAddress Ifc4x2::IfcTelecomAddress::initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > Ifc4x2::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -14461,7 +14461,7 @@ void Ifc4x2::IfcTendon::setMinCurvatureRadius(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x2::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1086]); } -void Ifc4x2::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x2::IfcTendon Ifc4x2::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > Ifc4x2::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -14469,7 +14469,7 @@ void Ifc4x2::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1087]); } -void Ifc4x2::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x2::IfcTendonAnchor Ifc4x2::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x2::IfcTendonAnchorTypeEnum::Value Ifc4x2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -14477,7 +14477,7 @@ void Ifc4x2::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x2::IfcTendonAnc const ifcopenshell::entity& Ifc4x2::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1088]); } -void Ifc4x2::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTendonAnchorType Ifc4x2::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduit::PredefinedType() const { return ::Ifc4x2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -14485,7 +14485,7 @@ void Ifc4x2::IfcTendonConduit::setPredefinedType(const ::Ifc4x2::IfcTendonCondui const ifcopenshell::entity& Ifc4x2::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1090]); } -void Ifc4x2::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTendonConduit Ifc4x2::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -14493,7 +14493,7 @@ void Ifc4x2::IfcTendonConduitType::setPredefinedType(const ::Ifc4x2::IfcTendonCo const ifcopenshell::entity& Ifc4x2::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1091]); } -void Ifc4x2::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTendonConduitType Ifc4x2::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x2::IfcTendonTypeEnum::Value Ifc4x2::IfcTendonType::PredefinedType() const { return ::Ifc4x2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -14507,7 +14507,7 @@ void Ifc4x2::IfcTendonType::setSheathDiameter(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x2::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1093]); } -void Ifc4x2::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x2::IfcTendonType Ifc4x2::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x2::IfcCartesianPointList3D Ifc4x2::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCartesianPointList3D>(); } @@ -14517,13 +14517,13 @@ std::vector<::Ifc4x2::IfcIndexedColourMap> Ifc4x2::IfcTessellatedFaceSet::HasCol std::vector<::Ifc4x2::IfcIndexedTextureMap> Ifc4x2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[512], 1)); } const ifcopenshell::entity& Ifc4x2::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1095]); } -void Ifc4x2::IfcTessellatedFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x2::IfcTessellatedFaceSet Ifc4x2::IfcTessellatedFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x2::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1096]); } -void Ifc4x2::IfcTessellatedItem::initialize() { } +Ifc4x2::IfcTessellatedItem Ifc4x2::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -14535,7 +14535,7 @@ void Ifc4x2::IfcTextLiteral::setPath(const ::Ifc4x2::IfcTextPath::Value& v) { se const ifcopenshell::entity& Ifc4x2::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1102]); } -void Ifc4x2::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x2::IfcTextLiteral Ifc4x2::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x2::IfcPlanarExtent Ifc4x2::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcPlanarExtent>(); } @@ -14545,7 +14545,7 @@ void Ifc4x2::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { s const ifcopenshell::entity& Ifc4x2::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1103]); } -void Ifc4x2::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x2::IfcTextLiteralWithExtent Ifc4x2::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x2::IfcTextStyleForDefinedFont Ifc4x2::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x2::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x2::IfcTextStyleForDefinedFont>(); } @@ -14559,7 +14559,7 @@ void Ifc4x2::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4x2::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1105]); } -void Ifc4x2::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x2::IfcTextStyle Ifc4x2::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -14575,7 +14575,7 @@ void Ifc4x2::IfcTextStyleFontModel::setFontSize(const ::Ifc4x2::IfcSizeSelect& v const ifcopenshell::entity& Ifc4x2::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1106]); } -void Ifc4x2::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x2::IfcTextStyleFontModel Ifc4x2::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x2::IfcColour Ifc4x2::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcColour>(); } @@ -14585,7 +14585,7 @@ void Ifc4x2::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1107]); } -void Ifc4x2::IfcTextStyleForDefinedFont::initialize(::Ifc4x2::IfcColour v1_Colour, ::Ifc4x2::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x2::IfcTextStyleForDefinedFont Ifc4x2::IfcTextStyleForDefinedFont::initialize(::Ifc4x2::IfcColour v1_Colour, ::Ifc4x2::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x2::IfcSizeSelect Ifc4x2::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcSizeSelect>(); } @@ -14605,7 +14605,7 @@ void Ifc4x2::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x2::IfcSizeSelect& const ifcopenshell::entity& Ifc4x2::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1108]); } -void Ifc4x2::IfcTextStyleTextModel::initialize(::Ifc4x2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x2::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x2::IfcTextStyleTextModel Ifc4x2::IfcTextStyleTextModel::initialize(::Ifc4x2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x2::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x2::IfcSurfaceTexture > Ifc4x2::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcSurfaceTexture>(es); } @@ -14613,7 +14613,7 @@ void Ifc4x2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x2::IfcSurfa const ifcopenshell::entity& Ifc4x2::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1110]); } -void Ifc4x2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x2::IfcTextureCoordinate Ifc4x2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x2::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -14623,7 +14623,7 @@ void Ifc4x2::IfcTextureCoordinateGenerator::setParameter(const std::optional< st const ifcopenshell::entity& Ifc4x2::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1111]); } -void Ifc4x2::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x2::IfcTextureCoordinateGenerator Ifc4x2::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x2::IfcTextureVertex > Ifc4x2::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x2::IfcTextureVertex>(es); } @@ -14633,7 +14633,7 @@ void Ifc4x2::IfcTextureMap::setMappedTo(const ::Ifc4x2::IfcFace& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1112]); } -void Ifc4x2::IfcTextureMap::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x2::IfcTextureVertex > v2_Vertices, ::Ifc4x2::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x2::IfcTextureMap Ifc4x2::IfcTextureMap::initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x2::IfcTextureVertex > v2_Vertices, ::Ifc4x2::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -14641,7 +14641,7 @@ void Ifc4x2::IfcTextureVertex::setCoordinates(const std::vector< double > /*[2:2 const ifcopenshell::entity& Ifc4x2::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1113]); } -void Ifc4x2::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x2::IfcTextureVertex Ifc4x2::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -14649,7 +14649,7 @@ void Ifc4x2::IfcTextureVertexList::setTexCoordsList(const std::vector< std::vect const ifcopenshell::entity& Ifc4x2::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1114]); } -void Ifc4x2::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x2::IfcTextureVertexList Ifc4x2::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x2::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -14659,7 +14659,7 @@ void Ifc4x2::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute_val const ifcopenshell::entity& Ifc4x2::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1124]); } -void Ifc4x2::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x2::IfcTimePeriod Ifc4x2::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x2::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -14682,7 +14682,7 @@ void Ifc4x2::IfcTimeSeries::setUnit(const ::Ifc4x2::IfcUnit& v) { set_attribute_ std::vector<::Ifc4x2::IfcExternalReferenceRelationship> Ifc4x2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[407], 3)); } const ifcopenshell::entity& Ifc4x2::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1125]); } -void Ifc4x2::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x2::IfcTimeSeries Ifc4x2::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x2::IfcValue > Ifc4x2::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcValue>(es); } @@ -14690,19 +14690,19 @@ void Ifc4x2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x2::IfcV const ifcopenshell::entity& Ifc4x2::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1127]); } -void Ifc4x2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x2::IfcTimeSeriesValue Ifc4x2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x2::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1129]); } -void Ifc4x2::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x2::IfcTopologicalRepresentationItem Ifc4x2::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x2::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1130]); } -void Ifc4x2::IfcTopologyRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x2::IfcTopologyRepresentation Ifc4x2::IfcTopologyRepresentation::initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x2::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -14712,7 +14712,7 @@ void Ifc4x2::IfcToroidalSurface::setMinorRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x2::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1131]); } -void Ifc4x2::IfcToroidalSurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x2::IfcToroidalSurface Ifc4x2::IfcToroidalSurface::initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > Ifc4x2::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -14720,7 +14720,7 @@ void Ifc4x2::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x2::If const ifcopenshell::entity& Ifc4x2::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1133]); } -void Ifc4x2::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcTransformer Ifc4x2::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x2::IfcTransformerTypeEnum::Value Ifc4x2::IfcTransformerType::PredefinedType() const { return ::Ifc4x2::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -14728,7 +14728,7 @@ void Ifc4x2::IfcTransformerType::setPredefinedType(const ::Ifc4x2::IfcTransforme const ifcopenshell::entity& Ifc4x2::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1134]); } -void Ifc4x2::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTransformerType Ifc4x2::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransitionCurveSegment2D std::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } @@ -14744,7 +14744,7 @@ void Ifc4x2::IfcTransitionCurveSegment2D::setTransitionCurveType(const ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcTransitionCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1137]); } -void Ifc4x2::IfcTransitionCurveSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x2::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType))); } +Ifc4x2::IfcTransitionCurveSegment2D Ifc4x2::IfcTransitionCurveSegment2D::initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x2::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > Ifc4x2::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14752,7 +14752,7 @@ void Ifc4x2::IfcTransportElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1140]); } -void Ifc4x2::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcTransportElement Ifc4x2::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x2::IfcTransportElementTypeEnum::Value Ifc4x2::IfcTransportElementType::PredefinedType() const { return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14760,7 +14760,7 @@ void Ifc4x2::IfcTransportElementType::setPredefinedType(const ::Ifc4x2::IfcTrans const ifcopenshell::entity& Ifc4x2::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1141]); } -void Ifc4x2::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTransportElementType Ifc4x2::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x2::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -14774,7 +14774,7 @@ void Ifc4x2::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x2::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1143]); } -void Ifc4x2::IfcTrapeziumProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x2::IfcTrapeziumProfileDef Ifc4x2::IfcTrapeziumProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x2::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -14788,7 +14788,7 @@ void Ifc4x2::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::vector const ifcopenshell::entity& Ifc4x2::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1144]); } -void Ifc4x2::IfcTriangulatedFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x2::IfcTriangulatedFaceSet Ifc4x2::IfcTriangulatedFaceSet::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -14796,7 +14796,7 @@ void Ifc4x2::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< int > const ifcopenshell::entity& Ifc4x2::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1145]); } -void Ifc4x2::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x2::IfcTriangulatedIrregularNetwork Ifc4x2::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x2::IfcCurve Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcCurve>(); } @@ -14812,7 +14812,7 @@ void Ifc4x2::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x2::IfcTrimmin const ifcopenshell::entity& Ifc4x2::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1146]); } -void Ifc4x2::IfcTrimmedCurve::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x2::IfcTrimmedCurve Ifc4x2::IfcTrimmedCurve::initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > Ifc4x2::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -14820,7 +14820,7 @@ void Ifc4x2::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1150]); } -void Ifc4x2::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcTubeBundle Ifc4x2::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x2::IfcTubeBundleTypeEnum::Value Ifc4x2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -14828,7 +14828,7 @@ void Ifc4x2::IfcTubeBundleType::setPredefinedType(const ::Ifc4x2::IfcTubeBundleT const ifcopenshell::entity& Ifc4x2::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1151]); } -void Ifc4x2::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcTubeBundleType Ifc4x2::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x2::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -14839,7 +14839,7 @@ void Ifc4x2::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< std::vector<::Ifc4x2::IfcRelDefinesByType> Ifc4x2::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[870], 5)); } const ifcopenshell::entity& Ifc4x2::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1153]); } -void Ifc4x2::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x2::IfcTypeObject Ifc4x2::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x2::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -14852,7 +14852,7 @@ void Ifc4x2::IfcTypeProcess::setProcessType(const std::optional< std::string >& std::vector<::Ifc4x2::IfcRelAssignsToProcess> Ifc4x2::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[841], 6)); } const ifcopenshell::entity& Ifc4x2::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1154]); } -void Ifc4x2::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x2::IfcTypeProcess Ifc4x2::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > Ifc4x2::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcRepresentationMap>(es); } @@ -14863,7 +14863,7 @@ void Ifc4x2::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if std::vector<::Ifc4x2::IfcRelAssignsToProduct> Ifc4x2::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[842], 6)); } const ifcopenshell::entity& Ifc4x2::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1155]); } -void Ifc4x2::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcTypeProduct Ifc4x2::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x2::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -14876,7 +14876,7 @@ void Ifc4x2::IfcTypeResource::setResourceType(const std::optional< std::string > std::vector<::Ifc4x2::IfcRelAssignsToResource> Ifc4x2::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X2_types[843], 6)); } const ifcopenshell::entity& Ifc4x2::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1156]); } -void Ifc4x2::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x2::IfcTypeResource Ifc4x2::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x2::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -14896,7 +14896,7 @@ void Ifc4x2::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x2::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1167]); } -void Ifc4x2::IfcUShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x2::IfcUShapeProfileDef Ifc4x2::IfcUShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x2::IfcUnit > Ifc4x2::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcUnit>(es); } @@ -14904,7 +14904,7 @@ void Ifc4x2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x2::IfcUnit >& const ifcopenshell::entity& Ifc4x2::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1164]); } -void Ifc4x2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x2::IfcUnitAssignment Ifc4x2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x2::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -14912,7 +14912,7 @@ void Ifc4x2::IfcUnitaryControlElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x2::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1158]); } -void Ifc4x2::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcUnitaryControlElement Ifc4x2::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value Ifc4x2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -14920,7 +14920,7 @@ void Ifc4x2::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x2::Ifc const ifcopenshell::entity& Ifc4x2::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1159]); } -void Ifc4x2::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcUnitaryControlElementType Ifc4x2::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x2::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -14928,7 +14928,7 @@ void Ifc4x2::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x2::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1161]); } -void Ifc4x2::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcUnitaryEquipment Ifc4x2::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -14936,7 +14936,7 @@ void Ifc4x2::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x2::IfcUnita const ifcopenshell::entity& Ifc4x2::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1162]); } -void Ifc4x2::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcUnitaryEquipmentType Ifc4x2::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x2::IfcValveTypeEnum::Value > Ifc4x2::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -14944,7 +14944,7 @@ void Ifc4x2::IfcValve::setPredefinedType(const std::optional< ::Ifc4x2::IfcValve const ifcopenshell::entity& Ifc4x2::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1169]); } -void Ifc4x2::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcValve Ifc4x2::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x2::IfcValveTypeEnum::Value Ifc4x2::IfcValveType::PredefinedType() const { return ::Ifc4x2::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -14952,7 +14952,7 @@ void Ifc4x2::IfcValveType::setPredefinedType(const ::Ifc4x2::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc4x2::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1170]); } -void Ifc4x2::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcValveType Ifc4x2::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x2::IfcDirection Ifc4x2::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcDirection>(); } @@ -14962,13 +14962,13 @@ void Ifc4x2::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v const ifcopenshell::entity& Ifc4x2::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1173]); } -void Ifc4x2::IfcVector::initialize(::Ifc4x2::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x2::IfcVector Ifc4x2::IfcVector::initialize(::Ifc4x2::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x2::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1175]); } -void Ifc4x2::IfcVertex::initialize() { } +Ifc4x2::IfcVertex Ifc4x2::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x2::IfcVertex Ifc4x2::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcVertex>(); } @@ -14976,7 +14976,7 @@ void Ifc4x2::IfcVertexLoop::setLoopVertex(const ::Ifc4x2::IfcVertex& v) { set_at const ifcopenshell::entity& Ifc4x2::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1176]); } -void Ifc4x2::IfcVertexLoop::initialize(::Ifc4x2::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x2::IfcVertexLoop Ifc4x2::IfcVertexLoop::initialize(::Ifc4x2::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x2::IfcPoint Ifc4x2::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x2::IfcPoint>(); } @@ -14984,7 +14984,7 @@ void Ifc4x2::IfcVertexPoint::setVertexGeometry(const ::Ifc4x2::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x2::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1177]); } -void Ifc4x2::IfcVertexPoint::initialize(::Ifc4x2::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x2::IfcVertexPoint Ifc4x2::IfcVertexPoint::initialize(::Ifc4x2::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -14992,7 +14992,7 @@ void Ifc4x2::IfcVibrationDamper::setPredefinedType(const std::optional< ::Ifc4x2 const ifcopenshell::entity& Ifc4x2::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1178]); } -void Ifc4x2::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcVibrationDamper Ifc4x2::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -15000,7 +15000,7 @@ void Ifc4x2::IfcVibrationDamperType::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x2::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1179]); } -void Ifc4x2::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x2::IfcVibrationDamperType Ifc4x2::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x2::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -15008,7 +15008,7 @@ void Ifc4x2::IfcVibrationIsolator::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x2::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1181]); } -void Ifc4x2::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcVibrationIsolator Ifc4x2::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value Ifc4x2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -15016,13 +15016,13 @@ void Ifc4x2::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x2::IfcVibr const ifcopenshell::entity& Ifc4x2::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1182]); } -void Ifc4x2::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcVibrationIsolatorType Ifc4x2::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4x2::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1184]); } -void Ifc4x2::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x2::IfcVirtualElement Ifc4x2::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x2::IfcGridAxis > Ifc4x2::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x2::IfcGridAxis>(es); } @@ -15032,7 +15032,7 @@ void Ifc4x2::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< d const ifcopenshell::entity& Ifc4x2::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1185]); } -void Ifc4x2::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x2::IfcVirtualGridIntersection Ifc4x2::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > Ifc4x2::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15040,7 +15040,7 @@ void Ifc4x2::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc4x2: const ifcopenshell::entity& Ifc4x2::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1186]); } -void Ifc4x2::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcVoidingFeature Ifc4x2::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > Ifc4x2::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -15048,19 +15048,19 @@ void Ifc4x2::IfcWall::setPredefinedType(const std::optional< ::Ifc4x2::IfcWallTy const ifcopenshell::entity& Ifc4x2::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1190]); } -void Ifc4x2::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcWall Ifc4x2::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4x2::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1191]); } -void Ifc4x2::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcWallElementedCase Ifc4x2::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x2::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1192]); } -void Ifc4x2::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcWallStandardCase Ifc4x2::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x2::IfcWallTypeEnum::Value Ifc4x2::IfcWallType::PredefinedType() const { return ::Ifc4x2::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -15068,7 +15068,7 @@ void Ifc4x2::IfcWallType::setPredefinedType(const ::Ifc4x2::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc4x2::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1193]); } -void Ifc4x2::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcWallType Ifc4x2::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > Ifc4x2::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -15076,7 +15076,7 @@ void Ifc4x2::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4x2:: const ifcopenshell::entity& Ifc4x2::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1198]); } -void Ifc4x2::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcWasteTerminal Ifc4x2::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x2::IfcWasteTerminalTypeEnum::Value Ifc4x2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -15084,7 +15084,7 @@ void Ifc4x2::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x2::IfcWasteTer const ifcopenshell::entity& Ifc4x2::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1199]); } -void Ifc4x2::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x2::IfcWasteTerminalType Ifc4x2::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x2::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -15100,7 +15100,7 @@ void Ifc4x2::IfcWindow::setUserDefinedPartitioningType(const std::optional< std: const ifcopenshell::entity& Ifc4x2::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1201]); } -void Ifc4x2::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x2::IfcWindow Ifc4x2::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -15130,7 +15130,7 @@ void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::optio const ifcopenshell::entity& Ifc4x2::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1202]); } -void Ifc4x2::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x2::IfcWindowLiningProperties Ifc4x2::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x2::IfcWindowPanelOperationEnum::Value Ifc4x2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x2::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -15146,13 +15146,13 @@ void Ifc4x2::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x2::IfcSh const ifcopenshell::entity& Ifc4x2::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1205]); } -void Ifc4x2::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x2::IfcWindowPanelProperties Ifc4x2::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4x2::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1206]); } -void Ifc4x2::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x2::IfcWindowStandardCase Ifc4x2::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4x2::IfcWindowStyleConstructionEnum::Value Ifc4x2::IfcWindowStyle::ConstructionType() const { return ::Ifc4x2::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -15166,7 +15166,7 @@ void Ifc4x2::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_value(11 const ifcopenshell::entity& Ifc4x2::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1207]); } -void Ifc4x2::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x2::IfcWindowStyle Ifc4x2::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4x2::IfcWindowTypeEnum::Value Ifc4x2::IfcWindowType::PredefinedType() const { return ::Ifc4x2::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -15180,7 +15180,7 @@ void Ifc4x2::IfcWindowType::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x2::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1210]); } -void Ifc4x2::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x2::IfcWindowType Ifc4x2::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > Ifc4x2::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x2::IfcWorkTime>(es); } @@ -15192,7 +15192,7 @@ void Ifc4x2::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1213]); } -void Ifc4x2::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x2::IfcWorkCalendar Ifc4x2::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x2::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -15212,7 +15212,7 @@ void Ifc4x2::IfcWorkControl::setFinishTime(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x2::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1215]); } -void Ifc4x2::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x2::IfcWorkControl Ifc4x2::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > Ifc4x2::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -15220,7 +15220,7 @@ void Ifc4x2::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x2::IfcWo const ifcopenshell::entity& Ifc4x2::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1216]); } -void Ifc4x2::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x2::IfcWorkPlan Ifc4x2::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > Ifc4x2::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x2::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -15228,7 +15228,7 @@ void Ifc4x2::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x2::I const ifcopenshell::entity& Ifc4x2::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1218]); } -void Ifc4x2::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x2::IfcWorkSchedule Ifc4x2::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x2::IfcRecurrencePattern Ifc4x2::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x2::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x2::IfcRecurrencePattern>(); } @@ -15240,7 +15240,7 @@ void Ifc4x2::IfcWorkTime::setFinish(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x2::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1220]); } -void Ifc4x2::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4x2::IfcWorkTime Ifc4x2::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x2::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15258,7 +15258,7 @@ void Ifc4x2::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double >& v const ifcopenshell::entity& Ifc4x2::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1222]); } -void Ifc4x2::IfcZShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x2::IfcZShapeProfileDef Ifc4x2::IfcZShapeProfileDef::initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x2::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -15266,5 +15266,5 @@ void Ifc4x2::IfcZone::setLongName(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x2::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X2_types[1221]); } -void Ifc4x2::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x2::IfcZone Ifc4x2::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x2.h b/src/ifcparse/schemas/Ifc4x2.h index 0323d1494f..c40dddc4a2 100644 --- a/src/ifcparse/schemas/Ifc4x2.h +++ b/src/ifcparse/schemas/Ifc4x2.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1118,8 +1105,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1142,8 +1128,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1168,8 +1153,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1261,8 +1245,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1702,8 +1685,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1727,8 +1709,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1775,8 +1756,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1808,8 +1788,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1830,8 +1809,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1856,8 +1834,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1885,8 +1862,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1926,8 +1902,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1971,8 +1946,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2005,8 +1979,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2162,8 +2135,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2874,8 +2846,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2896,8 +2867,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2918,8 +2888,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2940,8 +2909,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3008,8 +2976,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3035,8 +3002,7 @@ public: /// IFC2x4 CHANGE The select type has been deprecated. class IFC_PARSE_API IfcPresentationStyleSelect : public express::Select { public: - IfcPresentationStyleSelect() {} - explicit IfcPresentationStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3082,8 +3048,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3102,8 +3067,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3130,8 +3094,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3150,8 +3113,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3172,8 +3134,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3290,8 +3251,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3312,8 +3272,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3332,8 +3291,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3362,8 +3320,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3400,8 +3357,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3503,8 +3459,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3553,8 +3508,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3584,8 +3538,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3613,8 +3566,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3641,8 +3593,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3670,8 +3621,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcStyleAssignmentSelect : public express::Select { public: - IfcStyleAssignmentSelect() {} - explicit IfcStyleAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3698,8 +3648,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3732,8 +3681,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3776,8 +3724,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3797,8 +3744,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3819,8 +3765,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3843,8 +3788,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3875,8 +3819,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3910,8 +3853,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4591,8 +4533,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4613,8 +4554,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4643,16 +4583,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4662,16 +4601,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4683,16 +4621,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4713,16 +4650,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4738,16 +4674,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4763,16 +4698,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4790,16 +4724,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4820,16 +4753,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4848,31 +4780,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4883,16 +4813,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4904,16 +4833,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -4930,16 +4858,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -4956,16 +4883,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -4984,16 +4910,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5012,31 +4937,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5080,46 +5003,43 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_DIAPHRAGM, IfcBeamType_PIERCAP, IfcBeamType_HATSTONE, IfcBeamType_CORNICE, IfcBeamType_EDGEBEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { public: - IfcBearingTypeDisplacementEnum() {} - explicit IfcBearingTypeDisplacementEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeDisplacementEnum initialize(Value v); + IfcBearingTypeDisplacementEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_SPHERICAL, IfcBearingType_ELASTOMERIC, IfcBearingType_POT, IfcBearingType_GUIDE, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_DISK, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5164,16 +5084,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5187,16 +5106,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5210,46 +5128,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5262,16 +5177,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5287,16 +5201,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5315,16 +5228,15 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_REINFORCING, IfcBuildingSystemType_PRESTRESSING, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5336,16 +5248,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5360,16 +5271,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5384,16 +5294,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5409,16 +5318,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5435,31 +5343,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5475,16 +5381,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5499,16 +5404,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5523,16 +5427,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5559,16 +5462,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5587,16 +5489,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5617,16 +5518,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5639,16 +5539,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5675,16 +5574,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5702,16 +5600,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5736,16 +5633,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5767,16 +5663,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5795,16 +5690,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5824,16 +5718,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5846,16 +5739,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5874,16 +5766,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5907,16 +5798,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -5933,16 +5823,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -5953,16 +5842,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -5980,16 +5868,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6037,16 +5924,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_COPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6059,16 +5945,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6082,16 +5967,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6113,16 +5997,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6144,16 +6027,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6166,16 +6048,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6237,16 +6118,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6259,16 +6139,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6282,16 +6161,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6312,31 +6190,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6388,16 +6264,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6414,16 +6289,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6431,16 +6305,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6478,16 +6351,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6499,16 +6371,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6520,16 +6391,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6703,16 +6573,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6733,16 +6602,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -6927,16 +6795,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -6974,16 +6841,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -7003,16 +6869,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -7027,16 +6892,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7070,16 +6934,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7094,16 +6957,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7118,16 +6980,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7142,16 +7003,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7167,16 +7027,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7190,16 +7049,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7223,16 +7081,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7249,16 +7106,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7271,16 +7127,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7301,16 +7156,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7328,16 +7182,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7354,16 +7207,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7379,16 +7231,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7409,16 +7260,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7437,16 +7287,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7460,16 +7309,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7487,16 +7335,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7514,16 +7361,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7536,16 +7382,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7566,16 +7411,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7595,16 +7439,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7623,16 +7466,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7650,31 +7492,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7720,16 +7560,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7740,31 +7579,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7778,16 +7615,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -7812,16 +7648,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -7836,16 +7671,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7905,16 +7739,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -7928,16 +7761,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -7949,31 +7781,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8002,16 +7832,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8033,16 +7862,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8056,16 +7884,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8084,16 +7911,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8115,16 +7941,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8140,16 +7965,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8175,16 +7999,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8433,16 +8256,15 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8464,16 +8286,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8491,16 +8312,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8548,16 +8368,15 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_STIFFENING_RIB, IfcMemberType_ARCH_SEGMENT, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_SUSPENDER, IfcMemberType_STAY_CABLE, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8571,16 +8390,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-46:1992: The null style type specifies, that a representation item is not styled. @@ -8593,16 +8411,15 @@ public: /// IFC2x4 CHANGE  The enumeration is deprecated. class IFC_PARSE_API IfcNullStyle : public express::DeclaredType { public: - IfcNullStyle() {} - explicit IfcNullStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNullStyle_NULL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNullStyle initialize(Value v); + IfcNullStyle initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -8610,16 +8427,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8653,16 +8469,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8680,16 +8495,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8714,16 +8528,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -8741,16 +8554,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -8761,16 +8573,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -8797,16 +8608,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -8820,16 +8630,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8857,16 +8666,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -8893,16 +8701,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -8920,16 +8727,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -8965,16 +8771,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -8994,16 +8799,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9026,31 +8830,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_FLANGE_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_SPLICE_PLATE, IfcPlateType_BASE_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9069,16 +8871,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9091,16 +8892,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9116,16 +8916,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9136,16 +8935,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9162,16 +8960,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9214,16 +9011,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9235,16 +9031,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9264,16 +9059,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9306,16 +9100,15 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9340,16 +9133,15 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9365,16 +9157,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9427,16 +9218,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9462,31 +9252,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9507,16 +9295,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9540,16 +9327,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9563,46 +9349,43 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -9636,16 +9419,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -9716,16 +9498,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -9757,16 +9538,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -9810,16 +9590,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -9843,16 +9622,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -9867,16 +9645,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -9909,16 +9686,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -9928,16 +9704,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -9952,16 +9727,15 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -9984,16 +9758,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10030,16 +9803,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_APPROACH_SLAB, IfcSlabType_PAVING, IfcSlabType_WEARING, IfcSlabType_SIDEWALK, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10053,16 +9825,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10079,16 +9850,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10128,16 +9898,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10167,16 +9936,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10190,16 +9958,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10219,16 +9986,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10326,16 +10092,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10353,16 +10118,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10382,16 +10146,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10414,16 +10177,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10440,16 +10202,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10468,16 +10229,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10490,16 +10250,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10515,16 +10274,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10540,16 +10298,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10570,16 +10327,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -10592,16 +10348,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -10629,16 +10384,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -10650,16 +10404,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -10682,61 +10435,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_DUCT, IfcTendonConduitType_COUPLER, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -10748,16 +10497,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -10773,16 +10521,15 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -10798,16 +10545,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -10828,31 +10574,29 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransitionCurveType : public express::DeclaredType { public: - IfcTransitionCurveType() {} - explicit IfcTransitionCurveType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCurveType_BIQUADRATICPARABOLA, IfcTransitionCurveType_BLOSSCURVE, IfcTransitionCurveType_CLOTHOIDCURVE, IfcTransitionCurveType_COSINECURVE, IfcTransitionCurveType_CUBICPARABOLA, IfcTransitionCurveType_SINECURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCurveType initialize(Value v); + IfcTransitionCurveType initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -10881,16 +10625,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_CRANEWAY, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -10906,16 +10649,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -10928,16 +10670,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -10978,16 +10719,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11008,16 +10748,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11034,16 +10773,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11091,31 +10829,29 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11129,16 +10865,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11157,16 +10892,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11208,16 +10942,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_RETAININGWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11236,16 +10969,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11334,16 +11066,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11412,16 +11143,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11433,16 +11163,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -11521,16 +11250,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11551,16 +11279,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -11636,16 +11363,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -11661,16 +11387,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -11686,16 +11411,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -11711,16 +11435,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -11730,11 +11453,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -11744,11 +11466,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -11761,11 +11482,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -11775,31 +11495,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -11811,21 +11528,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -11835,11 +11550,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -11887,11 +11601,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -11907,11 +11620,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -11964,11 +11676,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -11979,11 +11690,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -11994,11 +11704,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12010,11 +11719,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12025,11 +11733,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12052,11 +11759,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12073,11 +11779,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12116,11 +11821,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12131,11 +11835,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12147,11 +11850,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12161,11 +11863,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12175,11 +11876,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12190,11 +11890,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12204,11 +11903,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12218,11 +11916,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12232,11 +11929,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12248,11 +11944,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12262,11 +11957,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12276,11 +11970,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12290,11 +11983,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12313,11 +12005,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12334,11 +12025,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12366,11 +12056,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12380,11 +12069,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12394,11 +12082,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12416,11 +12103,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12430,11 +12116,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12442,11 +12127,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12465,11 +12149,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12479,11 +12162,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12493,11 +12175,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12509,11 +12190,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12525,11 +12205,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12537,11 +12216,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12551,11 +12229,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -12565,11 +12242,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -12588,11 +12264,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -12607,11 +12282,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -12623,21 +12297,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -12647,11 +12319,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -12661,11 +12332,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -12675,11 +12345,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -12689,11 +12358,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -12717,11 +12384,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -12733,11 +12399,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -12749,11 +12414,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -12763,11 +12427,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -12777,11 +12440,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -12791,11 +12453,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -12805,11 +12466,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -12821,11 +12481,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -12837,11 +12496,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -12851,11 +12509,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -12865,11 +12522,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -12879,11 +12535,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -12897,11 +12552,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -12911,11 +12565,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -12925,11 +12578,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -12939,11 +12591,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -12952,11 +12603,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13017,11 +12667,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13031,11 +12680,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13046,11 +12694,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13058,11 +12705,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13074,11 +12720,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13088,11 +12733,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13108,21 +12752,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13133,11 +12775,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13148,11 +12789,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13162,11 +12802,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13180,11 +12819,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13194,21 +12832,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x2::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x2::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x2::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13218,11 +12854,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13237,11 +12872,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13253,11 +12887,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13267,11 +12900,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13282,11 +12914,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13296,11 +12927,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13310,11 +12940,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13324,11 +12953,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13338,11 +12966,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13354,21 +12981,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13378,21 +13003,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13402,11 +13025,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13416,11 +13038,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13432,11 +13053,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13450,11 +13070,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13464,11 +13083,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13478,11 +13096,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13498,11 +13115,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13517,11 +13133,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13539,11 +13154,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -13567,11 +13181,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -13586,11 +13199,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -13600,11 +13212,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -13614,11 +13225,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -13627,11 +13237,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -13640,11 +13249,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -13654,11 +13262,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -13670,11 +13277,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -13687,11 +13293,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -13703,11 +13308,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -13716,11 +13320,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -13730,11 +13333,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -13746,11 +13348,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -13760,11 +13361,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -13776,11 +13376,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -13790,11 +13389,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -13804,11 +13402,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -13818,11 +13415,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -13852,11 +13448,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -13866,11 +13461,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -13881,11 +13475,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -13902,8 +13495,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -13921,7 +13513,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -13930,8 +13522,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Purpose() const; @@ -13949,15 +13540,14 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x2::IfcOrganization ApplicationDeveloper() const; @@ -13973,7 +13563,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -13991,8 +13581,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14031,7 +13620,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14040,8 +13629,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14083,7 +13671,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect v8_RequestingApproval, ::Ifc4x2::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect v8_RequestingApproval, ::Ifc4x2::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14102,15 +13690,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14124,8 +13711,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14147,7 +13733,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14161,8 +13747,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x2::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14175,7 +13760,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x2::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14189,8 +13774,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x2::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14212,7 +13796,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x2::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14225,15 +13809,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x2::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x2::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x2::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x2::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14251,12 +13834,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14276,8 +13858,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14287,7 +13868,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x2::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14299,8 +13880,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14310,7 +13890,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x2::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14320,8 +13900,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14331,7 +13910,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x2::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x2::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x2::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14347,8 +13926,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14378,7 +13956,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14428,8 +14006,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x2::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14439,7 +14016,7 @@ public: void setTargetCRS(const ::Ifc4x2::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14465,8 +14042,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14491,7 +14067,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -14537,12 +14113,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -14553,8 +14128,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x2::IfcDerivedUnitElement > Elements() const; @@ -14566,7 +14140,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4x2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -14579,8 +14153,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x2::IfcNamedUnit Unit() const; @@ -14590,7 +14163,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x2::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -14611,8 +14184,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -14637,7 +14209,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -14647,12 +14219,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -14665,8 +14236,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -14690,7 +14260,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -14702,12 +14272,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -14718,12 +14287,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -14734,12 +14302,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -14766,8 +14333,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14784,15 +14350,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14802,7 +14367,7 @@ public: void setListValues(const std::vector< ::Ifc4x2::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x2::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x2::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -14814,8 +14379,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -14842,7 +14406,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -14853,8 +14417,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -14872,7 +14435,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x2::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x2::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -14891,8 +14454,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -14907,15 +14469,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x2::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -14925,7 +14486,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x2::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x2::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x2::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -14940,8 +14501,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -14970,7 +14530,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4x2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -14979,8 +14539,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x2::IfcClassificationSelect > MaterialClassifications() const; @@ -14990,7 +14549,7 @@ public: void setClassifiedMaterial(const ::Ifc4x2::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x2::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x2::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15018,15 +14577,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15053,8 +14611,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x2::IfcMaterial Material() const; @@ -15088,7 +14645,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15125,8 +14682,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x2::IfcMaterialLayer > MaterialLayers() const; @@ -15141,7 +14697,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15188,8 +14744,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x2::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15199,7 +14754,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15220,15 +14775,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x2::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x2::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x2::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15237,8 +14791,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15261,7 +14814,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15270,8 +14823,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15290,7 +14842,7 @@ public: void setCompositeProfile(const ::Ifc4x2::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15299,15 +14851,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, ::Ifc4x2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15342,13 +14893,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15362,8 +14912,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x2::IfcValue ValueComponent() const; @@ -15373,7 +14922,7 @@ public: void setUnitComponent(const ::Ifc4x2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcValue v1_ValueComponent, ::Ifc4x2::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x2::IfcValue v1_ValueComponent, ::Ifc4x2::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15429,8 +14978,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x2::IfcBenchmarkEnum::Value Benchmark() const; @@ -15445,7 +14993,7 @@ public: void setReferencePath(const ::Ifc4x2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x2::IfcMetricValueSelect v10_DataValue, ::Ifc4x2::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x2::IfcMetricValueSelect v10_DataValue, ::Ifc4x2::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15454,15 +15002,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15471,8 +15018,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x2::IfcDimensionalExponents Dimensions() const; @@ -15482,7 +15028,7 @@ public: void setUnitType(const ::Ifc4x2::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15497,15 +15043,14 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x2::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x2::IfcObjectPlacement& v); std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -15518,8 +15063,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x2::IfcConstraint > > BenchmarkValues() const; @@ -15534,7 +15078,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -15546,8 +15090,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15570,7 +15113,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -15584,8 +15127,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x2::IfcPersonAndOrganization OwningUser() const; @@ -15613,7 +15155,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -15626,8 +15168,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15662,7 +15203,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x2::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -15671,8 +15212,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x2::IfcPerson ThePerson() const; @@ -15685,7 +15225,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x2::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcPerson v1_ThePerson, ::Ifc4x2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x2::IfcPerson v1_ThePerson, ::Ifc4x2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x2::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -15694,8 +15234,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -15707,7 +15246,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -15720,23 +15259,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x2::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -15767,17 +15304,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -15796,8 +15332,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -15813,7 +15348,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -15830,8 +15365,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -15851,7 +15385,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x2::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x2::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x2::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -15860,15 +15394,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -15877,15 +15410,14 @@ public: /// HISTORY New entity in Release IFC2x2. class IFC_PARSE_API IfcPresentationStyleAssignment : public express::Entity { public: - IfcPresentationStyleAssignment() {} - explicit IfcPresentationStyleAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x2::IfcPresentationStyleSelect > Styles() const; void setStyles(const std::vector< ::Ifc4x2::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcPresentationStyleSelect > v1_Styles); + IfcPresentationStyleAssignment initialize(std::vector< ::Ifc4x2::IfcPresentationStyleSelect > v1_Styles); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -15906,8 +15438,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -15920,7 +15451,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x2::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16094,8 +15625,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x2::IfcProfileTypeEnum::Value ProfileType() const; @@ -16107,7 +15637,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16134,8 +15664,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16155,18 +15684,17 @@ public: void setMapUnit(const ::Ifc4x2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x2::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x2::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16216,8 +15744,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16230,7 +15757,7 @@ public: void setUnit(const ::Ifc4x2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x2::IfcValue > v2_EnumerationValues, ::Ifc4x2::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x2::IfcValue > v2_EnumerationValues, ::Ifc4x2::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16239,8 +15766,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16252,7 +15778,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16261,8 +15787,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16274,7 +15799,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16283,8 +15808,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16296,7 +15820,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16305,8 +15829,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16318,7 +15841,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16327,8 +15850,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16340,7 +15862,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16349,8 +15871,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16362,7 +15883,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16372,8 +15893,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16414,13 +15934,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x2::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16434,7 +15953,7 @@ public: void setInnerReference(const ::Ifc4x2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x2::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x2::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16484,8 +16003,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x2::IfcRepresentationContext ContextOfItems() const; @@ -16505,7 +16023,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -16519,8 +16037,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16531,7 +16048,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -16567,14 +16084,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -16589,8 +16105,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16603,15 +16118,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x2::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x2::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16621,7 +16135,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -16634,8 +16148,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16655,7 +16168,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -16666,8 +16179,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x2::IfcSIPrefix::Value > Prefix() const; @@ -16679,15 +16191,14 @@ public: void setName(const ::Ifc4x2::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x2::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x2::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16701,7 +16212,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -16742,8 +16253,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -16767,7 +16277,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -16789,13 +16299,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -16934,42 +16443,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -16984,8 +16490,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > Values() const; @@ -16995,31 +16500,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17028,8 +16531,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17048,7 +16550,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17057,12 +16559,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17094,8 +16595,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17115,7 +16615,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17126,12 +16626,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17140,8 +16639,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17154,7 +16652,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17165,8 +16663,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x2::IfcSurfaceSide::Value Side() const; @@ -17176,7 +16673,7 @@ public: void setStyles(const std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x2::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17191,8 +16688,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17212,7 +16708,7 @@ public: void setReflectanceColour(const ::Ifc4x2::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x2::IfcColourRgb v3_TransmissionColour, ::Ifc4x2::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x2::IfcColourRgb v3_TransmissionColour, ::Ifc4x2::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17221,8 +16717,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17232,7 +16727,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17243,8 +16738,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x2::IfcColourRgb SurfaceColour() const; @@ -17253,7 +16747,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17275,15 +16769,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x2::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x2::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17379,8 +16872,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17412,7 +16904,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17431,8 +16923,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17445,7 +16936,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x2::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x2::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x2::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17454,8 +16945,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17473,7 +16963,7 @@ public: void setReferencePath(const ::Ifc4x2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit v4_Unit, ::Ifc4x2::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit v4_Unit, ::Ifc4x2::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17490,8 +16980,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x2::IfcValue > > RowCells() const; @@ -17501,7 +16990,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17513,8 +17002,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -17623,21 +17111,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x2::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x2::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x2::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x2::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -17647,8 +17134,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -17673,7 +17159,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -17705,8 +17191,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x2::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -17727,7 +17212,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -17748,8 +17233,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x2::IfcColour Colour() const; @@ -17759,7 +17243,7 @@ public: void setBackgroundColour(const ::Ifc4x2::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcColour v1_Colour, ::Ifc4x2::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x2::IfcColour v1_Colour, ::Ifc4x2::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -17770,8 +17254,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -17803,7 +17286,7 @@ public: void setLineHeight(const ::Ifc4x2::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x2::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x2::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -17818,14 +17301,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x2::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x2::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -17855,8 +17337,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -17870,7 +17351,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -17925,8 +17406,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -17937,7 +17417,7 @@ public: void setMappedTo(const ::Ifc4x2::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x2::IfcTextureVertex > v2_Vertices, ::Ifc4x2::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x2::IfcTextureVertex > v2_Vertices, ::Ifc4x2::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -17968,27 +17448,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -17998,8 +17476,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18009,7 +17486,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18018,8 +17495,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18048,7 +17524,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18061,15 +17537,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x2::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x2::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x2::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18078,12 +17553,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18121,12 +17595,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x2::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18135,15 +17608,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x2::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x2::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x2::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18157,12 +17629,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18175,15 +17646,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x2::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x2::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x2::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18246,8 +17716,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x2::IfcGridAxis > IntersectingAxes() const; @@ -18257,7 +17726,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18269,8 +17738,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18287,7 +17755,7 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18298,8 +17766,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x2::IfcApproval RelatingApproval() const; @@ -18309,7 +17776,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x2::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x2::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x2::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18331,15 +17798,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x2::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18358,15 +17824,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x2::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x2::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18389,15 +17854,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x2::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x2::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x2::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x2::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18410,8 +17874,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18421,7 +17884,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18454,15 +17917,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18481,8 +17943,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -18536,7 +17997,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -18561,8 +18022,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x2::IfcClassificationReferenceSelect ReferencedSource() const; @@ -18578,19 +18038,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -18599,8 +18058,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -18610,7 +18068,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -18650,8 +18108,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x2::IfcProfileDef > Profiles() const; @@ -18661,7 +18118,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -18674,15 +18131,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x2::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x2::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -18699,8 +18155,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x2::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -18710,7 +18165,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x2::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -18733,8 +18188,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -18747,7 +18201,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -18758,8 +18212,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -18767,7 +18220,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -18818,8 +18271,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -18830,7 +18282,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -18852,15 +18304,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -18875,8 +18326,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x2::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -18897,7 +18347,7 @@ public: void setRateSource(const ::Ifc4x2::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -18918,8 +18368,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -18934,7 +18383,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x2::IfcSizeSelect v3_CurveWidth, ::Ifc4x2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x2::IfcSizeSelect v3_CurveWidth, ::Ifc4x2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -18943,8 +18392,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -18954,7 +18402,7 @@ public: void setPatternList(const std::vector< ::Ifc4x2::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -18969,8 +18417,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -18983,7 +18430,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -18992,8 +18439,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19007,7 +18453,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19095,8 +18541,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x2::IfcProfileDef ParentProfile() const; @@ -19109,15 +18554,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19189,7 +18633,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19201,8 +18645,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x2::IfcDocumentInformation RelatingDocument() const; @@ -19215,7 +18658,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19230,8 +18673,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19244,7 +18686,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19297,8 +18739,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x2::IfcVertex EdgeStart() const; @@ -19308,7 +18749,7 @@ public: void setEdgeEnd(const ::Ifc4x2::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19345,8 +18786,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x2::IfcCurve EdgeGeometry() const; @@ -19356,7 +18796,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19383,8 +18823,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19402,13 +18841,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19418,7 +18856,7 @@ public: void setProperties(const std::vector< ::Ifc4x2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19429,8 +18867,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19442,7 +18879,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19490,8 +18927,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x2::IfcFaceBound > Bounds() const; @@ -19499,7 +18935,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -19508,8 +18944,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x2::IfcLoop Bound() const; @@ -19519,7 +18954,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -19528,12 +18963,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x2::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -19573,8 +19007,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x2::IfcSurface FaceSurface() const; @@ -19584,7 +19017,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -19595,8 +19028,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -19618,7 +19050,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -19656,8 +19088,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x2::IfcFillStyleSelect > FillStyles() const; @@ -19666,7 +19097,7 @@ public: void setModelorDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -19717,8 +19148,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -19738,7 +19168,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x2::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x2::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -19761,12 +19191,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -19783,8 +19212,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x2::IfcGeometricRepresentationContext ParentContext() const; @@ -19810,7 +19238,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -19821,15 +19249,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x2::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x2::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -19878,8 +19305,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x2::IfcVirtualGridIntersection PlacementLocation() const; @@ -19891,7 +19317,7 @@ public: void setPlacementRefDirection(const ::Ifc4x2::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -19910,8 +19336,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x2::IfcSurface BaseSurface() const; @@ -19921,7 +19346,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -19960,21 +19385,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x2::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x2::IfcTessellatedFaceSet& v); @@ -19986,13 +19409,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x2::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x2::IfcTessellatedFaceSet& v); @@ -20000,19 +19422,18 @@ public: void setTexCoords(const ::Ifc4x2::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x2::IfcSurfaceTexture > v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20021,15 +19442,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, std::vector< ::Ifc4x2::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20070,8 +19490,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20083,7 +19502,7 @@ public: void setDurationType(const ::Ifc4x2::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x2::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x2::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20094,8 +19513,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20112,7 +19530,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20123,12 +19541,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20141,8 +19558,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20150,7 +19566,7 @@ public: void setOrientation(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20161,8 +19577,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x2::IfcAxis2Placement3D Position() const; @@ -20184,7 +19599,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x2::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D v5_Position, ::Ifc4x2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D v5_Position, ::Ifc4x2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20203,8 +19618,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20225,7 +19639,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20244,8 +19658,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20264,13 +19677,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x2::IfcCurve PlacementMeasuredAlong() const; void setPlacementMeasuredAlong(const ::Ifc4x2::IfcCurve& v); @@ -20282,7 +19694,7 @@ public: void setCartesianPosition(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression v3_Distance, ::Ifc4x2::IfcOrientationExpression v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D v5_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression v3_Distance, ::Ifc4x2::IfcOrientationExpression v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D v5_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20338,15 +19750,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x2::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x2::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20376,12 +19787,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20404,8 +19814,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x2::IfcRepresentationMap MappingSource() const; @@ -20415,7 +19824,7 @@ public: void setMappingTarget(const ::Ifc4x2::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcRepresentationMap v1_MappingSource, ::Ifc4x2::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x2::IfcRepresentationMap v1_MappingSource, ::Ifc4x2::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20446,8 +19855,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -20473,7 +19881,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -20482,8 +19890,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -20503,7 +19910,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -20521,8 +19928,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -20535,7 +19941,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -20569,15 +19975,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x2::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x2::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations, ::Ifc4x2::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations, ::Ifc4x2::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -20681,8 +20086,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x2::IfcMaterialLayerSet ForLayerSet() const; @@ -20713,7 +20117,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -20724,8 +20128,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x2::IfcMaterialProfileSet ForProfileSet() const; @@ -20743,7 +20146,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -20772,8 +20175,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x2::IfcMaterialProfileSet ForProfileEndSet() const; @@ -20783,7 +20185,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -20809,8 +20211,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -20819,15 +20220,14 @@ public: void setMaterial(const ::Ifc4x2::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x2::IfcMaterial RelatingMaterial() const; @@ -20840,7 +20240,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -20871,12 +20271,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -20930,8 +20329,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -20942,7 +20340,7 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21005,12 +20403,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21020,8 +20417,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x2::IfcOrganization RelatingOrganization() const; @@ -21031,13 +20427,12 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x2::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x2::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x2::IfcOrganization > v4_RelatedOrganizations); }; class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { public: - IfcOrientationExpression() {} - explicit IfcOrientationExpression (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x2::IfcDirection LateralAxisDirection() const; void setLateralAxisDirection(const ::Ifc4x2::IfcDirection& v); @@ -21045,7 +20440,7 @@ public: void setVerticalAxisDirection(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_LateralAxisDirection, ::Ifc4x2::IfcDirection v2_VerticalAxisDirection); + IfcOrientationExpression initialize(::Ifc4x2::IfcDirection v1_LateralAxisDirection, ::Ifc4x2::IfcDirection v2_VerticalAxisDirection); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21056,8 +20451,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x2::IfcEdge EdgeElement() const; @@ -21067,7 +20461,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x2::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21113,15 +20507,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x2::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x2::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21139,15 +20532,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x2::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21160,8 +20552,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x2::IfcPhysicalQuantity > HasQuantities() const; @@ -21177,7 +20568,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21199,8 +20590,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21218,7 +20608,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21231,15 +20621,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x2::IfcCartesianPoint Location() const; void setLocation(const ::Ifc4x2::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_Location); + IfcPlacement initialize(::Ifc4x2::IfcCartesianPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21248,8 +20637,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21259,7 +20647,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21268,12 +20656,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21286,8 +20673,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x2::IfcCurve BasisCurve() const; @@ -21297,7 +20683,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21310,8 +20696,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x2::IfcSurface BasisSurface() const; @@ -21324,7 +20709,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21367,15 +20752,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x2::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21435,8 +20819,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x2::IfcAxis2Placement3D Position() const; @@ -21448,7 +20831,7 @@ public: void setPolygonalBoundary(const ::Ifc4x2::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcAxis2Placement3D v3_Position, ::Ifc4x2::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcAxis2Placement3D v3_Position, ::Ifc4x2::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -21459,25 +20842,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -21492,12 +20873,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -21513,14 +20893,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -21535,23 +20914,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x2::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcProperty > v3_Properties, ::Ifc4x2::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -21567,7 +20944,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -21621,14 +20998,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -21640,8 +21016,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x2::IfcProperty DependingProperty() const; @@ -21654,7 +21029,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty v3_DependingProperty, ::Ifc4x2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty v3_DependingProperty, ::Ifc4x2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -21700,15 +21075,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -21737,22 +21111,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -21790,8 +21162,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -21801,7 +21172,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -21810,8 +21181,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -21821,7 +21191,7 @@ public: void setValues(const std::vector< ::Ifc4x2::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x2::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x2::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -21830,8 +21200,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -21853,7 +21222,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -21865,12 +21234,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -21880,8 +21248,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x2::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -21891,7 +21258,7 @@ public: void setRelatingApproval(const ::Ifc4x2::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -21915,8 +21282,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x2::IfcConstraint RelatingConstraint() const; @@ -21926,14 +21292,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x2::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x2::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -21982,7 +21347,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22023,15 +21388,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22040,8 +21404,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x2::IfcSectionTypeEnum::Value SectionType() const; @@ -22054,7 +21417,7 @@ public: void setEndProfile(const ::Ifc4x2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x2::IfcProfileDef v2_StartProfile, ::Ifc4x2::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x2::IfcProfileDef v2_StartProfile, ::Ifc4x2::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22065,8 +21428,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22088,7 +21450,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x2::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22145,8 +21507,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x2::IfcCompositeCurve SpineCurve() const; @@ -22159,7 +21520,7 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x2::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcAxis2Placement3D > v3_CrossSectionPositions); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22175,26 +21536,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x2::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x2::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x2::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22207,8 +21566,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22221,7 +21579,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22230,12 +21588,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22244,8 +21601,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22267,7 +21623,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22276,8 +21632,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22290,7 +21645,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22299,8 +21654,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22322,22 +21676,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22347,8 +21700,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22370,7 +21722,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22382,15 +21734,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22404,15 +21755,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x2::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x2::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x2::IfcVertex v1_EdgeStart, ::Ifc4x2::IfcVertex v2_EdgeEnd, ::Ifc4x2::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22426,12 +21776,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -22480,8 +21829,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -22516,7 +21864,7 @@ public: void setReflectanceMethod(const ::Ifc4x2::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -22538,8 +21886,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x2::IfcProfileDef SweptArea() const; @@ -22549,7 +21896,7 @@ public: void setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -22606,8 +21953,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x2::IfcCurve Directrix() const; @@ -22630,7 +21976,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -22644,15 +21990,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -22661,8 +22006,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x2::IfcProfileDef SweptCurve() const; @@ -22672,7 +22016,7 @@ public: void setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -22704,8 +22048,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -22736,17 +22079,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -22760,8 +22102,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -22775,7 +22116,7 @@ public: void setPath(const ::Ifc4x2::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -22788,8 +22129,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x2::IfcPlanarExtent Extent() const; @@ -22799,7 +22139,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -22868,8 +22208,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -22891,7 +22230,7 @@ public: void setFontSize(const ::Ifc4x2::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22933,8 +22272,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -22950,7 +22288,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -22985,8 +22323,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23005,7 +22342,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23037,8 +22374,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23054,7 +22390,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23124,8 +22460,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > RepresentationMaps() const; @@ -23136,7 +22471,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23152,8 +22487,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23169,7 +22503,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23201,8 +22535,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23227,7 +22560,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23238,8 +22571,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x2::IfcDirection Orientation() const; @@ -23249,7 +22581,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x2::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23265,15 +22597,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x2::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x2::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x2::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -23295,8 +22626,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4x2::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -23312,7 +22642,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23341,8 +22671,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23364,7 +22693,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23381,18 +22710,16 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x2::IfcFaceBound > v1_Bounds, ::Ifc4x2::IfcSurface v2_FaceSurface, bool v3_SameSense); }; class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { public: - IfcAlignment2DHorizontal() {} - explicit IfcAlignment2DHorizontal (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::optional< double > StartDistAlong() const; void setStartDistAlong(const std::optional< double >& v); @@ -23401,13 +22728,12 @@ public: std::vector< IfcAlignmentCurve > ToAlignmentCurve() const; // INVERSE IfcAlignmentCurve::Horizontal static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment > v2_Segments); + IfcAlignment2DHorizontal initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x2::IfcAlignment2DHorizontalSegment > v2_Segments); }; class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { public: - IfcAlignment2DSegment() {} - explicit IfcAlignment2DSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::optional< bool > TangentialContinuity() const; void setTangentialContinuity(const std::optional< bool >& v); @@ -23417,26 +22743,24 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag); + IfcAlignment2DSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag); }; class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { public: - IfcAlignment2DVertical() {} - explicit IfcAlignment2DVertical (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > Segments() const; void setSegments(const std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment >& v); std::vector< IfcAlignmentCurve > ToAlignmentCurve() const; // INVERSE IfcAlignmentCurve::Vertical static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > v1_Segments); + IfcAlignment2DVertical initialize(std::vector< ::Ifc4x2::IfcAlignment2DVerticalSegment > v1_Segments); }; class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DVerticalSegment() {} - explicit IfcAlignment2DVerticalSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -23449,7 +22773,7 @@ public: std::vector< IfcAlignment2DVertical > ToVertical() const; // INVERSE IfcAlignment2DVertical::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); + IfcAlignment2DVerticalSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23473,8 +22797,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23488,7 +22811,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x2::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x2::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x2::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23529,8 +22852,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -23561,7 +22883,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -23574,15 +22896,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x2::IfcDirection Axis() const; void setAxis(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -23597,15 +22918,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x2::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -23622,8 +22942,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x2::IfcDirection Axis() const; @@ -23633,7 +22952,7 @@ public: void setRefDirection(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis, ::Ifc4x2::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x2::IfcCartesianPoint v1_Location, ::Ifc4x2::IfcDirection v2_Axis, ::Ifc4x2::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -23663,8 +22982,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x2::IfcBooleanOperator::Value Operator() const; @@ -23677,7 +22995,7 @@ public: void setSecondOperand(const ::Ifc4x2::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -23693,12 +23011,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -23724,8 +23041,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x2::IfcCartesianPoint Corner() const; @@ -23741,7 +23057,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -23775,15 +23091,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x2::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x2::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -23809,8 +23124,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -23829,7 +23143,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -23840,31 +23154,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -23872,13 +23183,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -23886,7 +23196,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -23920,8 +23230,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x2::IfcDirection Axis1() const; @@ -23937,7 +23246,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -23946,12 +23255,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -23965,15 +23273,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -23982,15 +23289,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x2::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24005,8 +23311,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24016,7 +23321,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x2::IfcDirection v1_Axis1, ::Ifc4x2::IfcDirection v2_Axis2, ::Ifc4x2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24032,15 +23337,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24093,12 +23397,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x2::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24110,8 +23413,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24130,7 +23432,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24139,8 +23441,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24151,7 +23452,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x2::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x2::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24162,8 +23463,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. ::Ifc4x2::IfcTransitionCode::Value Transition() const; @@ -24179,7 +23479,7 @@ public: std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24198,8 +23498,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > >& v); @@ -24207,7 +23506,7 @@ public: void setBaseQuantity(const ::Ifc4x2::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24224,8 +23523,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24250,7 +23548,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24264,15 +23562,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x2::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24281,15 +23578,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x2::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24334,15 +23630,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x2::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x2::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x2::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24356,12 +23651,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24378,8 +23672,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x2::IfcPlane BasisSurface() const; @@ -24392,7 +23685,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x2::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcPlane v1_BasisSurface, ::Ifc4x2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x2::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x2::IfcPlane v1_BasisSurface, ::Ifc4x2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x2::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24417,8 +23710,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x2::IfcSurface BasisSurface() const; @@ -24430,7 +23722,7 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24441,21 +23733,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { public: - IfcDistanceExpression() {} - explicit IfcDistanceExpression (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; double DistanceAlong() const; void setDistanceAlong(const double& v); @@ -24469,7 +23759,7 @@ public: void setAlongHorizontal(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal); + IfcDistanceExpression initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -24499,8 +23789,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4x2::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -24516,7 +23805,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24531,15 +23820,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x2::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x2::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x2::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -24620,8 +23908,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -24633,7 +23920,7 @@ public: void setQuantities(const std::vector< ::Ifc4x2::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x2::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -24659,15 +23946,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -24676,15 +23962,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x2::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -24704,8 +23989,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -24715,7 +23999,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -24725,8 +24009,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -24743,7 +24026,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -24815,8 +24098,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x2::IfcDirection ExtrudedDirection() const; @@ -24827,7 +24109,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -24929,15 +24211,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x2::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x2::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x2::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -24953,15 +24234,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x2::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x2::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x2::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25012,8 +24292,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x2::IfcCurveStyle HatchLineAppearance() const; @@ -25040,7 +24319,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25049,8 +24328,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x2::IfcVector > TilingPattern() const; @@ -25063,7 +24341,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x2::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x2::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25125,8 +24403,7 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc4x2::IfcCurve Directrix() const; @@ -25142,7 +24419,7 @@ public: void setFixedReference(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25174,12 +24451,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25220,8 +24496,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x2::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25230,7 +24505,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25295,15 +24570,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25314,12 +24588,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x2::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25386,8 +24659,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25410,32 +24682,30 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25490,8 +24760,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25513,7 +24782,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25528,15 +24797,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x2::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -25553,8 +24821,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x2::IfcCartesianPoint Pnt() const; @@ -25564,7 +24831,7 @@ public: void setDir(const ::Ifc4x2::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_Pnt, ::Ifc4x2::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x2::IfcCartesianPoint v1_Pnt, ::Ifc4x2::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -25631,15 +24898,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x2::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x2::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x2::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -25725,8 +24991,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -25737,19 +25002,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x2::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x2::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -25764,8 +25028,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -25775,7 +25038,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -25794,8 +25057,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -25808,13 +25070,12 @@ public: void setRefDirection(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x2::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x2::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x2::IfcDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x2::IfcDistanceExpression >& v); @@ -25822,7 +25083,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -25833,8 +25094,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x2::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x2::IfcSurface& v); @@ -25842,7 +25102,7 @@ public: void setReferenceCurve(const ::Ifc4x2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BasisSurface, ::Ifc4x2::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x2::IfcSurface v1_BasisSurface, ::Ifc4x2::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -25852,8 +25112,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -25861,7 +25120,7 @@ public: void setPlacement(const ::Ifc4x2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x2::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x2::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -25901,12 +25160,11 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -25915,12 +25173,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -25931,12 +25188,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -25960,12 +25216,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -25982,8 +25237,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -25991,7 +25245,7 @@ public: void setPredefinedType(const ::Ifc4x2::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26035,8 +25289,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26054,7 +25307,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26149,8 +25402,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x2::IfcObjectPlacement ObjectPlacement() const; @@ -26162,7 +25414,7 @@ public: std::vector< IfcRelPositions > PositionedRelativeTo() const; // INVERSE IfcRelPositions::RelatedProducts static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26210,12 +25462,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26243,12 +25494,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26356,8 +25606,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x2::IfcValue UpperBoundValue() const; @@ -26375,7 +25624,7 @@ public: void setSetPointValue(const ::Ifc4x2::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_UpperBoundValue, ::Ifc4x2::IfcValue v4_LowerBoundValue, ::Ifc4x2::IfcUnit v5_Unit, ::Ifc4x2::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_UpperBoundValue, ::Ifc4x2::IfcValue v4_LowerBoundValue, ::Ifc4x2::IfcUnit v5_Unit, ::Ifc4x2::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26456,8 +25705,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26469,7 +25717,7 @@ public: void setEnumerationReference(const ::Ifc4x2::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -26538,8 +25786,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -26551,7 +25798,7 @@ public: void setUnit(const ::Ifc4x2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_ListValues, ::Ifc4x2::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_ListValues, ::Ifc4x2::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -26570,8 +25817,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -26583,7 +25829,7 @@ public: void setPropertyReference(const ::Ifc4x2::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x2::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x2::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -26640,15 +25886,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x2::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -26683,8 +25928,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -26708,7 +25952,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x2::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x2::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -26756,8 +26000,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -26771,7 +26014,7 @@ public: void setUnit(const ::Ifc4x2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_NominalValue, ::Ifc4x2::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x2::IfcValue v3_NominalValue, ::Ifc4x2::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -26891,8 +26134,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -26920,7 +26162,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit v6_DefiningUnit, ::Ifc4x2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit v6_DefiningUnit, ::Ifc4x2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -26948,14 +26190,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -26975,8 +26216,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x2::IfcObjectTypeEnum::Value ProxyType() const; @@ -26986,7 +26226,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27010,8 +26250,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27024,7 +26263,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27116,8 +26355,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27130,7 +26368,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27149,8 +26387,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x2::IfcSurface BasisSurface() const; @@ -27175,7 +26412,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27205,8 +26442,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27216,7 +26452,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x2::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27231,8 +26467,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x2::IfcObjectDefinition > RelatedObjects() const; @@ -27243,7 +26478,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27256,8 +26491,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x2::IfcActor RelatingActor() const; @@ -27267,7 +26501,7 @@ public: void setActingRole(const ::Ifc4x2::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor v7_RelatingActor, ::Ifc4x2::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor v7_RelatingActor, ::Ifc4x2::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27276,15 +26510,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x2::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x2::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27301,15 +26534,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x2::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x2::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27322,15 +26554,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27356,8 +26587,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27369,7 +26599,7 @@ public: void setQuantityInProcess(const ::Ifc4x2::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27381,8 +26611,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27391,7 +26620,7 @@ public: void setRelatingProduct(const ::Ifc4x2::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27401,8 +26630,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27411,7 +26639,7 @@ public: void setRelatingResource(const ::Ifc4x2::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27456,8 +26684,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27466,22 +26693,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x2::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x2::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x2::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27515,23 +26741,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x2::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x2::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27541,7 +26765,7 @@ public: void setRelatingConstraint(const ::Ifc4x2::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -27552,15 +26776,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x2::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x2::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -27571,15 +26794,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x2::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x2::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -27677,27 +26899,25 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x2::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x2::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect v6_RelatingMaterial); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -27723,8 +26943,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x2::IfcConnectionGeometry ConnectionGeometry() const; @@ -27737,7 +26956,7 @@ public: void setRelatedElement(const ::Ifc4x2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -27771,8 +26990,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -27788,7 +27006,7 @@ public: void setRelatingConnectionType(const ::Ifc4x2::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -27817,8 +27035,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x2::IfcPort RelatingPort() const; @@ -27830,7 +27047,7 @@ public: void setRelatedElement(const ::Ifc4x2::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -27847,8 +27064,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x2::IfcPort RelatingPort() const; @@ -27861,15 +27077,14 @@ public: void setRealizingElement(const ::Ifc4x2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcPort v6_RelatedPort, ::Ifc4x2::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPort v5_RelatingPort, ::Ifc4x2::IfcPort v6_RelatedPort, ::Ifc4x2::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x2::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -27879,7 +27094,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x2::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -27907,8 +27122,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x2::IfcStructuralMember RelatingStructuralMember() const; @@ -27930,7 +27144,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -27951,15 +27165,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x2::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x2::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x2::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x2::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -27986,8 +27199,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x2::IfcElement > RealizingElements() const; @@ -27997,7 +27209,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x2::IfcElement v6_RelatingElement, ::Ifc4x2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28061,8 +27273,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28074,7 +27285,7 @@ public: void setRelatingStructure(const ::Ifc4x2::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28094,8 +27305,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28107,7 +27317,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x2::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28137,8 +27347,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28150,7 +27359,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x2::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x2::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28165,8 +27374,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x2::IfcContext RelatingContext() const; @@ -28176,7 +27384,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x2::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x2::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x2::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28210,12 +27418,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28246,12 +27453,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28270,8 +27476,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x2::IfcObject > RelatedObjects() const; @@ -28281,7 +27486,7 @@ public: void setRelatingObject(const ::Ifc4x2::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28300,8 +27505,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x2::IfcObjectDefinition > RelatedObjects() const; @@ -28311,7 +27515,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x2::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28327,8 +27531,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x2::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28338,7 +27541,7 @@ public: void setRelatingTemplate(const ::Ifc4x2::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x2::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x2::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28411,8 +27614,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x2::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x2::IfcObject >& v); @@ -28421,7 +27623,7 @@ public: void setRelatingType(const ::Ifc4x2::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcObject > v5_RelatedObjects, ::Ifc4x2::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28434,8 +27636,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x2::IfcOpeningElement RelatingOpeningElement() const; @@ -28447,7 +27648,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x2::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x2::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28458,8 +27659,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x2::IfcDistributionControlElement > RelatedControlElements() const; @@ -28469,7 +27669,7 @@ public: void setRelatingFlowElement(const ::Ifc4x2::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28520,8 +27720,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x2::IfcElement RelatingElement() const; @@ -28540,7 +27739,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcElement v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcElement v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -28569,8 +27768,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -28584,13 +27782,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x2::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x2::IfcPositioningElement& v); @@ -28598,7 +27795,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x2::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x2::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x2::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -28634,8 +27831,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x2::IfcElement RelatingElement() const; @@ -28645,7 +27841,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x2::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingElement, ::Ifc4x2::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -28698,8 +27894,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -28712,7 +27907,7 @@ public: void setRelatingStructure(const ::Ifc4x2::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x2::IfcProduct > v5_RelatedElements, ::Ifc4x2::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -28770,8 +27965,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x2::IfcProcess RelatingProcess() const; @@ -28800,7 +27994,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess v5_RelatingProcess, ::Ifc4x2::IfcProcess v6_RelatedProcess, ::Ifc4x2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess v5_RelatingProcess, ::Ifc4x2::IfcProcess v6_RelatedProcess, ::Ifc4x2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -28825,8 +28019,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x2::IfcSystem RelatingSystem() const; @@ -28840,7 +28033,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x2::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x2::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x2::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29006,8 +28199,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x2::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29032,7 +28224,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x2::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29083,8 +28275,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x2::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29092,7 +28283,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29128,8 +28319,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x2::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29137,7 +28327,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x2::IfcElement v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29148,8 +28338,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x2::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x2::IfcElement& v); @@ -29157,7 +28346,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x2::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, ::Ifc4x2::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcElement v5_RelatingBuildingElement, ::Ifc4x2::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29184,14 +28373,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29208,8 +28396,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29225,7 +28412,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29305,8 +28492,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x2::IfcAxis1Placement Axis() const; @@ -29316,7 +28502,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29378,14 +28564,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x2::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x2::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x2::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29454,8 +28639,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29465,7 +28649,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29550,8 +28734,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -29561,13 +28744,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x2::IfcCurve& v); @@ -29575,13 +28757,12 @@ public: void setCrossSections(const std::vector< ::Ifc4x2::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x2::IfcDistanceExpression > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x2::IfcDistanceExpression >& v); @@ -29589,7 +28770,7 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); + IfcSectionedSolidHorizontal initialize(::Ifc4x2::IfcCurve v1_Directrix, std::vector< ::Ifc4x2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x2::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -29638,8 +28819,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -29690,7 +28870,7 @@ public: void setAccessState(const std::optional< ::Ifc4x2::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x2::IfcUnit v9_PrimaryUnit, ::Ifc4x2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x2::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x2::IfcUnit v9_PrimaryUnit, ::Ifc4x2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x2::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -29725,8 +28905,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -29738,7 +28917,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -29773,15 +28952,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -29859,8 +29037,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -29870,7 +29047,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -29908,12 +29085,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -29966,15 +29142,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30008,8 +29183,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30018,7 +29192,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30072,27 +29246,25 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30189,8 +29361,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30219,7 +29390,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30310,13 +29481,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30324,13 +29494,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30354,12 +29523,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30383,8 +29551,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30394,7 +29561,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30416,12 +29583,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30447,15 +29613,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30470,21 +29635,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x2::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x2::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x2::IfcCurve& v); @@ -30494,7 +29657,7 @@ public: void setMasterRepresentation(const ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -30560,8 +29723,7 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. ::Ifc4x2::IfcCurve Directrix() const; @@ -30581,7 +29743,7 @@ public: void setReferenceSurface(const ::Ifc4x2::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x2::IfcProfileDef v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x2::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -30598,8 +29760,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x2::IfcDirection ExtrudedDirection() const; @@ -30609,7 +29770,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -30630,15 +29791,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x2::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x2::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x2::IfcProfileDef v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D v2_Position, ::Ifc4x2::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -30672,14 +29832,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -30928,8 +30087,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -30972,7 +30130,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31016,8 +30174,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31028,13 +30185,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x2::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x2::IfcCartesianPointList3D& v); @@ -31042,13 +30198,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31056,7 +30211,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -31123,21 +30278,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31149,19 +30302,18 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31263,8 +30415,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31312,7 +30463,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31361,8 +30512,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x2::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31383,7 +30533,7 @@ public: void setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31402,8 +30552,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x2::IfcActorSelect TheActor() const; @@ -31411,7 +30560,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31448,12 +30597,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x2::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31478,33 +30626,30 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x2::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x2::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DHorizontalSegment() {} - explicit IfcAlignment2DHorizontalSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; ::Ifc4x2::IfcCurveSegment2D CurveGeometry() const; void setCurveGeometry(const ::Ifc4x2::IfcCurveSegment2D& v); std::vector< IfcAlignment2DHorizontal > ToHorizontal() const; // INVERSE IfcAlignment2DHorizontal::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x2::IfcCurveSegment2D v4_CurveGeometry); + IfcAlignment2DHorizontalSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x2::IfcCurveSegment2D v4_CurveGeometry); }; class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegCircularArc() {} - explicit IfcAlignment2DVerSegCircularArc (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; double Radius() const; void setRadius(const double& v); @@ -31512,23 +30657,21 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex); + IfcAlignment2DVerSegCircularArc initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex); }; class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegLine() {} - explicit IfcAlignment2DVerSegLine (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); + IfcAlignment2DVerSegLine initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); }; class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegParabolicArc() {} - explicit IfcAlignment2DVerSegParabolicArc (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; double ParabolaConstant() const; void setParabolaConstant(const double& v); @@ -31536,7 +30679,7 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex); + IfcAlignment2DVerSegParabolicArc initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -31713,13 +30856,12 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -31792,8 +30934,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -31818,7 +30959,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -31829,8 +30970,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -31849,7 +30989,7 @@ public: void setKnotSpec(const ::Ifc4x2::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -31950,8 +31090,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -31964,7 +31103,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -31975,12 +31114,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -31994,13 +31132,12 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; std::vector< IfcLinearPositioningElement > PositioningElement() const; // INVERSE IfcLinearPositioningElement::Axis static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -32033,12 +31170,11 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcBuildingElementType : public IfcElementType { public: - IfcBuildingElementType() {} - explicit IfcBuildingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuildingElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32067,15 +31203,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuildingElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x2::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32097,25 +31232,23 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32217,15 +31350,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuildingElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x2::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32237,8 +31369,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32249,7 +31380,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x2::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32319,8 +31450,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x2::IfcCompositeCurveSegment > Segments() const; @@ -32330,7 +31460,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32345,12 +31475,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32359,15 +31488,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x2::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x2::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32384,15 +31512,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32409,15 +31536,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -32434,15 +31560,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -32518,8 +31643,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x2::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x2::IfcResourceTime& v); @@ -32529,7 +31653,7 @@ public: void setBaseQuantity(const ::Ifc4x2::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -32543,8 +31667,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -32555,7 +31678,7 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -32595,8 +31718,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32619,7 +31741,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x2::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -32646,8 +31768,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -32675,7 +31796,7 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -32758,15 +31879,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuildingElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -32780,8 +31900,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -32789,7 +31908,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -32814,21 +31933,19 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuildingElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x2::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: - IfcCurveSegment2D() {} - explicit IfcCurveSegment2D (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x2::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x2::IfcCartesianPoint& v); @@ -32838,7 +31955,7 @@ public: void setSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcCurveSegment2D initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -32896,25 +32013,23 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuildingElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -32946,12 +32061,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33020,12 +32134,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33124,8 +32237,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33174,7 +32286,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33223,8 +32335,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33245,7 +32356,7 @@ public: void setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33377,8 +32488,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuildingElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x2::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33392,7 +32502,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -33468,12 +32578,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -33490,12 +32599,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -33552,8 +32660,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -33572,7 +32679,7 @@ public: std::vector< IfcRelCoversBldgElements > HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -33670,8 +32777,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -33683,7 +32789,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -33709,15 +32815,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -33798,12 +32903,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -33816,12 +32920,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -33852,8 +32955,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -33863,7 +32965,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -33890,12 +32992,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -33925,14 +33026,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x2::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -33962,15 +33062,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34000,15 +33099,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x2::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34089,8 +33187,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34110,7 +33207,7 @@ public: void setEventOccurenceTime(const ::Ifc4x2::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x2::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x2::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34119,12 +33216,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34152,12 +33248,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x2::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34185,35 +33280,32 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x2::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x2::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x2::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34225,15 +33317,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34260,15 +33351,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x2::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34366,12 +33456,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -34430,13 +33519,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -34490,13 +33578,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -34522,12 +33609,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -34554,12 +33640,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -34595,15 +33680,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x2::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -34629,12 +33713,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -34669,12 +33752,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34685,12 +33767,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -34701,12 +33782,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34718,12 +33798,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -34736,15 +33815,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuildingElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Subtype of footing. ::Ifc4x2::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -34852,12 +33930,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -34892,14 +33969,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35043,15 +34119,14 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35085,13 +34160,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35124,15 +34198,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x2::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35162,21 +34235,19 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x2::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x2::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x2::IfcCartesianPointList& v); @@ -35186,7 +34257,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35223,24 +34294,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x2::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35255,8 +34324,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35282,7 +34350,7 @@ public: void setOriginalValue(const ::Ifc4x2::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x2::IfcCostValue v10_CurrentValue, ::Ifc4x2::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x2::IfcCostValue v10_CurrentValue, ::Ifc4x2::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35313,15 +34381,14 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x2::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -35349,8 +34416,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -35358,7 +34424,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -35391,15 +34457,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x2::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -35434,25 +34499,23 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x2::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: - IfcLineSegment2D() {} - explicit IfcLineSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcLineSegment2D initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -35485,8 +34548,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -35497,7 +34559,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -35536,8 +34598,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -35550,7 +34611,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -35580,14 +34641,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -35692,15 +34752,14 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuildingElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x2::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMemberTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -35731,15 +34790,14 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x2::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -35750,8 +34808,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -35760,7 +34817,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -35966,8 +35023,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -35977,7 +35033,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -36074,12 +35130,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36112,15 +35167,14 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x2::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36129,8 +35183,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36142,7 +35195,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36177,8 +35230,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36197,7 +35249,7 @@ public: void setShapeAspectStyle(const ::Ifc4x2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36238,8 +35290,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36258,7 +35309,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36269,15 +35320,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x2::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36310,15 +35360,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x2::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -36355,15 +35404,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x2::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -36444,21 +35492,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuildingElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x2::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -36468,7 +35514,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -36486,15 +35532,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x2::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x2::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x2::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -36551,27 +35596,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -36679,8 +35722,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -36688,7 +35730,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -36735,8 +35777,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36759,7 +35800,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -36870,8 +35911,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36880,7 +35920,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -36919,15 +35959,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -36959,15 +35998,14 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x2::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPumpTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -36991,15 +36029,14 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuildingElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x2::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRailingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37023,15 +36060,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuildingElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x2::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37068,15 +36104,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuildingElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x2::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37093,21 +36128,19 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value >& v); @@ -37115,7 +36148,7 @@ public: void setRestartDistance(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37127,26 +36160,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37174,8 +36205,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37198,7 +36228,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37213,8 +36243,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37249,7 +36278,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v20_BendingParameters); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37275,8 +36304,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37290,7 +36318,7 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x2::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x2::IfcObjectDefinition > v6_RelatedObjects); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -37326,15 +36354,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuildingElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x2::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -37375,25 +36402,23 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -37418,15 +36443,14 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuildingElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x2::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -37619,8 +36643,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -37642,7 +36665,7 @@ public: void setSiteAddress(const ::Ifc4x2::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x2::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x2::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -37723,15 +36746,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuildingElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x2::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -37761,14 +36783,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x2::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38022,8 +37043,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38039,7 +37059,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38073,15 +37093,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -38166,8 +37185,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x2::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -38176,7 +37194,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -38206,15 +37224,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x2::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -38238,15 +37255,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuildingElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x2::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -38283,15 +37299,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuildingElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x2::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -38314,23 +37329,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x2::IfcBoundaryCondition AppliedCondition() const; @@ -38338,7 +37351,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -38398,8 +37411,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38409,7 +37421,7 @@ public: void setPredefinedType(const ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -38430,8 +37442,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -38440,7 +37451,7 @@ public: void setAxis(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -38481,8 +37492,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -38494,7 +37504,7 @@ public: void setAxis(const ::Ifc4x2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -38518,12 +37528,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -38577,15 +37586,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -38596,12 +37604,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -38638,8 +37645,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x2::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -38660,7 +37666,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -38709,12 +37715,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -38731,15 +37736,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x2::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x2::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -38786,12 +37790,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -38799,8 +37802,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -38814,7 +37816,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -38870,8 +37872,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38881,7 +37882,7 @@ public: void setPredefinedType(const ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -38897,12 +37898,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -38930,8 +37930,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -38939,7 +37938,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -38975,15 +37974,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39027,15 +38025,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39056,13 +38053,12 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39090,14 +38086,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39133,21 +38128,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x2::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value >& v); @@ -39167,61 +38160,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x2::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x2::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTendonTypeEnum::Value& v); @@ -39233,7 +38221,7 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -39264,21 +38252,19 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x2::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransformerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: - IfcTransitionCurveSegment2D() {} - explicit IfcTransitionCurveSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; std::optional< double > StartRadius() const; void setStartRadius(const std::optional< double >& v); @@ -39292,7 +38278,7 @@ public: void setTransitionCurveType(const ::Ifc4x2::IfcTransitionCurveType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x2::IfcTransitionCurveType::Value v8_TransitionCurveType); + IfcTransitionCurveSegment2D initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x2::IfcTransitionCurveType::Value v8_TransitionCurveType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -39412,8 +38398,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39422,7 +38407,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -39504,8 +38489,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x2::IfcCurve BasisCurve() const; @@ -39524,7 +38508,7 @@ public: void setMasterRepresentation(const ::Ifc4x2::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -39557,15 +38541,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x2::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -39597,15 +38580,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -39647,39 +38629,36 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x2::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -39717,14 +38696,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -39750,15 +38728,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -39848,12 +38825,11 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -39889,15 +38865,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -39985,15 +38960,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuildingElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x2::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -40033,15 +39007,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x2::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40166,8 +39139,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuildingElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x2::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40181,7 +39153,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40198,8 +39170,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -40219,7 +39190,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -40267,8 +39238,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -40293,7 +39263,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -40322,8 +39292,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -40331,7 +39300,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -40375,8 +39344,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -40384,7 +39352,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -40473,8 +39441,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40485,7 +39452,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -40527,8 +39494,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -40551,7 +39517,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -40581,15 +39547,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -40619,14 +39584,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x2::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -40656,21 +39620,19 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: - IfcAlignmentCurve() {} - explicit IfcAlignmentCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x2::IfcAlignment2DHorizontal Horizontal() const; void setHorizontal(const ::Ifc4x2::IfcAlignment2DHorizontal& v); @@ -40680,7 +39642,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x2::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag); + IfcAlignmentCurve initialize(::Ifc4x2::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x2::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -40708,8 +39670,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -40745,7 +39706,7 @@ public: void setDepreciatedValue(const ::Ifc4x2::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x2::IfcCostValue v7_OriginalValue, ::Ifc4x2::IfcCostValue v8_CurrentValue, ::Ifc4x2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x2::IfcActorSelect v10_Owner, ::Ifc4x2::IfcActorSelect v11_User, ::Ifc4x2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x2::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x2::IfcCostValue v7_OriginalValue, ::Ifc4x2::IfcCostValue v8_CurrentValue, ::Ifc4x2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x2::IfcActorSelect v10_Owner, ::Ifc4x2::IfcActorSelect v11_User, ::Ifc4x2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x2::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -40791,15 +39752,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -40852,8 +39812,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -40872,7 +39831,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -40893,8 +39852,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -40907,7 +39865,7 @@ public: void setKnotSpec(const ::Ifc4x2::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -41009,27 +39967,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuildingElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x2::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuildingElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; ::Ifc4x2::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -41062,15 +40018,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x2::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41081,36 +40036,33 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v10_PredefinedType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -41288,8 +40240,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -41302,7 +40253,7 @@ public: void setBuildingAddress(const ::Ifc4x2::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x2::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x2::IfcPostalAddress v12_BuildingAddress); }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -41669,12 +40620,11 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcBuildingElement : public IfcElement { public: - IfcBuildingElement() {} - explicit IfcBuildingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuildingElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -41695,15 +40645,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -41711,15 +40660,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -41913,14 +40861,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuildingElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -41958,15 +40905,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuildingElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuildingElementType(data) {} + using IfcBuildingElementType::IfcBuildingElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -42147,15 +41093,14 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcFacilityPart { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42195,8 +41140,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42205,7 +41149,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42236,14 +41180,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x2::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42273,15 +41216,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42317,15 +41259,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42357,15 +41298,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x2::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42410,27 +41350,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x2::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42466,15 +41404,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x2::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42519,8 +41456,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuildingElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42528,7 +41464,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42559,21 +41495,19 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x2::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: - IfcCircularArcSegment2D() {} - explicit IfcCircularArcSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; double Radius() const; void setRadius(const double& v); @@ -42581,17 +41515,16 @@ public: void setIsCCW(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); + IfcCircularArcSegment2D initialize(::Ifc4x2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42622,15 +41555,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x2::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42905,8 +41837,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuildingElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42916,7 +41847,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -43165,12 +42096,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -43206,15 +42136,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -43245,15 +42174,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x2::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43284,15 +42212,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x2::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43318,8 +42245,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43327,7 +42253,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43357,8 +42283,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43366,7 +42291,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43385,8 +42310,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43394,7 +42318,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43427,15 +42351,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x2::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43472,15 +42395,14 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x2::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43708,8 +42630,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuildingElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43718,7 +42639,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43860,8 +42781,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuildingElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43871,7 +42791,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43909,25 +42829,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x2::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuildingElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -44104,15 +43022,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44304,15 +43221,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44353,15 +43269,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44419,12 +43334,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44590,13 +43504,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44668,13 +43581,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44760,8 +43672,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44773,7 +43684,7 @@ public: void setSystemType(const std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44817,8 +43728,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44830,7 +43740,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -45190,8 +44100,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuildingElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -45220,7 +44129,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -45328,12 +44237,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45366,15 +44274,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x2::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45407,15 +44314,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x2::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -45445,15 +44351,14 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x2::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45486,15 +44391,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x2::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45525,15 +44429,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45564,15 +44467,14 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45608,15 +44510,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45647,15 +44548,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x2::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45686,15 +44586,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45707,12 +44606,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45757,14 +44655,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45812,14 +44709,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45887,14 +44783,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45913,8 +44808,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45922,7 +44816,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45954,15 +44848,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x2::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45995,15 +44888,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x2::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -46040,15 +44932,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -46061,12 +44952,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -46075,12 +44965,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -46114,15 +45003,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -46206,14 +45094,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -46222,12 +45109,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -46254,12 +45140,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46272,12 +45157,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46292,12 +45176,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46306,12 +45189,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46337,8 +45219,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuildingElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// The generic type of the footing. /// @@ -46347,7 +45228,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v9_PredefinedType); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46447,8 +45328,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x2::IfcGridAxis > UAxes() const; @@ -46463,7 +45343,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46517,14 +45397,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -46571,14 +45450,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46639,14 +45517,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46716,14 +45593,13 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46774,14 +45650,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46851,26 +45726,24 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; ::Ifc4x2::IfcCurve Axis() const; void setAxis(const ::Ifc4x2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46918,14 +45791,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -47179,8 +46051,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuildingElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -47190,7 +46061,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -47433,12 +46304,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -47483,14 +46353,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -47499,12 +46368,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x2::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -47574,14 +46442,13 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -47603,8 +46470,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -47618,7 +46484,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x2::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47707,14 +46573,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47778,14 +46643,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -48017,8 +46881,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuildingElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -48028,7 +46891,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -48185,12 +47048,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -48270,14 +47132,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -48321,15 +47182,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -48382,14 +47242,13 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -48525,8 +47384,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuildingElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -48535,7 +47393,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -48672,8 +47530,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuildingElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -48684,7 +47541,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48876,8 +47733,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuildingElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48887,7 +47743,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48927,15 +47783,14 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48967,8 +47822,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48983,7 +47837,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -49003,8 +47857,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x2::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -49027,7 +47880,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x2::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -49176,8 +48029,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuildingElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -49186,7 +48038,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -49316,14 +48168,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -49375,15 +48226,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x2::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -49401,8 +48251,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuildingElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -49410,7 +48259,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -49674,8 +48523,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuildingElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -49685,7 +48533,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -49772,12 +48620,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -49940,12 +48787,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -49996,14 +48842,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -50069,14 +48914,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -50130,14 +48974,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -50306,8 +49149,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuildingElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -50316,7 +49158,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -50487,8 +49329,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuildingElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -50515,7 +49356,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -50542,8 +49383,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x2::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -50575,15 +49415,14 @@ public: void setSharedPlacement(const ::Ifc4x2::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x2::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x2::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -50594,7 +49433,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -50605,12 +49444,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -50702,14 +49540,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -50773,14 +49610,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x2::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -50826,14 +49662,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -50884,14 +49719,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -50921,15 +49755,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -51005,14 +49838,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -51202,14 +50034,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -51455,8 +50286,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuildingElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -51466,7 +50296,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -51568,12 +50398,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -51779,12 +50608,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -51892,14 +50720,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -52261,8 +51088,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuildingElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -52291,7 +51117,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -52409,12 +51235,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -52449,15 +51274,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x2::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -52518,14 +51342,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -52571,14 +51394,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -52627,14 +51449,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -52664,27 +51485,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x2::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis, std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v9_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, ::Ifc4x2::IfcCurve v8_Axis, std::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v9_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -52866,14 +51685,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -53114,8 +51932,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuildingElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -53125,7 +51942,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -53380,24 +52197,22 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuildingElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuildingElement(data) {} + using IfcBuildingElement::IfcBuildingElement; std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -53470,14 +52285,13 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -53522,14 +52336,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -53594,15 +52407,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -53665,15 +52477,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -53751,15 +52562,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -53850,27 +52660,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -53943,14 +52751,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -54020,14 +52827,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54133,14 +52939,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -54190,14 +52995,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -54267,14 +53071,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -54314,15 +53117,14 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x2::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x2::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x2::IfcControllerTypeEnum::Value v10_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -54375,14 +53177,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -54443,14 +53244,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -54525,14 +53325,13 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -54567,24 +53366,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -54666,13 +53463,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -54751,14 +53547,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -54811,14 +53606,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -54864,14 +53658,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54973,14 +53766,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -55041,14 +53833,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -55093,14 +53884,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -55151,14 +53941,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -55203,14 +53992,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -55255,14 +54043,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -55320,14 +54107,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x2::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -55418,14 +54204,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -55495,14 +54280,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -55558,14 +54342,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; /// Entity Definition /// @@ -55621,14 +54404,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -55766,14 +54548,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -55832,14 +54613,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -55905,14 +54685,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -55958,14 +54737,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -56075,14 +54853,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3.cpp b/src/ifcparse/schemas/Ifc4x3.cpp index f0c2bdebb8..59aef2de51 100644 --- a/src/ifcparse/schemas/Ifc4x3.cpp +++ b/src/ifcparse/schemas/Ifc4x3.cpp @@ -7356,652 +7356,652 @@ const ifcopenshell::select_type& Ifc4x3::IfcWarpingStiffnessSelect::Class() { re // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[0]); } -void Ifc4x3::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcAbsorbedDoseMeasure Ifc4x3::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1]); } -void Ifc4x3::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcAccelerationMeasure Ifc4x3::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[42]); } -void Ifc4x3::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcAmountOfSubstanceMeasure Ifc4x3::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[45]); } -void Ifc4x3::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcAngularVelocityMeasure Ifc4x3::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[57]); } -void Ifc4x3::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcArcIndex Ifc4x3::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[58]); } -void Ifc4x3::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcAreaDensityMeasure Ifc4x3::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[59]); } -void Ifc4x3::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcAreaMeasure Ifc4x3::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[81]); } -void Ifc4x3::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcBinary Ifc4x3::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[87]); } -void Ifc4x3::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcBoolean Ifc4x3::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[102]); } -void Ifc4x3::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcBoxAlignment Ifc4x3::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[146]); } -void Ifc4x3::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcCardinalPointReference Ifc4x3::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[189]); } -void Ifc4x3::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcComplexNumber Ifc4x3::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[197]); } -void Ifc4x3::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcCompoundPlaneAngleMeasure Ifc4x3::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[227]); } -void Ifc4x3::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcContextDependentMeasure Ifc4x3::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[253]); } -void Ifc4x3::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcCountMeasure Ifc4x3::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[271]); } -void Ifc4x3::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcCurvatureMeasure Ifc4x3::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[291]); } -void Ifc4x3::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDate Ifc4x3::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[292]); } -void Ifc4x3::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDateTime Ifc4x3::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[293]); } -void Ifc4x3::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDayInMonthNumber Ifc4x3::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[294]); } -void Ifc4x3::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDayInWeekNumber Ifc4x3::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[303]); } -void Ifc4x3::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDescriptiveMeasure Ifc4x3::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[305]); } -void Ifc4x3::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDimensionCount Ifc4x3::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[346]); } -void Ifc4x3::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDoseEquivalentMeasure Ifc4x3::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[358]); } -void Ifc4x3::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDuration Ifc4x3::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[359]); } -void Ifc4x3::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcDynamicViscosityMeasure Ifc4x3::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[371]); } -void Ifc4x3::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcElectricCapacitanceMeasure Ifc4x3::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[372]); } -void Ifc4x3::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcElectricChargeMeasure Ifc4x3::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[373]); } -void Ifc4x3::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcElectricConductanceMeasure Ifc4x3::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[374]); } -void Ifc4x3::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcElectricCurrentMeasure Ifc4x3::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[390]); } -void Ifc4x3::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcElectricResistanceMeasure Ifc4x3::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[394]); } -void Ifc4x3::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcElectricVoltageMeasure Ifc4x3::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[409]); } -void Ifc4x3::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcEnergyMeasure Ifc4x3::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[490]); } -void Ifc4x3::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcFontStyle Ifc4x3::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[491]); } -void Ifc4x3::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcFontVariant Ifc4x3::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[492]); } -void Ifc4x3::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcFontWeight Ifc4x3::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[496]); } -void Ifc4x3::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcForceMeasure Ifc4x3::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[497]); } -void Ifc4x3::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcFrequencyMeasure Ifc4x3::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[519]); } -void Ifc4x3::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcGloballyUniqueId Ifc4x3::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[533]); } -void Ifc4x3::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcHeatFluxDensityMeasure Ifc4x3::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[534]); } -void Ifc4x3::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcHeatingValueMeasure Ifc4x3::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[538]); } -void Ifc4x3::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcIdentifier Ifc4x3::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[539]); } -void Ifc4x3::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcIlluminanceMeasure Ifc4x3::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[551]); } -void Ifc4x3::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcInductanceMeasure Ifc4x3::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[552]); } -void Ifc4x3::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcInteger Ifc4x3::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[553]); } -void Ifc4x3::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcIntegerCountRateMeasure Ifc4x3::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[562]); } -void Ifc4x3::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcIonConcentrationMeasure Ifc4x3::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[566]); } -void Ifc4x3::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcIsothermalMoistureCapacityMeasure Ifc4x3::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[572]); } -void Ifc4x3::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcKinematicViscosityMeasure Ifc4x3::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[574]); } -void Ifc4x3::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLabel Ifc4x3::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[582]); } -void Ifc4x3::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLanguageId Ifc4x3::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[585]); } -void Ifc4x3::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLengthMeasure Ifc4x3::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[611]); } -void Ifc4x3::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLineIndex Ifc4x3::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[605]); } -void Ifc4x3::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLinearForceMeasure Ifc4x3::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[606]); } -void Ifc4x3::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLinearMomentMeasure Ifc4x3::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[609]); } -void Ifc4x3::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLinearStiffnessMeasure Ifc4x3::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[610]); } -void Ifc4x3::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLinearVelocityMeasure Ifc4x3::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[617]); } -void Ifc4x3::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLogical Ifc4x3::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[621]); } -void Ifc4x3::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLuminousFluxMeasure Ifc4x3::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[622]); } -void Ifc4x3::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLuminousIntensityDistributionMeasure Ifc4x3::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[623]); } -void Ifc4x3::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcLuminousIntensityMeasure Ifc4x3::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[624]); } -void Ifc4x3::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMagneticFluxDensityMeasure Ifc4x3::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[625]); } -void Ifc4x3::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMagneticFluxMeasure Ifc4x3::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[633]); } -void Ifc4x3::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMassDensityMeasure Ifc4x3::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[634]); } -void Ifc4x3::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMassFlowRateMeasure Ifc4x3::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[635]); } -void Ifc4x3::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMassMeasure Ifc4x3::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[636]); } -void Ifc4x3::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMassPerLengthMeasure Ifc4x3::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[674]); } -void Ifc4x3::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcModulusOfElasticityMeasure Ifc4x3::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[675]); } -void Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[676]); } -void Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[678]); } -void Ifc4x3::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcModulusOfSubgradeReactionMeasure Ifc4x3::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[681]); } -void Ifc4x3::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMoistureDiffusivityMeasure Ifc4x3::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[682]); } -void Ifc4x3::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMolecularWeightMeasure Ifc4x3::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[683]); } -void Ifc4x3::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMomentOfInertiaMeasure Ifc4x3::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[684]); } -void Ifc4x3::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMonetaryMeasure Ifc4x3::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[686]); } -void Ifc4x3::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcMonthInYearNumber Ifc4x3::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[697]); } -void Ifc4x3::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcNonNegativeLengthMeasure Ifc4x3::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[698]); } -void Ifc4x3::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcNormalisedRatioMeasure Ifc4x3::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[699]); } -void Ifc4x3::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcNumericMeasure Ifc4x3::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[740]); } -void Ifc4x3::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPHMeasure Ifc4x3::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[726]); } -void Ifc4x3::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcParameterValue Ifc4x3::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[759]); } -void Ifc4x3::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPlanarForceMeasure Ifc4x3::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[761]); } -void Ifc4x3::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPlaneAngleMeasure Ifc4x3::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[777]); } -void Ifc4x3::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPositiveInteger Ifc4x3::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[778]); } -void Ifc4x3::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPositiveLengthMeasure Ifc4x3::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[779]); } -void Ifc4x3::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPositivePlaneAngleMeasure Ifc4x3::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[780]); } -void Ifc4x3::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPositiveRatioMeasure Ifc4x3::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[782]); } -void Ifc4x3::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPowerMeasure Ifc4x3::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[790]); } -void Ifc4x3::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPresentableText Ifc4x3::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[795]); } -void Ifc4x3::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcPressureMeasure Ifc4x3::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[829]); } -void Ifc4x3::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3::IfcPropertySetDefinitionSet Ifc4x3::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[853]); } -void Ifc4x3::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcRadioActivityMeasure Ifc4x3::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[870]); } -void Ifc4x3::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcRatioMeasure Ifc4x3::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[873]); } -void Ifc4x3::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcReal Ifc4x3::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[975]); } -void Ifc4x3::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcRotationalFrequencyMeasure Ifc4x3::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[976]); } -void Ifc4x3::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcRotationalMassMeasure Ifc4x3::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[977]); } -void Ifc4x3::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcRotationalStiffnessMeasure Ifc4x3::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[991]); } -void Ifc4x3::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSectionModulusMeasure Ifc4x3::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[986]); } -void Ifc4x3::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSectionalAreaIntegralMeasure Ifc4x3::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1009]); } -void Ifc4x3::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcShearModulusMeasure Ifc4x3::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1035]); } -void Ifc4x3::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSolidAngleMeasure Ifc4x3::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1038]); } -void Ifc4x3::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSoundPowerLevelMeasure Ifc4x3::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1039]); } -void Ifc4x3::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSoundPowerMeasure Ifc4x3::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1040]); } -void Ifc4x3::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSoundPressureLevelMeasure Ifc4x3::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1041]); } -void Ifc4x3::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSoundPressureMeasure Ifc4x3::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1057]); } -void Ifc4x3::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSpecificHeatCapacityMeasure Ifc4x3::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1058]); } -void Ifc4x3::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSpecularExponent Ifc4x3::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1060]); } -void Ifc4x3::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcSpecularRoughness Ifc4x3::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1165]); } -void Ifc4x3::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTemperatureGradientMeasure Ifc4x3::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1166]); } -void Ifc4x3::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTemperatureRateOfChangeMeasure Ifc4x3::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1178]); } -void Ifc4x3::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcText Ifc4x3::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1179]); } -void Ifc4x3::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTextAlignment Ifc4x3::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1180]); } -void Ifc4x3::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTextDecoration Ifc4x3::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1181]); } -void Ifc4x3::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTextFontName Ifc4x3::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1190]); } -void Ifc4x3::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTextTransformation Ifc4x3::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1198]); } -void Ifc4x3::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcThermalAdmittanceMeasure Ifc4x3::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1199]); } -void Ifc4x3::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcThermalConductivityMeasure Ifc4x3::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1200]); } -void Ifc4x3::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcThermalExpansionCoefficientMeasure Ifc4x3::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1201]); } -void Ifc4x3::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcThermalResistanceMeasure Ifc4x3::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1202]); } -void Ifc4x3::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcThermalTransmittanceMeasure Ifc4x3::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1203]); } -void Ifc4x3::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcThermodynamicTemperatureMeasure Ifc4x3::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1205]); } -void Ifc4x3::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTime Ifc4x3::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1206]); } -void Ifc4x3::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTimeMeasure Ifc4x3::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1212]); } -void Ifc4x3::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTimeStamp Ifc4x3::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1216]); } -void Ifc4x3::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcTorqueMeasure Ifc4x3::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1253]); } -void Ifc4x3::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcURIReference Ifc4x3::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1259]); } -void Ifc4x3::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcVaporPermeabilityMeasure Ifc4x3::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1279]); } -void Ifc4x3::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcVolumeMeasure Ifc4x3::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1280]); } -void Ifc4x3::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcVolumetricFlowRateMeasure Ifc4x3::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1285]); } -void Ifc4x3::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcWarpingConstantMeasure Ifc4x3::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_types[1286]); } -void Ifc4x3::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3::IfcWarpingMomentMeasure Ifc4x3::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -8015,7 +8015,7 @@ void Ifc4x3::IfcActionRequest::setLongDescription(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_types[2]); } -void Ifc4x3::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3::IfcActionRequest Ifc4x3::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3::IfcActorSelect Ifc4x3::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcActorSelect>(); } @@ -8024,7 +8024,7 @@ void Ifc4x3::IfcActor::setTheActor(const ::Ifc4x3::IfcActorSelect& v) { set_attr std::vector<::Ifc4x3::IfcRelAssignsToActor> Ifc4x3::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[902], 6)); } const ifcopenshell::entity& Ifc4x3::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[6]); } -void Ifc4x3::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3::IfcActor Ifc4x3::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3::IfcRoleEnum::Value Ifc4x3::IfcActorRole::Role() const { return ::Ifc4x3::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -8037,7 +8037,7 @@ void Ifc4x3::IfcActorRole::setDescription(const std::optional< std::string >& v) std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_types[7]); } -void Ifc4x3::IfcActorRole::initialize(::Ifc4x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3::IfcActorRole Ifc4x3::IfcActorRole::initialize(::Ifc4x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > Ifc4x3::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -8045,7 +8045,7 @@ void Ifc4x3::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3::IfcAc const ifcopenshell::entity& Ifc4x3::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_types[9]); } -void Ifc4x3::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcActuator Ifc4x3::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3::IfcActuatorTypeEnum::Value Ifc4x3::IfcActuatorType::PredefinedType() const { return ::Ifc4x3::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -8053,7 +8053,7 @@ void Ifc4x3::IfcActuatorType::setPredefinedType(const ::Ifc4x3::IfcActuatorTypeE const ifcopenshell::entity& Ifc4x3::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[10]); } -void Ifc4x3::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcActuatorType Ifc4x3::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > Ifc4x3::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -8067,13 +8067,13 @@ std::vector<::Ifc4x3::IfcPerson> Ifc4x3::IfcAddress::OfPerson() const { return c std::vector<::Ifc4x3::IfcOrganization> Ifc4x3::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[717], 4)); } const ifcopenshell::entity& Ifc4x3::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_types[12]); } -void Ifc4x3::IfcAddress::initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3::IfcAddress Ifc4x3::IfcAddress::initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_types[14]); } -void Ifc4x3::IfcAdvancedBrep::initialize(::Ifc4x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3::IfcAdvancedBrep Ifc4x3::IfcAdvancedBrep::initialize(::Ifc4x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3::IfcClosedShell > Ifc4x3::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3::IfcClosedShell>(es); } @@ -8081,13 +8081,13 @@ void Ifc4x3::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_types[15]); } -void Ifc4x3::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3::IfcAdvancedBrepWithVoids Ifc4x3::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_types[16]); } -void Ifc4x3::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3::IfcAdvancedFace Ifc4x3::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > Ifc4x3::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -8095,7 +8095,7 @@ void Ifc4x3::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[17]); } -void Ifc4x3::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcAirTerminal Ifc4x3::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -8103,7 +8103,7 @@ void Ifc4x3::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_types[18]); } -void Ifc4x3::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcAirTerminalBox Ifc4x3::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -8111,7 +8111,7 @@ void Ifc4x3::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3::IfcAirTerm const ifcopenshell::entity& Ifc4x3::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[19]); } -void Ifc4x3::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcAirTerminalBoxType Ifc4x3::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3::IfcAirTerminalTypeEnum::Value Ifc4x3::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -8119,7 +8119,7 @@ void Ifc4x3::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3::IfcAirTermina const ifcopenshell::entity& Ifc4x3::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[21]); } -void Ifc4x3::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcAirTerminalType Ifc4x3::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -8127,7 +8127,7 @@ void Ifc4x3::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_types[23]); } -void Ifc4x3::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcAirToAirHeatRecovery Ifc4x3::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -8135,7 +8135,7 @@ void Ifc4x3::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3::IfcA const ifcopenshell::entity& Ifc4x3::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[24]); } -void Ifc4x3::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcAirToAirHeatRecoveryType Ifc4x3::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > Ifc4x3::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8143,7 +8143,7 @@ void Ifc4x3::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3::IfcAlarm const ifcopenshell::entity& Ifc4x3::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_types[26]); } -void Ifc4x3::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcAlarm Ifc4x3::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3::IfcAlarmTypeEnum::Value Ifc4x3::IfcAlarmType::PredefinedType() const { return ::Ifc4x3::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8151,7 +8151,7 @@ void Ifc4x3::IfcAlarmType::setPredefinedType(const ::Ifc4x3::IfcAlarmTypeEnum::V const ifcopenshell::entity& Ifc4x3::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[27]); } -void Ifc4x3::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcAlarmType Ifc4x3::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > Ifc4x3::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } @@ -8159,7 +8159,7 @@ void Ifc4x3::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3::IfcA const ifcopenshell::entity& Ifc4x3::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[29]); } -void Ifc4x3::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3::IfcAlignment Ifc4x3::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8167,7 +8167,7 @@ void Ifc4x3::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_types[30]); } -void Ifc4x3::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance)); } +Ifc4x3::IfcAlignmentCant Ifc4x3::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8187,13 +8187,13 @@ void Ifc4x3::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3::IfcAlign const ifcopenshell::entity& Ifc4x3::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[31]); } -void Ifc4x3::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3::IfcAlignmentCantSegment Ifc4x3::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal const ifcopenshell::entity& Ifc4x3::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[33]); } -void Ifc4x3::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcAlignmentHorizontal Ifc4x3::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3::IfcCartesianPoint Ifc4x3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcCartesianPoint>(); } @@ -8213,7 +8213,7 @@ void Ifc4x3::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[34]); } -void Ifc4x3::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3::IfcAlignmentHorizontalSegment Ifc4x3::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8223,7 +8223,7 @@ void Ifc4x3::IfcAlignmentParameterSegment::setEndTag(const std::optional< std::s const ifcopenshell::entity& Ifc4x3::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[36]); } -void Ifc4x3::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3::IfcAlignmentParameterSegment Ifc4x3::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3::IfcAlignmentParameterSegment Ifc4x3::IfcAlignmentSegment::DesignParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcAlignmentParameterSegment>(); } @@ -8231,13 +8231,13 @@ void Ifc4x3::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3::IfcAlignme const ifcopenshell::entity& Ifc4x3::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[37]); } -void Ifc4x3::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters)); } +Ifc4x3::IfcAlignmentSegment Ifc4x3::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters));; return *this; } // Function implementations for IfcAlignmentVertical const ifcopenshell::entity& Ifc4x3::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_types[39]); } -void Ifc4x3::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcAlignmentVertical Ifc4x3::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8257,7 +8257,7 @@ void Ifc4x3::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3::IfcA const ifcopenshell::entity& Ifc4x3::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[40]); } -void Ifc4x3::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3::IfcAlignmentVerticalSegment Ifc4x3::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > Ifc4x3::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8266,7 +8266,7 @@ void Ifc4x3::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3::Ifc std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[927], 4)); } const ifcopenshell::entity& Ifc4x3::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[46]); } -void Ifc4x3::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3::IfcAnnotation Ifc4x3::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3::IfcCurve Ifc4x3::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -8276,7 +8276,7 @@ void Ifc4x3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< std: const ifcopenshell::entity& Ifc4x3::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_types[47]); } -void Ifc4x3::IfcAnnotationFillArea::initialize(::Ifc4x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3::IfcAnnotationFillArea Ifc4x3::IfcAnnotationFillArea::initialize(::Ifc4x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3::IfcOrganization Ifc4x3::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcOrganization>(); } @@ -8290,7 +8290,7 @@ void Ifc4x3::IfcApplication::setApplicationIdentifier(const std::string& v) { se const ifcopenshell::entity& Ifc4x3::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_types[49]); } -void Ifc4x3::IfcApplication::initialize(::Ifc4x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3::IfcApplication Ifc4x3::IfcApplication::initialize(::Ifc4x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8317,7 +8317,7 @@ void Ifc4x3::IfcAppliedValue::setComponents(const std::optional< std::vector< :: std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[50]); } -void Ifc4x3::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3::IfcAppliedValue Ifc4x3::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8346,7 +8346,7 @@ std::vector<::Ifc4x3::IfcApprovalRelationship> Ifc4x3::IfcApproval::IsRelatedWit std::vector<::Ifc4x3::IfcApprovalRelationship> Ifc4x3::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[53], 2)); } const ifcopenshell::entity& Ifc4x3::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_types[52]); } -void Ifc4x3::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3::IfcApproval Ifc4x3::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3::IfcApproval Ifc4x3::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcApproval>(); } @@ -8356,7 +8356,7 @@ void Ifc4x3::IfcApprovalRelationship::setRelatedApprovals(const std::vector< ::I const ifcopenshell::entity& Ifc4x3::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[53]); } -void Ifc4x3::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3::IfcApprovalRelationship Ifc4x3::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3::IfcCurve Ifc4x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcCurve>(); } @@ -8364,7 +8364,7 @@ void Ifc4x3::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3::IfcCurv const ifcopenshell::entity& Ifc4x3::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[54]); } -void Ifc4x3::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3::IfcArbitraryClosedProfileDef Ifc4x3::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3::IfcBoundedCurve Ifc4x3::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcBoundedCurve>(); } @@ -8372,7 +8372,7 @@ void Ifc4x3::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3::IfcBoundedCurv const ifcopenshell::entity& Ifc4x3::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[55]); } -void Ifc4x3::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3::IfcArbitraryOpenProfileDef Ifc4x3::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3::IfcCurve > Ifc4x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3::IfcCurve>(es); } @@ -8380,7 +8380,7 @@ void Ifc4x3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vector< const ifcopenshell::entity& Ifc4x3::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_types[56]); } -void Ifc4x3::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3::IfcArbitraryProfileDefWithVoids Ifc4x3::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8404,7 +8404,7 @@ void Ifc4x3::IfcAsset::setDepreciatedValue(const ::Ifc4x3::IfcCostValue& v) { se const ifcopenshell::entity& Ifc4x3::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_types[62]); } -void Ifc4x3::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3::IfcCostValue v7_OriginalValue, ::Ifc4x3::IfcCostValue v8_CurrentValue, ::Ifc4x3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3::IfcActorSelect v10_Owner, ::Ifc4x3::IfcActorSelect v11_User, ::Ifc4x3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3::IfcAsset Ifc4x3::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3::IfcCostValue v7_OriginalValue, ::Ifc4x3::IfcCostValue v8_CurrentValue, ::Ifc4x3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3::IfcActorSelect v10_Owner, ::Ifc4x3::IfcActorSelect v11_User, ::Ifc4x3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8434,7 +8434,7 @@ void Ifc4x3::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[63]); } -void Ifc4x3::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3::IfcAsymmetricIShapeProfileDef Ifc4x3::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8442,7 +8442,7 @@ void Ifc4x3::IfcAudioVisualAppliance::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_types[64]); } -void Ifc4x3::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcAudioVisualAppliance Ifc4x3::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8450,7 +8450,7 @@ void Ifc4x3::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3::IfcA const ifcopenshell::entity& Ifc4x3::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[65]); } -void Ifc4x3::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcAudioVisualApplianceType Ifc4x3::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3::IfcDirection Ifc4x3::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcDirection>(); } @@ -8458,7 +8458,7 @@ void Ifc4x3::IfcAxis1Placement::setAxis(const ::Ifc4x3::IfcDirection& v) { set_a const ifcopenshell::entity& Ifc4x3::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[67]); } -void Ifc4x3::IfcAxis1Placement::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3::IfcAxis1Placement Ifc4x3::IfcAxis1Placement::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3::IfcDirection Ifc4x3::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcDirection>(); } @@ -8466,7 +8466,7 @@ void Ifc4x3::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3::IfcDirection& const ifcopenshell::entity& Ifc4x3::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[69]); } -void Ifc4x3::IfcAxis2Placement2D::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3::IfcAxis2Placement2D Ifc4x3::IfcAxis2Placement2D::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3::IfcDirection Ifc4x3::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcDirection>(); } @@ -8476,7 +8476,7 @@ void Ifc4x3::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3::IfcDirection& const ifcopenshell::entity& Ifc4x3::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[70]); } -void Ifc4x3::IfcAxis2Placement3D::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3::IfcAxis2Placement3D Ifc4x3::IfcAxis2Placement3D::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3::IfcDirection Ifc4x3::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcDirection>(); } @@ -8486,7 +8486,7 @@ void Ifc4x3::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3::IfcDirecti const ifcopenshell::entity& Ifc4x3::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_types[71]); } -void Ifc4x3::IfcAxis2PlacementLinear::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3::IfcAxis2PlacementLinear Ifc4x3::IfcAxis2PlacementLinear::initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8502,7 +8502,7 @@ void Ifc4x3::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& v) { const ifcopenshell::entity& Ifc4x3::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[108]); } -void Ifc4x3::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3::IfcBSplineCurve Ifc4x3::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8514,7 +8514,7 @@ void Ifc4x3::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3::IfcKnotType:: const ifcopenshell::entity& Ifc4x3::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_types[110]); } -void Ifc4x3::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3::IfcBSplineCurveWithKnots Ifc4x3::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8534,7 +8534,7 @@ void Ifc4x3::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x3::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[111]); } -void Ifc4x3::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3::IfcBSplineSurface Ifc4x3::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8550,7 +8550,7 @@ void Ifc4x3::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3::IfcKnotType const ifcopenshell::entity& Ifc4x3::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_types[113]); } -void Ifc4x3::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3::IfcBSplineSurfaceWithKnots Ifc4x3::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > Ifc4x3::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8558,7 +8558,7 @@ void Ifc4x3::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3::IfcBeamTy const ifcopenshell::entity& Ifc4x3::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_types[72]); } -void Ifc4x3::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcBeam Ifc4x3::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3::IfcBeamTypeEnum::Value Ifc4x3::IfcBeamType::PredefinedType() const { return ::Ifc4x3::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8566,7 +8566,7 @@ void Ifc4x3::IfcBeamType::setPredefinedType(const ::Ifc4x3::IfcBeamTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[73]); } -void Ifc4x3::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcBeamType Ifc4x3::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > Ifc4x3::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8574,7 +8574,7 @@ void Ifc4x3::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3::IfcBea const ifcopenshell::entity& Ifc4x3::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_types[75]); } -void Ifc4x3::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcBearing Ifc4x3::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3::IfcBearingTypeEnum::Value Ifc4x3::IfcBearingType::PredefinedType() const { return ::Ifc4x3::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8582,7 +8582,7 @@ void Ifc4x3::IfcBearingType::setPredefinedType(const ::Ifc4x3::IfcBearingTypeEnu const ifcopenshell::entity& Ifc4x3::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[76]); } -void Ifc4x3::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcBearingType Ifc4x3::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8592,7 +8592,7 @@ void Ifc4x3::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) { s const ifcopenshell::entity& Ifc4x3::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_types[82]); } -void Ifc4x3::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3::IfcBlobTexture Ifc4x3::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8604,7 +8604,7 @@ void Ifc4x3::IfcBlock::setZLength(const double& v) { set_attribute_value(3, v);i const ifcopenshell::entity& Ifc4x3::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_types[83]); } -void Ifc4x3::IfcBlock::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3::IfcBlock Ifc4x3::IfcBlock::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > Ifc4x3::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8612,7 +8612,7 @@ void Ifc4x3::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3::IfcBoil const ifcopenshell::entity& Ifc4x3::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_types[84]); } -void Ifc4x3::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcBoiler Ifc4x3::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3::IfcBoilerTypeEnum::Value Ifc4x3::IfcBoilerType::PredefinedType() const { return ::Ifc4x3::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8620,13 +8620,13 @@ void Ifc4x3::IfcBoilerType::setPredefinedType(const ::Ifc4x3::IfcBoilerTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[85]); } -void Ifc4x3::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcBoilerType Ifc4x3::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_types[88]); } -void Ifc4x3::IfcBooleanClippingResult::initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3::IfcBooleanClippingResult Ifc4x3::IfcBooleanClippingResult::initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3::IfcBooleanOperator::Value Ifc4x3::IfcBooleanResult::Operator() const { return ::Ifc4x3::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8638,13 +8638,13 @@ void Ifc4x3::IfcBooleanResult::setSecondOperand(const ::Ifc4x3::IfcBooleanOperan const ifcopenshell::entity& Ifc4x3::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_types[91]); } -void Ifc4x3::IfcBooleanResult::initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3::IfcBooleanResult Ifc4x3::IfcBooleanResult::initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_types[92]); } -void Ifc4x3::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcBorehole Ifc4x3::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8652,13 +8652,13 @@ void Ifc4x3::IfcBoundaryCondition::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[93]); } -void Ifc4x3::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcBoundaryCondition Ifc4x3::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[94]); } -void Ifc4x3::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3::IfcBoundaryCurve Ifc4x3::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8676,7 +8676,7 @@ void Ifc4x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const ::I const ifcopenshell::entity& Ifc4x3::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[95]); } -void Ifc4x3::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3::IfcBoundaryEdgeCondition Ifc4x3::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3::IfcModulusOfSubgradeReactionSelect Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(); } @@ -8688,7 +8688,7 @@ void Ifc4x3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(const :: const ifcopenshell::entity& Ifc4x3::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[96]); } -void Ifc4x3::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3::IfcBoundaryFaceCondition Ifc4x3::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3::IfcTranslationalStiffnessSelect Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcTranslationalStiffnessSelect>(); } @@ -8706,7 +8706,7 @@ void Ifc4x3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[97]); } -void Ifc4x3::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3::IfcBoundaryNodeCondition Ifc4x3::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3::IfcWarpingStiffnessSelect Ifc4x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcWarpingStiffnessSelect>(); } @@ -8714,19 +8714,19 @@ void Ifc4x3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_types[98]); } -void Ifc4x3::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3::IfcBoundaryNodeConditionWarping Ifc4x3::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x3::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[99]); } -void Ifc4x3::IfcBoundedCurve::initialize() { } +Ifc4x3::IfcBoundedCurve Ifc4x3::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[100]); } -void Ifc4x3::IfcBoundedSurface::initialize() { } +Ifc4x3::IfcBoundedSurface Ifc4x3::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3::IfcCartesianPoint Ifc4x3::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCartesianPoint>(); } @@ -8740,7 +8740,7 @@ void Ifc4x3::IfcBoundingBox::setZDim(const double& v) { set_attribute_value(3, v const ifcopenshell::entity& Ifc4x3::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_types[101]); } -void Ifc4x3::IfcBoundingBox::initialize(::Ifc4x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3::IfcBoundingBox Ifc4x3::IfcBoundingBox::initialize(::Ifc4x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3::IfcBoundingBox Ifc4x3::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcBoundingBox>(); } @@ -8748,7 +8748,7 @@ void Ifc4x3::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3::IfcBoundingBox& v) const ifcopenshell::entity& Ifc4x3::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_types[103]); } -void Ifc4x3::IfcBoxedHalfSpace::initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3::IfcBoxedHalfSpace Ifc4x3::IfcBoxedHalfSpace::initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > Ifc4x3::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8756,7 +8756,7 @@ void Ifc4x3::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3::IfcBrid const ifcopenshell::entity& Ifc4x3::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_types[104]); } -void Ifc4x3::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcBridge Ifc4x3::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > Ifc4x3::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } @@ -8764,7 +8764,7 @@ void Ifc4x3::IfcBridgePart::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X3_types[105]); } -void Ifc4x3::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcBridgePart Ifc4x3::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8776,7 +8776,7 @@ void Ifc4x3::IfcBuilding::setBuildingAddress(const ::Ifc4x3::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x3::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_types[114]); } -void Ifc4x3::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3::IfcBuilding Ifc4x3::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8784,7 +8784,7 @@ void Ifc4x3::IfcBuildingElementPart::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_types[115]); } -void Ifc4x3::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcBuildingElementPart Ifc4x3::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value Ifc4x3::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8792,7 +8792,7 @@ void Ifc4x3::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3::IfcBu const ifcopenshell::entity& Ifc4x3::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[116]); } -void Ifc4x3::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcBuildingElementPartType Ifc4x3::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8800,7 +8800,7 @@ void Ifc4x3::IfcBuildingElementProxy::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_types[118]); } -void Ifc4x3::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcBuildingElementProxy Ifc4x3::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8808,7 +8808,7 @@ void Ifc4x3::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3::IfcB const ifcopenshell::entity& Ifc4x3::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[119]); } -void Ifc4x3::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcBuildingElementProxyType Ifc4x3::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8816,7 +8816,7 @@ void Ifc4x3::IfcBuildingStorey::setElevation(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_types[121]); } -void Ifc4x3::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3::IfcBuildingStorey Ifc4x3::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > Ifc4x3::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8826,19 +8826,19 @@ void Ifc4x3::IfcBuildingSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[122]); } -void Ifc4x3::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3::IfcBuildingSystem Ifc4x3::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[124]); } -void Ifc4x3::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcBuiltElement Ifc4x3::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[125]); } -void Ifc4x3::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcBuiltElementType Ifc4x3::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > Ifc4x3::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8848,7 +8848,7 @@ void Ifc4x3::IfcBuiltSystem::setLongName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[126]); } -void Ifc4x3::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3::IfcBuiltSystem Ifc4x3::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > Ifc4x3::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8856,7 +8856,7 @@ void Ifc4x3::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3::IfcBurn const ifcopenshell::entity& Ifc4x3::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_types[128]); } -void Ifc4x3::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcBurner Ifc4x3::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3::IfcBurnerTypeEnum::Value Ifc4x3::IfcBurnerType::PredefinedType() const { return ::Ifc4x3::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8864,7 +8864,7 @@ void Ifc4x3::IfcBurnerType::setPredefinedType(const ::Ifc4x3::IfcBurnerTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[129]); } -void Ifc4x3::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcBurnerType Ifc4x3::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8880,7 +8880,7 @@ void Ifc4x3::IfcCShapeProfileDef::setInternalFilletRadius(const std::optional< d const ifcopenshell::entity& Ifc4x3::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[266]); } -void Ifc4x3::IfcCShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3::IfcCShapeProfileDef Ifc4x3::IfcCShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8888,7 +8888,7 @@ void Ifc4x3::IfcCableCarrierFitting::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[131]); } -void Ifc4x3::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCableCarrierFitting Ifc4x3::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8896,7 +8896,7 @@ void Ifc4x3::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3::IfcCa const ifcopenshell::entity& Ifc4x3::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[132]); } -void Ifc4x3::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCableCarrierFittingType Ifc4x3::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8904,7 +8904,7 @@ void Ifc4x3::IfcCableCarrierSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[134]); } -void Ifc4x3::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCableCarrierSegment Ifc4x3::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8912,7 +8912,7 @@ void Ifc4x3::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3::IfcCa const ifcopenshell::entity& Ifc4x3::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[135]); } -void Ifc4x3::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCableCarrierSegmentType Ifc4x3::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > Ifc4x3::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8920,7 +8920,7 @@ void Ifc4x3::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[137]); } -void Ifc4x3::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCableFitting Ifc4x3::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3::IfcCableFittingTypeEnum::Value Ifc4x3::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8928,7 +8928,7 @@ void Ifc4x3::IfcCableFittingType::setPredefinedType(const ::Ifc4x3::IfcCableFitt const ifcopenshell::entity& Ifc4x3::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[138]); } -void Ifc4x3::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCableFittingType Ifc4x3::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > Ifc4x3::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8936,7 +8936,7 @@ void Ifc4x3::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[140]); } -void Ifc4x3::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCableSegment Ifc4x3::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3::IfcCableSegmentTypeEnum::Value Ifc4x3::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8944,7 +8944,7 @@ void Ifc4x3::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3::IfcCableSegm const ifcopenshell::entity& Ifc4x3::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[141]); } -void Ifc4x3::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCableSegmentType Ifc4x3::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8952,7 +8952,7 @@ void Ifc4x3::IfcCaissonFoundation::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[143]); } -void Ifc4x3::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCaissonFoundation Ifc4x3::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value Ifc4x3::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8960,7 +8960,7 @@ void Ifc4x3::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3::IfcCais const ifcopenshell::entity& Ifc4x3::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[144]); } -void Ifc4x3::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCaissonFoundationType Ifc4x3::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8968,13 +8968,13 @@ void Ifc4x3::IfcCartesianPoint::setCoordinates(const std::vector< double > /*[1: const ifcopenshell::entity& Ifc4x3::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_types[147]); } -void Ifc4x3::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3::IfcCartesianPoint Ifc4x3::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_types[148]); } -void Ifc4x3::IfcCartesianPointList::initialize() { } +Ifc4x3::IfcCartesianPointList Ifc4x3::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8984,7 +8984,7 @@ void Ifc4x3::IfcCartesianPointList2D::setTagList(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[149]); } -void Ifc4x3::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3::IfcCartesianPointList2D Ifc4x3::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8994,7 +8994,7 @@ void Ifc4x3::IfcCartesianPointList3D::setTagList(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[150]); } -void Ifc4x3::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3::IfcCartesianPointList3D Ifc4x3::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3::IfcDirection Ifc4x3::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcDirection>(); } @@ -9008,13 +9008,13 @@ void Ifc4x3::IfcCartesianTransformationOperator::setScale(const std::optional< d const ifcopenshell::entity& Ifc4x3::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_types[151]); } -void Ifc4x3::IfcCartesianTransformationOperator::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3::IfcCartesianTransformationOperator Ifc4x3::IfcCartesianTransformationOperator::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[152]); } -void Ifc4x3::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3::IfcCartesianTransformationOperator2D Ifc4x3::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -9022,7 +9022,7 @@ void Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::setScale2(const std const ifcopenshell::entity& Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_types[153]); } -void Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3::IfcCartesianTransformationOperator2DnonUniform Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3::IfcDirection Ifc4x3::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcDirection>(); } @@ -9030,7 +9030,7 @@ void Ifc4x3::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3::IfcD const ifcopenshell::entity& Ifc4x3::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[154]); } -void Ifc4x3::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3::IfcCartesianTransformationOperator3D Ifc4x3::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -9040,7 +9040,7 @@ void Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::setScale3(const std const ifcopenshell::entity& Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_types[155]); } -void Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3::IfcCartesianTransformationOperator3DnonUniform Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -9048,7 +9048,7 @@ void Ifc4x3::IfcCenterLineProfileDef::setThickness(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[156]); } -void Ifc4x3::IfcCenterLineProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3::IfcCenterLineProfileDef Ifc4x3::IfcCenterLineProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > Ifc4x3::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -9056,7 +9056,7 @@ void Ifc4x3::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3::IfcChi const ifcopenshell::entity& Ifc4x3::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_types[158]); } -void Ifc4x3::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcChiller Ifc4x3::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3::IfcChillerTypeEnum::Value Ifc4x3::IfcChillerType::PredefinedType() const { return ::Ifc4x3::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -9064,7 +9064,7 @@ void Ifc4x3::IfcChillerType::setPredefinedType(const ::Ifc4x3::IfcChillerTypeEnu const ifcopenshell::entity& Ifc4x3::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[159]); } -void Ifc4x3::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcChillerType Ifc4x3::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > Ifc4x3::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -9072,7 +9072,7 @@ void Ifc4x3::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3::IfcChi const ifcopenshell::entity& Ifc4x3::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_types[161]); } -void Ifc4x3::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcChimney Ifc4x3::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3::IfcChimneyTypeEnum::Value Ifc4x3::IfcChimneyType::PredefinedType() const { return ::Ifc4x3::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -9080,7 +9080,7 @@ void Ifc4x3::IfcChimneyType::setPredefinedType(const ::Ifc4x3::IfcChimneyTypeEnu const ifcopenshell::entity& Ifc4x3::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[162]); } -void Ifc4x3::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcChimneyType Ifc4x3::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -9088,7 +9088,7 @@ void Ifc4x3::IfcCircle::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc4x3::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[164]); } -void Ifc4x3::IfcCircle::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3::IfcCircle Ifc4x3::IfcCircle::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -9096,7 +9096,7 @@ void Ifc4x3::IfcCircleHollowProfileDef::setWallThickness(const double& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[165]); } -void Ifc4x3::IfcCircleHollowProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3::IfcCircleHollowProfileDef Ifc4x3::IfcCircleHollowProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -9104,19 +9104,19 @@ void Ifc4x3::IfcCircleProfileDef::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[166]); } -void Ifc4x3::IfcCircleProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3::IfcCircleProfileDef Ifc4x3::IfcCircleProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[167]); } -void Ifc4x3::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcCivilElement Ifc4x3::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[168]); } -void Ifc4x3::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcCivilElementType Ifc4x3::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9138,7 +9138,7 @@ std::vector<::Ifc4x3::IfcRelAssociatesClassification> Ifc4x3::IfcClassification: std::vector<::Ifc4x3::IfcClassificationReference> Ifc4x3::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[170], 3)); } const ifcopenshell::entity& Ifc4x3::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_types[169]); } -void Ifc4x3::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3::IfcClassification Ifc4x3::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3::IfcClassificationReferenceSelect Ifc4x3::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcClassificationReferenceSelect>(); } @@ -9152,13 +9152,13 @@ std::vector<::Ifc4x3::IfcRelAssociatesClassification> Ifc4x3::IfcClassificationR std::vector<::Ifc4x3::IfcClassificationReference> Ifc4x3::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[170], 3)); } const ifcopenshell::entity& Ifc4x3::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_types[170]); } -void Ifc4x3::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3::IfcClassificationReference Ifc4x3::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_types[173]); } -void Ifc4x3::IfcClosedShell::initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3::IfcClosedShell Ifc4x3::IfcClosedShell::initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid double Ifc4x3::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } @@ -9166,7 +9166,7 @@ void Ifc4x3::IfcClothoid::setClothoidConstant(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x3::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[174]); } -void Ifc4x3::IfcClothoid::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3::IfcClothoid Ifc4x3::IfcClothoid::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > Ifc4x3::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9174,7 +9174,7 @@ void Ifc4x3::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3::IfcCoilTy const ifcopenshell::entity& Ifc4x3::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_types[175]); } -void Ifc4x3::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCoil Ifc4x3::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3::IfcCoilTypeEnum::Value Ifc4x3::IfcCoilType::PredefinedType() const { return ::Ifc4x3::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9182,7 +9182,7 @@ void Ifc4x3::IfcCoilType::setPredefinedType(const ::Ifc4x3::IfcCoilTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[176]); } -void Ifc4x3::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCoilType Ifc4x3::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9194,7 +9194,7 @@ void Ifc4x3::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, v); const ifcopenshell::entity& Ifc4x3::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_types[180]); } -void Ifc4x3::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3::IfcColourRgb Ifc4x3::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9202,7 +9202,7 @@ void Ifc4x3::IfcColourRgbList::setColourList(const std::vector< std::vector< dou const ifcopenshell::entity& Ifc4x3::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_types[181]); } -void Ifc4x3::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3::IfcColourRgbList Ifc4x3::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9210,7 +9210,7 @@ void Ifc4x3::IfcColourSpecification::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_types[182]); } -void Ifc4x3::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcColourSpecification Ifc4x3::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > Ifc4x3::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9218,7 +9218,7 @@ void Ifc4x3::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3::IfcColu const ifcopenshell::entity& Ifc4x3::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_types[183]); } -void Ifc4x3::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcColumn Ifc4x3::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3::IfcColumnTypeEnum::Value Ifc4x3::IfcColumnType::PredefinedType() const { return ::Ifc4x3::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9226,7 +9226,7 @@ void Ifc4x3::IfcColumnType::setPredefinedType(const ::Ifc4x3::IfcColumnTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[184]); } -void Ifc4x3::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcColumnType Ifc4x3::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9234,7 +9234,7 @@ void Ifc4x3::IfcCommunicationsAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_types[186]); } -void Ifc4x3::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCommunicationsAppliance Ifc4x3::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9242,7 +9242,7 @@ void Ifc4x3::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[187]); } -void Ifc4x3::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCommunicationsApplianceType Ifc4x3::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9252,7 +9252,7 @@ void Ifc4x3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_types[190]); } -void Ifc4x3::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3::IfcComplexProperty Ifc4x3::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9264,7 +9264,7 @@ void Ifc4x3::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std::opti const ifcopenshell::entity& Ifc4x3::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[191]); } -void Ifc4x3::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3::IfcComplexPropertyTemplate Ifc4x3::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3::IfcSegment > Ifc4x3::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcSegment>(es); } @@ -9274,13 +9274,13 @@ void Ifc4x3::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x3::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[193]); } -void Ifc4x3::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3::IfcCompositeCurve Ifc4x3::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[194]); } -void Ifc4x3::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3::IfcCompositeCurveOnSurface Ifc4x3::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9290,7 +9290,7 @@ void Ifc4x3::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3::IfcCurve& const ifcopenshell::entity& Ifc4x3::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[195]); } -void Ifc4x3::IfcCompositeCurveSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3::IfcCompositeCurveSegment Ifc4x3::IfcCompositeCurveSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3::IfcProfileDef > Ifc4x3::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcProfileDef>(es); } @@ -9300,7 +9300,7 @@ void Ifc4x3::IfcCompositeProfileDef::setLabel(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[196]); } -void Ifc4x3::IfcCompositeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3::IfcCompositeProfileDef Ifc4x3::IfcCompositeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > Ifc4x3::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9308,7 +9308,7 @@ void Ifc4x3::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[198]); } -void Ifc4x3::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCompressor Ifc4x3::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3::IfcCompressorTypeEnum::Value Ifc4x3::IfcCompressorType::PredefinedType() const { return ::Ifc4x3::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9316,7 +9316,7 @@ void Ifc4x3::IfcCompressorType::setPredefinedType(const ::Ifc4x3::IfcCompressorT const ifcopenshell::entity& Ifc4x3::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[199]); } -void Ifc4x3::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCompressorType Ifc4x3::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > Ifc4x3::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9324,7 +9324,7 @@ void Ifc4x3::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3::IfcC const ifcopenshell::entity& Ifc4x3::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_types[201]); } -void Ifc4x3::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCondenser Ifc4x3::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3::IfcCondenserTypeEnum::Value Ifc4x3::IfcCondenserType::PredefinedType() const { return ::Ifc4x3::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9332,7 +9332,7 @@ void Ifc4x3::IfcCondenserType::setPredefinedType(const ::Ifc4x3::IfcCondenserTyp const ifcopenshell::entity& Ifc4x3::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[202]); } -void Ifc4x3::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCondenserType Ifc4x3::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3::IfcAxis2Placement Ifc4x3::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcAxis2Placement>(); } @@ -9340,7 +9340,7 @@ void Ifc4x3::IfcConic::setPosition(const ::Ifc4x3::IfcAxis2Placement& v) { set_a const ifcopenshell::entity& Ifc4x3::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_types[204]); } -void Ifc4x3::IfcConic::initialize(::Ifc4x3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3::IfcConic Ifc4x3::IfcConic::initialize(::Ifc4x3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3::IfcFace > Ifc4x3::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcFace>(es); } @@ -9348,7 +9348,7 @@ void Ifc4x3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3::IfcFa const ifcopenshell::entity& Ifc4x3::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[205]); } -void Ifc4x3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3::IfcConnectedFaceSet Ifc4x3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3::IfcCurveOrEdgeCurve Ifc4x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurveOrEdgeCurve>(); } @@ -9358,13 +9358,13 @@ void Ifc4x3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_types[206]); } -void Ifc4x3::IfcConnectionCurveGeometry::initialize(::Ifc4x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3::IfcConnectionCurveGeometry Ifc4x3::IfcConnectionCurveGeometry::initialize(::Ifc4x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_types[207]); } -void Ifc4x3::IfcConnectionGeometry::initialize() { } +Ifc4x3::IfcConnectionGeometry Ifc4x3::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9376,7 +9376,7 @@ void Ifc4x3::IfcConnectionPointEccentricity::setEccentricityInZ(const std::optio const ifcopenshell::entity& Ifc4x3::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[208]); } -void Ifc4x3::IfcConnectionPointEccentricity::initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3::IfcConnectionPointEccentricity Ifc4x3::IfcConnectionPointEccentricity::initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3::IfcPointOrVertexPoint Ifc4x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPointOrVertexPoint>(); } @@ -9386,7 +9386,7 @@ void Ifc4x3::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_types[209]); } -void Ifc4x3::IfcConnectionPointGeometry::initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3::IfcConnectionPointGeometry Ifc4x3::IfcConnectionPointGeometry::initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3::IfcSurfaceOrFaceSurface Ifc4x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSurfaceOrFaceSurface>(); } @@ -9396,7 +9396,7 @@ void Ifc4x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_types[210]); } -void Ifc4x3::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3::IfcConnectionSurfaceGeometry Ifc4x3::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3::IfcSolidOrShell Ifc4x3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSolidOrShell>(); } @@ -9406,7 +9406,7 @@ void Ifc4x3::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_types[212]); } -void Ifc4x3::IfcConnectionVolumeGeometry::initialize(::Ifc4x3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3::IfcConnectionVolumeGeometry Ifc4x3::IfcConnectionVolumeGeometry::initialize(::Ifc4x3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9428,7 +9428,7 @@ std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcConstraint::H std::vector<::Ifc4x3::IfcResourceConstraintRelationship> Ifc4x3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[957], 2)); } const ifcopenshell::entity& Ifc4x3::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_types[213]); } -void Ifc4x3::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3::IfcConstraint Ifc4x3::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9436,7 +9436,7 @@ void Ifc4x3::IfcConstructionEquipmentResource::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[215]); } -void Ifc4x3::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcConstructionEquipmentResource Ifc4x3::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9444,7 +9444,7 @@ void Ifc4x3::IfcConstructionEquipmentResourceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[216]); } -void Ifc4x3::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcConstructionEquipmentResourceType Ifc4x3::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9452,7 +9452,7 @@ void Ifc4x3::IfcConstructionMaterialResource::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x3::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[218]); } -void Ifc4x3::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcConstructionMaterialResource Ifc4x3::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9460,7 +9460,7 @@ void Ifc4x3::IfcConstructionMaterialResourceType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[219]); } -void Ifc4x3::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcConstructionMaterialResourceType Ifc4x3::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9468,7 +9468,7 @@ void Ifc4x3::IfcConstructionProductResource::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[221]); } -void Ifc4x3::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcConstructionProductResource Ifc4x3::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9476,7 +9476,7 @@ void Ifc4x3::IfcConstructionProductResourceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[222]); } -void Ifc4x3::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcConstructionProductResourceType Ifc4x3::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3::IfcResourceTime Ifc4x3::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcResourceTime>(); } @@ -9488,7 +9488,7 @@ void Ifc4x3::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3::IfcPhysica const ifcopenshell::entity& Ifc4x3::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[224]); } -void Ifc4x3::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3::IfcConstructionResource Ifc4x3::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > Ifc4x3::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3::IfcAppliedValue>(es); } @@ -9498,7 +9498,7 @@ void Ifc4x3::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3::IfcPhy const ifcopenshell::entity& Ifc4x3::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[225]); } -void Ifc4x3::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3::IfcConstructionResourceType Ifc4x3::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9516,7 +9516,7 @@ std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcContext::IsDefinedBy std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[930], 4)); } const ifcopenshell::entity& Ifc4x3::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_types[226]); } -void Ifc4x3::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3::IfcContext Ifc4x3::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9525,7 +9525,7 @@ void Ifc4x3::IfcContextDependentUnit::setName(const std::string& v) { set_attrib std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[228]); } -void Ifc4x3::IfcContextDependentUnit::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3::IfcContextDependentUnit Ifc4x3::IfcContextDependentUnit::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9534,7 +9534,7 @@ void Ifc4x3::IfcControl::setIdentification(const std::optional< std::string >& v std::vector<::Ifc4x3::IfcRelAssignsToControl> Ifc4x3::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[903], 6)); } const ifcopenshell::entity& Ifc4x3::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_types[229]); } -void Ifc4x3::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3::IfcControl Ifc4x3::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > Ifc4x3::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9542,7 +9542,7 @@ void Ifc4x3::IfcController::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_types[230]); } -void Ifc4x3::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcController Ifc4x3::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3::IfcControllerTypeEnum::Value Ifc4x3::IfcControllerType::PredefinedType() const { return ::Ifc4x3::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9550,7 +9550,7 @@ void Ifc4x3::IfcControllerType::setPredefinedType(const ::Ifc4x3::IfcControllerT const ifcopenshell::entity& Ifc4x3::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[231]); } -void Ifc4x3::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcControllerType Ifc4x3::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9561,7 +9561,7 @@ void Ifc4x3::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3::IfcMeas std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[233]); } -void Ifc4x3::IfcConversionBasedUnit::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3::IfcConversionBasedUnit Ifc4x3::IfcConversionBasedUnit::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9569,7 +9569,7 @@ void Ifc4x3::IfcConversionBasedUnitWithOffset::setConversionOffset(const double& const ifcopenshell::entity& Ifc4x3::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_types[234]); } -void Ifc4x3::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3::IfcConversionBasedUnitWithOffset Ifc4x3::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9577,7 +9577,7 @@ void Ifc4x3::IfcConveyorSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[235]); } -void Ifc4x3::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcConveyorSegment Ifc4x3::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value Ifc4x3::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9585,7 +9585,7 @@ void Ifc4x3::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3::IfcConvey const ifcopenshell::entity& Ifc4x3::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[236]); } -void Ifc4x3::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcConveyorSegmentType Ifc4x3::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > Ifc4x3::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9593,7 +9593,7 @@ void Ifc4x3::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_types[238]); } -void Ifc4x3::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCooledBeam Ifc4x3::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3::IfcCooledBeamTypeEnum::Value Ifc4x3::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9601,7 +9601,7 @@ void Ifc4x3::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3::IfcCooledBeamT const ifcopenshell::entity& Ifc4x3::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[239]); } -void Ifc4x3::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCooledBeamType Ifc4x3::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > Ifc4x3::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9609,7 +9609,7 @@ void Ifc4x3::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_types[241]); } -void Ifc4x3::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCoolingTower Ifc4x3::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3::IfcCoolingTowerTypeEnum::Value Ifc4x3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9617,7 +9617,7 @@ void Ifc4x3::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3::IfcCoolingTo const ifcopenshell::entity& Ifc4x3::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[242]); } -void Ifc4x3::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCoolingTowerType Ifc4x3::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3::IfcCoordinateReferenceSystemSelect Ifc4x3::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCoordinateReferenceSystemSelect>(); } @@ -9627,7 +9627,7 @@ void Ifc4x3::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3::IfcCoordinateR const ifcopenshell::entity& Ifc4x3::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[244]); } -void Ifc4x3::IfcCoordinateOperation::initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3::IfcCoordinateOperation Ifc4x3::IfcCoordinateOperation::initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x3::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9642,7 +9642,7 @@ void Ifc4x3::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optional< std::vector<::Ifc4x3::IfcCoordinateOperation> Ifc4x3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[244], 0)); } const ifcopenshell::entity& Ifc4x3::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[245]); } -void Ifc4x3::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x3::IfcCoordinateReferenceSystem Ifc4x3::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCosineSpiral double Ifc4x3::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } @@ -9652,7 +9652,7 @@ void Ifc4x3::IfcCosineSpiral::setConstantTerm(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3::IfcCosineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[247]); } -void Ifc4x3::IfcCosineSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); } } +Ifc4x3::IfcCosineSpiral Ifc4x3::IfcCosineSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > Ifc4x3::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9664,7 +9664,7 @@ void Ifc4x3::IfcCostItem::setCostQuantities(const std::optional< std::vector< :: const ifcopenshell::entity& Ifc4x3::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[248]); } -void Ifc4x3::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3::IfcCostItem Ifc4x3::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > Ifc4x3::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9678,13 +9678,13 @@ void Ifc4x3::IfcCostSchedule::setUpdateDate(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_types[250]); } -void Ifc4x3::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3::IfcCostSchedule Ifc4x3::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[252]); } -void Ifc4x3::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3::IfcCostValue Ifc4x3::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > Ifc4x3::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9692,7 +9692,7 @@ void Ifc4x3::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3::IfcCour const ifcopenshell::entity& Ifc4x3::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_types[254]); } -void Ifc4x3::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCourse Ifc4x3::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3::IfcCourseTypeEnum::Value Ifc4x3::IfcCourseType::PredefinedType() const { return ::Ifc4x3::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9700,7 +9700,7 @@ void Ifc4x3::IfcCourseType::setPredefinedType(const ::Ifc4x3::IfcCourseTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[255]); } -void Ifc4x3::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCourseType Ifc4x3::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > Ifc4x3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9710,7 +9710,7 @@ std::vector<::Ifc4x3::IfcRelCoversSpaces> Ifc4x3::IfcCovering::CoversSpaces() co std::vector<::Ifc4x3::IfcRelCoversBldgElements> Ifc4x3::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[928], 5)); } const ifcopenshell::entity& Ifc4x3::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_types[257]); } -void Ifc4x3::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCovering Ifc4x3::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3::IfcCoveringTypeEnum::Value Ifc4x3::IfcCoveringType::PredefinedType() const { return ::Ifc4x3::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9718,7 +9718,7 @@ void Ifc4x3::IfcCoveringType::setPredefinedType(const ::Ifc4x3::IfcCoveringTypeE const ifcopenshell::entity& Ifc4x3::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[258]); } -void Ifc4x3::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCoveringType Ifc4x3::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > Ifc4x3::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9726,7 +9726,7 @@ void Ifc4x3::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[260]); } -void Ifc4x3::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcCrewResource Ifc4x3::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3::IfcCrewResourceTypeEnum::Value Ifc4x3::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9734,7 +9734,7 @@ void Ifc4x3::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3::IfcCrewResou const ifcopenshell::entity& Ifc4x3::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[261]); } -void Ifc4x3::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcCrewResourceType Ifc4x3::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3::IfcAxis2Placement3D Ifc4x3::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcAxis2Placement3D>(); } @@ -9742,7 +9742,7 @@ void Ifc4x3::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4x3::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[263]); } -void Ifc4x3::IfcCsgPrimitive3D::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3::IfcCsgPrimitive3D Ifc4x3::IfcCsgPrimitive3D::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3::IfcCsgSelect Ifc4x3::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCsgSelect>(); } @@ -9750,7 +9750,7 @@ void Ifc4x3::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3::IfcCsgSelect& v) const ifcopenshell::entity& Ifc4x3::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[265]); } -void Ifc4x3::IfcCsgSolid::initialize(::Ifc4x3::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3::IfcCsgSolid Ifc4x3::IfcCsgSolid::initialize(::Ifc4x3::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3::IfcMonetaryUnit Ifc4x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcMonetaryUnit>(); } @@ -9766,7 +9766,7 @@ void Ifc4x3::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3::IfcLibraryIn const ifcopenshell::entity& Ifc4x3::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[267]); } -void Ifc4x3::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3::IfcCurrencyRelationship Ifc4x3::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > Ifc4x3::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9774,7 +9774,7 @@ void Ifc4x3::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_types[268]); } -void Ifc4x3::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcCurtainWall Ifc4x3::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3::IfcCurtainWallTypeEnum::Value Ifc4x3::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9782,13 +9782,13 @@ void Ifc4x3::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3::IfcCurtainWal const ifcopenshell::entity& Ifc4x3::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[269]); } -void Ifc4x3::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcCurtainWallType Ifc4x3::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[272]); } -void Ifc4x3::IfcCurve::initialize() { } +Ifc4x3::IfcCurve Ifc4x3::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3::IfcPlane Ifc4x3::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPlane>(); } @@ -9800,7 +9800,7 @@ void Ifc4x3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_types[273]); } -void Ifc4x3::IfcCurveBoundedPlane::initialize(::Ifc4x3::IfcPlane v1_BasisSurface, ::Ifc4x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3::IfcCurveBoundedPlane Ifc4x3::IfcCurveBoundedPlane::initialize(::Ifc4x3::IfcPlane v1_BasisSurface, ::Ifc4x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3::IfcSurface Ifc4x3::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSurface>(); } @@ -9812,7 +9812,7 @@ void Ifc4x3::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_attri const ifcopenshell::entity& Ifc4x3::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[274]); } -void Ifc4x3::IfcCurveBoundedSurface::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3::IfcCurveBoundedSurface Ifc4x3::IfcCurveBoundedSurface::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3::IfcPlacement Ifc4x3::IfcCurveSegment::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcPlacement>(); } @@ -9826,7 +9826,7 @@ void Ifc4x3::IfcCurveSegment::setParentCurve(const ::Ifc4x3::IfcCurve& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[280]); } -void Ifc4x3::IfcCurveSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3::IfcPlacement v2_Placement, ::Ifc4x3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve)); } +Ifc4x3::IfcCurveSegment Ifc4x3::IfcCurveSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3::IfcPlacement v2_Placement, ::Ifc4x3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect Ifc4x3::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9840,7 +9840,7 @@ void Ifc4x3::IfcCurveStyle::setModelOrDraughting(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4x3::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[281]); } -void Ifc4x3::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3::IfcCurveStyle Ifc4x3::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9850,7 +9850,7 @@ void Ifc4x3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3::IfcC const ifcopenshell::entity& Ifc4x3::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_types[282]); } -void Ifc4x3::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3::IfcCurveStyleFont Ifc4x3::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9862,7 +9862,7 @@ void Ifc4x3::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& v) { const ifcopenshell::entity& Ifc4x3::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_types[283]); } -void Ifc4x3::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3::IfcCurveStyleFontAndScaling Ifc4x3::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9872,7 +9872,7 @@ void Ifc4x3::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const double& v const ifcopenshell::entity& Ifc4x3::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_types[284]); } -void Ifc4x3::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3::IfcCurveStyleFontPattern Ifc4x3::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9880,7 +9880,7 @@ void Ifc4x3::IfcCylindricalSurface::setRadius(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x3::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[286]); } -void Ifc4x3::IfcCylindricalSurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3::IfcCylindricalSurface Ifc4x3::IfcCylindricalSurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > Ifc4x3::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9888,7 +9888,7 @@ void Ifc4x3::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3::IfcDamp const ifcopenshell::entity& Ifc4x3::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_types[287]); } -void Ifc4x3::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDamper Ifc4x3::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3::IfcDamperTypeEnum::Value Ifc4x3::IfcDamperType::PredefinedType() const { return ::Ifc4x3::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9896,19 +9896,19 @@ void Ifc4x3::IfcDamperType::setPredefinedType(const ::Ifc4x3::IfcDamperTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[288]); } -void Ifc4x3::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDamperType Ifc4x3::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[295]); } -void Ifc4x3::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcDeepFoundation Ifc4x3::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[296]); } -void Ifc4x3::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcDeepFoundationType Ifc4x3::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3::IfcProfileDef Ifc4x3::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcProfileDef>(); } @@ -9920,7 +9920,7 @@ void Ifc4x3::IfcDerivedProfileDef::setLabel(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[299]); } -void Ifc4x3::IfcDerivedProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3::IfcDerivedProfileDef Ifc4x3::IfcDerivedProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3::IfcDerivedUnitElement > Ifc4x3::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcDerivedUnitElement>(es); } @@ -9934,7 +9934,7 @@ void Ifc4x3::IfcDerivedUnit::setName(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x3::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[300]); } -void Ifc4x3::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } } +Ifc4x3::IfcDerivedUnit Ifc4x3::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3::IfcNamedUnit Ifc4x3::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcNamedUnit>(); } @@ -9944,7 +9944,7 @@ void Ifc4x3::IfcDerivedUnitElement::setExponent(const int& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[301]); } -void Ifc4x3::IfcDerivedUnitElement::initialize(::Ifc4x3::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3::IfcDerivedUnitElement Ifc4x3::IfcDerivedUnitElement::initialize(::Ifc4x3::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9964,7 +9964,7 @@ void Ifc4x3::IfcDimensionalExponents::setLuminousIntensityExponent(const int& v) const ifcopenshell::entity& Ifc4x3::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_types[304]); } -void Ifc4x3::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3::IfcDimensionalExponents Ifc4x3::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9972,7 +9972,7 @@ void Ifc4x3::IfcDirection::setDirectionRatios(const std::vector< double > /*[2:3 const ifcopenshell::entity& Ifc4x3::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[306]); } -void Ifc4x3::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3::IfcDirection Ifc4x3::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3::IfcCurve Ifc4x3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcCurve>(); } @@ -9984,13 +9984,13 @@ void Ifc4x3::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3::IfcCur const ifcopenshell::entity& Ifc4x3::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[308]); } -void Ifc4x3::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3::IfcDirectrixCurveSweptAreaSolid Ifc4x3::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid const ifcopenshell::entity& Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[309]); } -void Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9998,7 +9998,7 @@ void Ifc4x3::IfcDiscreteAccessory::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_types[310]); } -void Ifc4x3::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDiscreteAccessory Ifc4x3::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -10006,7 +10006,7 @@ void Ifc4x3::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3::IfcDisc const ifcopenshell::entity& Ifc4x3::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[311]); } -void Ifc4x3::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDiscreteAccessoryType Ifc4x3::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > Ifc4x3::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10014,7 +10014,7 @@ void Ifc4x3::IfcDistributionBoard::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_types[313]); } -void Ifc4x3::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDistributionBoard Ifc4x3::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3::IfcDistributionBoardTypeEnum::Value Ifc4x3::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10022,7 +10022,7 @@ void Ifc4x3::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3::IfcDist const ifcopenshell::entity& Ifc4x3::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[314]); } -void Ifc4x3::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDistributionBoardType Ifc4x3::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10030,7 +10030,7 @@ void Ifc4x3::IfcDistributionChamberElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[316]); } -void Ifc4x3::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDistributionChamberElement Ifc4x3::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -10038,52 +10038,52 @@ void Ifc4x3::IfcDistributionChamberElementType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[317]); } -void Ifc4x3::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDistributionChamberElementType Ifc4x3::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[319]); } -void Ifc4x3::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3::IfcDistributionCircuit Ifc4x3::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3::IfcRelFlowControlElements> Ifc4x3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[938], 4)); } const ifcopenshell::entity& Ifc4x3::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[320]); } -void Ifc4x3::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcDistributionControlElement Ifc4x3::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[321]); } -void Ifc4x3::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcDistributionControlElementType Ifc4x3::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3::IfcRelConnectsPortToElement> Ifc4x3::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[922], 5)); } const ifcopenshell::entity& Ifc4x3::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[322]); } -void Ifc4x3::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcDistributionElement Ifc4x3::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[323]); } -void Ifc4x3::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcDistributionElementType Ifc4x3::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3::IfcRelFlowControlElements> Ifc4x3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[938], 5)); } const ifcopenshell::entity& Ifc4x3::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[324]); } -void Ifc4x3::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcDistributionFlowElement Ifc4x3::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[325]); } -void Ifc4x3::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcDistributionFlowElementType Ifc4x3::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > Ifc4x3::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -10095,7 +10095,7 @@ void Ifc4x3::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_types[326]); } -void Ifc4x3::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3::IfcDistributionPort Ifc4x3::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -10105,7 +10105,7 @@ void Ifc4x3::IfcDistributionSystem::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[328]); } -void Ifc4x3::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3::IfcDistributionSystem Ifc4x3::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10149,7 +10149,7 @@ std::vector<::Ifc4x3::IfcDocumentInformationRelationship> Ifc4x3::IfcDocumentInf std::vector<::Ifc4x3::IfcDocumentInformationRelationship> Ifc4x3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[332], 2)); } const ifcopenshell::entity& Ifc4x3::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[331]); } -void Ifc4x3::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3::IfcDocumentInformation Ifc4x3::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3::IfcDocumentInformation Ifc4x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcDocumentInformation>(); } @@ -10161,7 +10161,7 @@ void Ifc4x3::IfcDocumentInformationRelationship::setRelationshipType(const std:: const ifcopenshell::entity& Ifc4x3::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[332]); } -void Ifc4x3::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3::IfcDocumentInformationRelationship Ifc4x3::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10172,7 +10172,7 @@ void Ifc4x3::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3::IfcDocu std::vector<::Ifc4x3::IfcRelAssociatesDocument> Ifc4x3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[913], 5)); } const ifcopenshell::entity& Ifc4x3::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_types[333]); } -void Ifc4x3::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3::IfcDocumentReference Ifc4x3::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10188,7 +10188,7 @@ void Ifc4x3::IfcDoor::setUserDefinedOperationType(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[336]); } -void Ifc4x3::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3::IfcDoor Ifc4x3::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10220,7 +10220,7 @@ void Ifc4x3::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[337]); } -void Ifc4x3::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3::IfcDoorLiningProperties Ifc4x3::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10236,7 +10236,7 @@ void Ifc4x3::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3::IfcShap const ifcopenshell::entity& Ifc4x3::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[340]); } -void Ifc4x3::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3::IfcDoorPanelProperties Ifc4x3::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3::IfcDoorTypeEnum::Value Ifc4x3::IfcDoorType::PredefinedType() const { return ::Ifc4x3::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10250,19 +10250,19 @@ void Ifc4x3::IfcDoorType::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x3::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[343]); } -void Ifc4x3::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3::IfcDoorType Ifc4x3::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_types[347]); } -void Ifc4x3::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3::IfcDraughtingPreDefinedColour Ifc4x3::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_types[348]); } -void Ifc4x3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3::IfcDraughtingPreDefinedCurveFont Ifc4x3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > Ifc4x3::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10270,7 +10270,7 @@ void Ifc4x3::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[349]); } -void Ifc4x3::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDuctFitting Ifc4x3::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3::IfcDuctFittingTypeEnum::Value Ifc4x3::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10278,7 +10278,7 @@ void Ifc4x3::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3::IfcDuctFittin const ifcopenshell::entity& Ifc4x3::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[350]); } -void Ifc4x3::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDuctFittingType Ifc4x3::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > Ifc4x3::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10286,7 +10286,7 @@ void Ifc4x3::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[352]); } -void Ifc4x3::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDuctSegment Ifc4x3::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3::IfcDuctSegmentTypeEnum::Value Ifc4x3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10294,7 +10294,7 @@ void Ifc4x3::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3::IfcDuctSegmen const ifcopenshell::entity& Ifc4x3::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[353]); } -void Ifc4x3::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDuctSegmentType Ifc4x3::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > Ifc4x3::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10302,7 +10302,7 @@ void Ifc4x3::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_types[355]); } -void Ifc4x3::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcDuctSilencer Ifc4x3::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3::IfcDuctSilencerTypeEnum::Value Ifc4x3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10310,7 +10310,7 @@ void Ifc4x3::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3::IfcDuctSilen const ifcopenshell::entity& Ifc4x3::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[356]); } -void Ifc4x3::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcDuctSilencerType Ifc4x3::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > Ifc4x3::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10318,13 +10318,13 @@ void Ifc4x3::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_types[360]); } -void Ifc4x3::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcEarthworksCut Ifc4x3::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[362]); } -void Ifc4x3::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcEarthworksElement Ifc4x3::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > Ifc4x3::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10332,7 +10332,7 @@ void Ifc4x3::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_types[363]); } -void Ifc4x3::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcEarthworksFill Ifc4x3::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3::IfcVertex Ifc4x3::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcVertex>(); } @@ -10342,7 +10342,7 @@ void Ifc4x3::IfcEdge::setEdgeEnd(const ::Ifc4x3::IfcVertex& v) { set_attribute_v const ifcopenshell::entity& Ifc4x3::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_types[365]); } -void Ifc4x3::IfcEdge::initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3::IfcEdge Ifc4x3::IfcEdge::initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3::IfcCurve Ifc4x3::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcCurve>(); } @@ -10352,7 +10352,7 @@ void Ifc4x3::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[366]); } -void Ifc4x3::IfcEdgeCurve::initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3::IfcEdgeCurve Ifc4x3::IfcEdgeCurve::initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3::IfcOrientedEdge > Ifc4x3::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcOrientedEdge>(es); } @@ -10360,7 +10360,7 @@ void Ifc4x3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3::IfcOrientedEd const ifcopenshell::entity& Ifc4x3::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_types[367]); } -void Ifc4x3::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3::IfcEdgeLoop Ifc4x3::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > Ifc4x3::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10368,7 +10368,7 @@ void Ifc4x3::IfcElectricAppliance::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_types[368]); } -void Ifc4x3::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricAppliance Ifc4x3::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3::IfcElectricApplianceTypeEnum::Value Ifc4x3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10376,7 +10376,7 @@ void Ifc4x3::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3::IfcElec const ifcopenshell::entity& Ifc4x3::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[369]); } -void Ifc4x3::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricApplianceType Ifc4x3::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10384,7 +10384,7 @@ void Ifc4x3::IfcElectricDistributionBoard::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_types[375]); } -void Ifc4x3::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricDistributionBoard Ifc4x3::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10392,7 +10392,7 @@ void Ifc4x3::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[376]); } -void Ifc4x3::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricDistributionBoardType Ifc4x3::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10400,7 +10400,7 @@ void Ifc4x3::IfcElectricFlowStorageDevice::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[378]); } -void Ifc4x3::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricFlowStorageDevice Ifc4x3::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10408,7 +10408,7 @@ void Ifc4x3::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[379]); } -void Ifc4x3::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricFlowStorageDeviceType Ifc4x3::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10416,7 +10416,7 @@ void Ifc4x3::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[381]); } -void Ifc4x3::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricFlowTreatmentDevice Ifc4x3::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10424,7 +10424,7 @@ void Ifc4x3::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[382]); } -void Ifc4x3::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricFlowTreatmentDeviceType Ifc4x3::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10432,7 +10432,7 @@ void Ifc4x3::IfcElectricGenerator::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_types[384]); } -void Ifc4x3::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricGenerator Ifc4x3::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value Ifc4x3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10440,7 +10440,7 @@ void Ifc4x3::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3::IfcElec const ifcopenshell::entity& Ifc4x3::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[385]); } -void Ifc4x3::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricGeneratorType Ifc4x3::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > Ifc4x3::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10448,7 +10448,7 @@ void Ifc4x3::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[387]); } -void Ifc4x3::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricMotor Ifc4x3::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3::IfcElectricMotorTypeEnum::Value Ifc4x3::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10456,7 +10456,7 @@ void Ifc4x3::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3::IfcElectric const ifcopenshell::entity& Ifc4x3::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[388]); } -void Ifc4x3::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricMotorType Ifc4x3::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10464,7 +10464,7 @@ void Ifc4x3::IfcElectricTimeControl::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_types[391]); } -void Ifc4x3::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcElectricTimeControl Ifc4x3::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value Ifc4x3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10472,7 +10472,7 @@ void Ifc4x3::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3::IfcEl const ifcopenshell::entity& Ifc4x3::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[392]); } -void Ifc4x3::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElectricTimeControlType Ifc4x3::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10492,7 +10492,7 @@ std::vector<::Ifc4x3::IfcRelCoversBldgElements> Ifc4x3::IfcElement::HasCoverings std::vector<::Ifc4x3::IfcRelAdheresToElement> Ifc4x3::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[899], 4)); } const ifcopenshell::entity& Ifc4x3::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[395]); } -void Ifc4x3::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcElement Ifc4x3::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > Ifc4x3::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10502,7 +10502,7 @@ void Ifc4x3::IfcElementAssembly::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_types[397]); } -void Ifc4x3::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcElementAssembly Ifc4x3::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3::IfcElementAssemblyTypeEnum::Value Ifc4x3::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10510,19 +10510,19 @@ void Ifc4x3::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3::IfcElemen const ifcopenshell::entity& Ifc4x3::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[398]); } -void Ifc4x3::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcElementAssemblyType Ifc4x3::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_types[400]); } -void Ifc4x3::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcElementComponent Ifc4x3::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[401]); } -void Ifc4x3::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcElementComponentType Ifc4x3::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10532,7 +10532,7 @@ void Ifc4x3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3::IfcP const ifcopenshell::entity& Ifc4x3::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[403]); } -void Ifc4x3::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3::IfcElementQuantity Ifc4x3::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10540,7 +10540,7 @@ void Ifc4x3::IfcElementType::setElementType(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[404]); } -void Ifc4x3::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcElementType Ifc4x3::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3::IfcAxis2Placement3D Ifc4x3::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcAxis2Placement3D>(); } @@ -10548,7 +10548,7 @@ void Ifc4x3::IfcElementarySurface::setPosition(const ::Ifc4x3::IfcAxis2Placement const ifcopenshell::entity& Ifc4x3::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[396]); } -void Ifc4x3::IfcElementarySurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3::IfcElementarySurface Ifc4x3::IfcElementarySurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10558,7 +10558,7 @@ void Ifc4x3::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value(2, const ifcopenshell::entity& Ifc4x3::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_types[405]); } -void Ifc4x3::IfcEllipse::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3::IfcEllipse Ifc4x3::IfcEllipse::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10568,19 +10568,19 @@ void Ifc4x3::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[406]); } -void Ifc4x3::IfcEllipseProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3::IfcEllipseProfileDef Ifc4x3::IfcEllipseProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[407]); } -void Ifc4x3::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcEnergyConversionDevice Ifc4x3::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[408]); } -void Ifc4x3::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcEnergyConversionDeviceType Ifc4x3::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > Ifc4x3::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10588,7 +10588,7 @@ void Ifc4x3::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3::IfcEngi const ifcopenshell::entity& Ifc4x3::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_types[410]); } -void Ifc4x3::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcEngine Ifc4x3::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3::IfcEngineTypeEnum::Value Ifc4x3::IfcEngineType::PredefinedType() const { return ::Ifc4x3::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10596,7 +10596,7 @@ void Ifc4x3::IfcEngineType::setPredefinedType(const ::Ifc4x3::IfcEngineTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[411]); } -void Ifc4x3::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcEngineType Ifc4x3::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10604,7 +10604,7 @@ void Ifc4x3::IfcEvaporativeCooler::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_types[413]); } -void Ifc4x3::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcEvaporativeCooler Ifc4x3::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10612,7 +10612,7 @@ void Ifc4x3::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3::IfcEvap const ifcopenshell::entity& Ifc4x3::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[414]); } -void Ifc4x3::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcEvaporativeCoolerType Ifc4x3::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > Ifc4x3::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10620,7 +10620,7 @@ void Ifc4x3::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_types[416]); } -void Ifc4x3::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcEvaporator Ifc4x3::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3::IfcEvaporatorTypeEnum::Value Ifc4x3::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10628,7 +10628,7 @@ void Ifc4x3::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3::IfcEvaporatorT const ifcopenshell::entity& Ifc4x3::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[417]); } -void Ifc4x3::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcEvaporatorType Ifc4x3::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3::IfcEventTypeEnum::Value > Ifc4x3::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10642,7 +10642,7 @@ void Ifc4x3::IfcEvent::setEventOccurenceTime(const ::Ifc4x3::IfcEventTime& v) { const ifcopenshell::entity& Ifc4x3::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_types[419]); } -void Ifc4x3::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3::IfcEvent Ifc4x3::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10656,7 +10656,7 @@ void Ifc4x3::IfcEventTime::setScheduleDate(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[420]); } -void Ifc4x3::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3::IfcEventTime Ifc4x3::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3::IfcEventTypeEnum::Value Ifc4x3::IfcEventType::PredefinedType() const { return ::Ifc4x3::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10668,7 +10668,7 @@ void Ifc4x3::IfcEventType::setUserDefinedEventTriggerType(const std::optional< s const ifcopenshell::entity& Ifc4x3::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[422]); } -void Ifc4x3::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3::IfcEventType Ifc4x3::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10680,13 +10680,13 @@ void Ifc4x3::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[424]); } -void Ifc4x3::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3::IfcExtendedProperties Ifc4x3::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[425]); } -void Ifc4x3::IfcExternalInformation::initialize() { } +Ifc4x3::IfcExternalInformation Ifc4x3::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10699,7 +10699,7 @@ void Ifc4x3::IfcExternalReference::setName(const std::optional< std::string >& v std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 2)); } const ifcopenshell::entity& Ifc4x3::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_types[429]); } -void Ifc4x3::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3::IfcExternalReference Ifc4x3::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3::IfcExternalReference Ifc4x3::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcExternalReference>(); } @@ -10709,7 +10709,7 @@ void Ifc4x3::IfcExternalReferenceRelationship::setRelatedResourceObjects(const s const ifcopenshell::entity& Ifc4x3::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[430]); } -void Ifc4x3::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3::IfcExternalReferenceRelationship Ifc4x3::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10718,31 +10718,31 @@ void Ifc4x3::IfcExternalSpatialElement::setPredefinedType(const std::optional< : std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[946], 4)); } const ifcopenshell::entity& Ifc4x3::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[431]); } -void Ifc4x3::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcExternalSpatialElement Ifc4x3::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[433]); } -void Ifc4x3::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3::IfcExternalSpatialStructureElement Ifc4x3::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[426]); } -void Ifc4x3::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3::IfcExternallyDefinedHatchStyle Ifc4x3::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[427]); } -void Ifc4x3::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3::IfcExternallyDefinedSurfaceStyle Ifc4x3::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_types[428]); } -void Ifc4x3::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3::IfcExternallyDefinedTextFont Ifc4x3::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3::IfcDirection Ifc4x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcDirection>(); } @@ -10752,7 +10752,7 @@ void Ifc4x3::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[434]); } -void Ifc4x3::IfcExtrudedAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3::IfcExtrudedAreaSolid Ifc4x3::IfcExtrudedAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3::IfcProfileDef Ifc4x3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcProfileDef>(); } @@ -10760,7 +10760,7 @@ void Ifc4x3::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3::IfcPro const ifcopenshell::entity& Ifc4x3::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_types[435]); } -void Ifc4x3::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3::IfcExtrudedAreaSolidTapered Ifc4x3::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3::IfcFaceBound > Ifc4x3::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcFaceBound>(es); } @@ -10769,7 +10769,7 @@ void Ifc4x3::IfcFace::setBounds(const std::vector< ::Ifc4x3::IfcFaceBound >& v) std::vector<::Ifc4x3::IfcTextureMap> Ifc4x3::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1195], 2)); } const ifcopenshell::entity& Ifc4x3::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_types[436]); } -void Ifc4x3::IfcFace::initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3::IfcFace Ifc4x3::IfcFace::initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3::IfcConnectedFaceSet > Ifc4x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcConnectedFaceSet>(es); } @@ -10777,7 +10777,7 @@ void Ifc4x3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[437]); } -void Ifc4x3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3::IfcFaceBasedSurfaceModel Ifc4x3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3::IfcLoop Ifc4x3::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcLoop>(); } @@ -10787,13 +10787,13 @@ void Ifc4x3::IfcFaceBound::setOrientation(const bool& v) { set_attribute_value(1 const ifcopenshell::entity& Ifc4x3::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_types[438]); } -void Ifc4x3::IfcFaceBound::initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3::IfcFaceBound Ifc4x3::IfcFaceBound::initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_types[439]); } -void Ifc4x3::IfcFaceOuterBound::initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3::IfcFaceOuterBound Ifc4x3::IfcFaceOuterBound::initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3::IfcSurface Ifc4x3::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcSurface>(); } @@ -10803,13 +10803,13 @@ void Ifc4x3::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_value(2 const ifcopenshell::entity& Ifc4x3::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[440]); } -void Ifc4x3::IfcFaceSurface::initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3::IfcFaceSurface Ifc4x3::IfcFaceSurface::initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_types[441]); } -void Ifc4x3::IfcFacetedBrep::initialize(::Ifc4x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3::IfcFacetedBrep Ifc4x3::IfcFacetedBrep::initialize(::Ifc4x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3::IfcClosedShell > Ifc4x3::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3::IfcClosedShell>(es); } @@ -10817,13 +10817,13 @@ void Ifc4x3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3::IfcC const ifcopenshell::entity& Ifc4x3::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_types[442]); } -void Ifc4x3::IfcFacetedBrepWithVoids::initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3::IfcFacetedBrepWithVoids Ifc4x3::IfcFacetedBrepWithVoids::initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_types[443]); } -void Ifc4x3::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3::IfcFacility Ifc4x3::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3::IfcFacilityUsageEnum::Value Ifc4x3::IfcFacilityPart::UsageType() const { return ::Ifc4x3::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } @@ -10831,7 +10831,7 @@ void Ifc4x3::IfcFacilityPart::setUsageType(const ::Ifc4x3::IfcFacilityUsageEnum: const ifcopenshell::entity& Ifc4x3::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_types[444]); } -void Ifc4x3::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); } +Ifc4x3::IfcFacilityPart Ifc4x3::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; return *this; } // Function implementations for IfcFacilityPartCommon std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } @@ -10839,7 +10839,7 @@ void Ifc4x3::IfcFacilityPartCommon::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3::IfcFacilityPartCommon::Class() { return *((ifcopenshell::entity*)IFC4X3_types[445]); } -void Ifc4x3::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcFacilityPartCommon Ifc4x3::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10857,7 +10857,7 @@ void Ifc4x3::IfcFailureConnectionCondition::setCompressionFailureZ(const std::op const ifcopenshell::entity& Ifc4x3::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[448]); } -void Ifc4x3::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3::IfcFailureConnectionCondition Ifc4x3::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3::IfcFanTypeEnum::Value > Ifc4x3::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10865,7 +10865,7 @@ void Ifc4x3::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3::IfcFanType const ifcopenshell::entity& Ifc4x3::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_types[449]); } -void Ifc4x3::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFan Ifc4x3::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3::IfcFanTypeEnum::Value Ifc4x3::IfcFanType::PredefinedType() const { return ::Ifc4x3::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10873,7 +10873,7 @@ void Ifc4x3::IfcFanType::setPredefinedType(const ::Ifc4x3::IfcFanTypeEnum::Value const ifcopenshell::entity& Ifc4x3::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[450]); } -void Ifc4x3::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFanType Ifc4x3::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > Ifc4x3::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10881,7 +10881,7 @@ void Ifc4x3::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3::IfcFa const ifcopenshell::entity& Ifc4x3::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_types[452]); } -void Ifc4x3::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFastener Ifc4x3::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3::IfcFastenerTypeEnum::Value Ifc4x3::IfcFastenerType::PredefinedType() const { return ::Ifc4x3::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10889,27 +10889,27 @@ void Ifc4x3::IfcFastenerType::setPredefinedType(const ::Ifc4x3::IfcFastenerTypeE const ifcopenshell::entity& Ifc4x3::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[453]); } -void Ifc4x3::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFastenerType Ifc4x3::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[455]); } -void Ifc4x3::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFeatureElement Ifc4x3::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3::IfcRelProjectsElement> Ifc4x3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[942], 5)); } const ifcopenshell::entity& Ifc4x3::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[456]); } -void Ifc4x3::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFeatureElementAddition Ifc4x3::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3::IfcRelVoidsElement> Ifc4x3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[949], 5)); } const ifcopenshell::entity& Ifc4x3::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[457]); } -void Ifc4x3::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFeatureElementSubtraction Ifc4x3::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3::IfcFillStyleSelect > Ifc4x3::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3::IfcFillStyleSelect>(es); } @@ -10919,7 +10919,7 @@ void Ifc4x3::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x3::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[458]); } -void Ifc4x3::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3::IfcFillAreaStyle Ifc4x3::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3::IfcCurveStyle Ifc4x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurveStyle>(); } @@ -10935,7 +10935,7 @@ void Ifc4x3::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_types[459]); } -void Ifc4x3::IfcFillAreaStyleHatching::initialize(::Ifc4x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3::IfcFillAreaStyleHatching Ifc4x3::IfcFillAreaStyleHatching::initialize(::Ifc4x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3::IfcVector > Ifc4x3::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcVector>(es); } @@ -10947,7 +10947,7 @@ void Ifc4x3::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_types[460]); } -void Ifc4x3::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3::IfcFillAreaStyleTiles Ifc4x3::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > Ifc4x3::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10955,7 +10955,7 @@ void Ifc4x3::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3::IfcFilt const ifcopenshell::entity& Ifc4x3::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_types[462]); } -void Ifc4x3::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFilter Ifc4x3::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3::IfcFilterTypeEnum::Value Ifc4x3::IfcFilterType::PredefinedType() const { return ::Ifc4x3::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10963,7 +10963,7 @@ void Ifc4x3::IfcFilterType::setPredefinedType(const ::Ifc4x3::IfcFilterTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[463]); } -void Ifc4x3::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFilterType Ifc4x3::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10971,7 +10971,7 @@ void Ifc4x3::IfcFireSuppressionTerminal::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[465]); } -void Ifc4x3::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFireSuppressionTerminal Ifc4x3::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10979,7 +10979,7 @@ void Ifc4x3::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[466]); } -void Ifc4x3::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFireSuppressionTerminalType Ifc4x3::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3::IfcDirection Ifc4x3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcDirection>(); } @@ -10987,31 +10987,31 @@ void Ifc4x3::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[468]); } -void Ifc4x3::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3::IfcFixedReferenceSweptAreaSolid Ifc4x3::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_types[469]); } -void Ifc4x3::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowController Ifc4x3::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[470]); } -void Ifc4x3::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowControllerType Ifc4x3::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[472]); } -void Ifc4x3::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowFitting Ifc4x3::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[473]); } -void Ifc4x3::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowFittingType Ifc4x3::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -11019,7 +11019,7 @@ void Ifc4x3::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_types[474]); } -void Ifc4x3::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFlowInstrument Ifc4x3::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value Ifc4x3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -11027,7 +11027,7 @@ void Ifc4x3::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3::IfcFlowIns const ifcopenshell::entity& Ifc4x3::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[475]); } -void Ifc4x3::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFlowInstrumentType Ifc4x3::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > Ifc4x3::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -11035,7 +11035,7 @@ void Ifc4x3::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3::IfcF const ifcopenshell::entity& Ifc4x3::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_types[477]); } -void Ifc4x3::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFlowMeter Ifc4x3::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3::IfcFlowMeterTypeEnum::Value Ifc4x3::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -11043,67 +11043,67 @@ void Ifc4x3::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3::IfcFlowMeterTyp const ifcopenshell::entity& Ifc4x3::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[478]); } -void Ifc4x3::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFlowMeterType Ifc4x3::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[480]); } -void Ifc4x3::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowMovingDevice Ifc4x3::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[481]); } -void Ifc4x3::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowMovingDeviceType Ifc4x3::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[482]); } -void Ifc4x3::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowSegment Ifc4x3::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[483]); } -void Ifc4x3::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowSegmentType Ifc4x3::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[484]); } -void Ifc4x3::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowStorageDevice Ifc4x3::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[485]); } -void Ifc4x3::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowStorageDeviceType Ifc4x3::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[486]); } -void Ifc4x3::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowTerminal Ifc4x3::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[487]); } -void Ifc4x3::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowTerminalType Ifc4x3::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[488]); } -void Ifc4x3::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFlowTreatmentDevice Ifc4x3::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[489]); } -void Ifc4x3::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFlowTreatmentDeviceType Ifc4x3::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > Ifc4x3::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -11111,7 +11111,7 @@ void Ifc4x3::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3::IfcFoo const ifcopenshell::entity& Ifc4x3::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[493]); } -void Ifc4x3::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFooting Ifc4x3::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3::IfcFootingTypeEnum::Value Ifc4x3::IfcFootingType::PredefinedType() const { return ::Ifc4x3::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -11119,19 +11119,19 @@ void Ifc4x3::IfcFootingType::setPredefinedType(const ::Ifc4x3::IfcFootingTypeEnu const ifcopenshell::entity& Ifc4x3::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[494]); } -void Ifc4x3::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcFootingType Ifc4x3::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[498]); } -void Ifc4x3::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcFurnishingElement Ifc4x3::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[499]); } -void Ifc4x3::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcFurnishingElementType Ifc4x3::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > Ifc4x3::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11139,7 +11139,7 @@ void Ifc4x3::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3::IfcF const ifcopenshell::entity& Ifc4x3::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_types[500]); } -void Ifc4x3::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcFurniture Ifc4x3::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3::IfcAssemblyPlaceEnum::Value Ifc4x3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11149,7 +11149,7 @@ void Ifc4x3::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[501]); } -void Ifc4x3::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcFurnitureType Ifc4x3::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > Ifc4x3::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11157,7 +11157,7 @@ void Ifc4x3::IfcGeographicElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[503]); } -void Ifc4x3::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcGeographicElement Ifc4x3::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3::IfcGeographicElementTypeEnum::Value Ifc4x3::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11165,13 +11165,13 @@ void Ifc4x3::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3::IfcGeog const ifcopenshell::entity& Ifc4x3::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[504]); } -void Ifc4x3::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcGeographicElementType Ifc4x3::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[506]); } -void Ifc4x3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3::IfcGeometricCurveSet Ifc4x3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11187,13 +11187,13 @@ std::vector<::Ifc4x3::IfcGeometricRepresentationSubContext> Ifc4x3::IfcGeometric std::vector<::Ifc4x3::IfcCoordinateOperation> Ifc4x3::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[244], 0)); } const ifcopenshell::entity& Ifc4x3::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_types[508]); } -void Ifc4x3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3::IfcGeometricRepresentationContext Ifc4x3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[509]); } -void Ifc4x3::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3::IfcGeometricRepresentationItem Ifc4x3::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3::IfcGeometricRepresentationContext Ifc4x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcGeometricRepresentationContext>(); } @@ -11207,7 +11207,7 @@ void Ifc4x3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(cons const ifcopenshell::entity& Ifc4x3::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_types[510]); } -void Ifc4x3::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3::IfcGeometricRepresentationSubContext Ifc4x3::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3::IfcGeometricSetSelect > Ifc4x3::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcGeometricSetSelect>(es); } @@ -11215,31 +11215,31 @@ void Ifc4x3::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3::IfcGeomet const ifcopenshell::entity& Ifc4x3::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[511]); } -void Ifc4x3::IfcGeometricSet::initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3::IfcGeometricSet Ifc4x3::IfcGeometricSet::initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[513]); } -void Ifc4x3::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcGeomodel Ifc4x3::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[514]); } -void Ifc4x3::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcGeoslice Ifc4x3::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_types[515]); } -void Ifc4x3::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcGeotechnicalAssembly Ifc4x3::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[516]); } -void Ifc4x3::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcGeotechnicalElement Ifc4x3::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } @@ -11247,7 +11247,7 @@ void Ifc4x3::IfcGeotechnicalStratum::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_types[517]); } -void Ifc4x3::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcGeotechnicalStratum Ifc4x3::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3::IfcBoundedCurve Ifc4x3::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcBoundedCurve>(); } @@ -11257,7 +11257,7 @@ void Ifc4x3::IfcGradientCurve::setEndPoint(const ::Ifc4x3::IfcPlacement& v) { se const ifcopenshell::entity& Ifc4x3::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[521]); } -void Ifc4x3::IfcGradientCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3::IfcGradientCurve Ifc4x3::IfcGradientCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3::IfcGridAxis > Ifc4x3::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3::IfcGridAxis>(es); } @@ -11271,7 +11271,7 @@ void Ifc4x3::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3::IfcGridTy const ifcopenshell::entity& Ifc4x3::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[522]); } -void Ifc4x3::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcGrid Ifc4x3::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11287,7 +11287,7 @@ std::vector<::Ifc4x3::IfcGrid> Ifc4x3::IfcGridAxis::PartOfU() const { return cas std::vector<::Ifc4x3::IfcVirtualGridIntersection> Ifc4x3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1276], 0)); } const ifcopenshell::entity& Ifc4x3::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_types[523]); } -void Ifc4x3::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3::IfcGridAxis Ifc4x3::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3::IfcVirtualGridIntersection Ifc4x3::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcVirtualGridIntersection>(); } @@ -11297,7 +11297,7 @@ void Ifc4x3::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3::IfcGridP const ifcopenshell::entity& Ifc4x3::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[524]); } -void Ifc4x3::IfcGridPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3::IfcGridPlacement Ifc4x3::IfcGridPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup @@ -11305,7 +11305,7 @@ std::vector<::Ifc4x3::IfcRelAssignsToGroup> Ifc4x3::IfcGroup::IsGroupedBy() cons std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[943], 4)); } const ifcopenshell::entity& Ifc4x3::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_types[527]); } -void Ifc4x3::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3::IfcGroup Ifc4x3::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3::IfcSurface Ifc4x3::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSurface>(); } @@ -11315,7 +11315,7 @@ void Ifc4x3::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[528]); } -void Ifc4x3::IfcHalfSpaceSolid::initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3::IfcHalfSpaceSolid Ifc4x3::IfcHalfSpaceSolid::initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > Ifc4x3::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11323,7 +11323,7 @@ void Ifc4x3::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_types[530]); } -void Ifc4x3::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcHeatExchanger Ifc4x3::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3::IfcHeatExchangerTypeEnum::Value Ifc4x3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11331,7 +11331,7 @@ void Ifc4x3::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3::IfcHeatExch const ifcopenshell::entity& Ifc4x3::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[531]); } -void Ifc4x3::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcHeatExchangerType Ifc4x3::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > Ifc4x3::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11339,7 +11339,7 @@ void Ifc4x3::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_types[535]); } -void Ifc4x3::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcHumidifier Ifc4x3::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3::IfcHumidifierTypeEnum::Value Ifc4x3::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11347,7 +11347,7 @@ void Ifc4x3::IfcHumidifierType::setPredefinedType(const ::Ifc4x3::IfcHumidifierT const ifcopenshell::entity& Ifc4x3::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[536]); } -void Ifc4x3::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcHumidifierType Ifc4x3::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11367,7 +11367,7 @@ void Ifc4x3::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[565]); } -void Ifc4x3::IfcIShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3::IfcIShapeProfileDef Ifc4x3::IfcIShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11375,7 +11375,7 @@ void Ifc4x3::IfcImageTexture::setURLReference(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_types[540]); } -void Ifc4x3::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3::IfcImageTexture Ifc4x3::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11383,7 +11383,7 @@ void Ifc4x3::IfcImpactProtectionDevice::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[541]); } -void Ifc4x3::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcImpactProtectionDevice Ifc4x3::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11391,7 +11391,7 @@ void Ifc4x3::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[542]); } -void Ifc4x3::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcImpactProtectionDeviceType Ifc4x3::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3::IfcTessellatedFaceSet Ifc4x3::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcTessellatedFaceSet>(); } @@ -11405,7 +11405,7 @@ void Ifc4x3::IfcIndexedColourMap::setColourIndex(const std::vector< int > /*[1:? const ifcopenshell::entity& Ifc4x3::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_types[544]); } -void Ifc4x3::IfcIndexedColourMap::initialize(::Ifc4x3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3::IfcIndexedColourMap Ifc4x3::IfcIndexedColourMap::initialize(::Ifc4x3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3::IfcCartesianPointList Ifc4x3::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCartesianPointList>(); } @@ -11417,7 +11417,7 @@ void Ifc4x3::IfcIndexedPolyCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[545]); } -void Ifc4x3::IfcIndexedPolyCurve::initialize(::Ifc4x3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3::IfcSegmentIndexSelect > > v2_Segments, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); }set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3::IfcIndexedPolyCurve Ifc4x3::IfcIndexedPolyCurve::initialize(::Ifc4x3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3::IfcSegmentIndexSelect > > v2_Segments, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); }set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11427,7 +11427,7 @@ std::vector<::Ifc4x3::IfcPolygonalFaceSet> Ifc4x3::IfcIndexedPolygonalFace::ToFa std::vector<::Ifc4x3::IfcTextureCoordinateIndices> Ifc4x3::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1193], 1)); } const ifcopenshell::entity& Ifc4x3::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_types[546]); } -void Ifc4x3::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3::IfcIndexedPolygonalFace Ifc4x3::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11435,7 +11435,7 @@ void Ifc4x3::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const std::v const ifcopenshell::entity& Ifc4x3::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_types[547]); } -void Ifc4x3::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3::IfcIndexedPolygonalFaceWithVoids Ifc4x3::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedPolygonalTextureMap std::vector< ::Ifc4x3::IfcTextureCoordinateIndices > Ifc4x3::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3::IfcTextureCoordinateIndices>(es); } @@ -11443,7 +11443,7 @@ void Ifc4x3::IfcIndexedPolygonalTextureMap::setTexCoordIndices(const std::vector const ifcopenshell::entity& Ifc4x3::IfcIndexedPolygonalTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_types[548]); } -void Ifc4x3::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices)); } +Ifc4x3::IfcIndexedPolygonalTextureMap Ifc4x3::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3::IfcTessellatedFaceSet Ifc4x3::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcTessellatedFaceSet>(); } @@ -11453,7 +11453,7 @@ void Ifc4x3::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3::IfcTextureVertex const ifcopenshell::entity& Ifc4x3::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_types[549]); } -void Ifc4x3::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3::IfcIndexedTextureMap Ifc4x3::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11461,7 +11461,7 @@ void Ifc4x3::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_types[550]); } -void Ifc4x3::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3::IfcIndexedTriangleTextureMap Ifc4x3::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > Ifc4x3::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11469,7 +11469,7 @@ void Ifc4x3::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[554]); } -void Ifc4x3::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcInterceptor Ifc4x3::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3::IfcInterceptorTypeEnum::Value Ifc4x3::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11477,13 +11477,13 @@ void Ifc4x3::IfcInterceptorType::setPredefinedType(const ::Ifc4x3::IfcIntercepto const ifcopenshell::entity& Ifc4x3::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[555]); } -void Ifc4x3::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcInterceptorType Ifc4x3::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[559]); } -void Ifc4x3::IfcIntersectionCurve::initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3::IfcIntersectionCurve Ifc4x3::IfcIntersectionCurve::initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > Ifc4x3::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11501,7 +11501,7 @@ void Ifc4x3::IfcInventory::setOriginalValue(const ::Ifc4x3::IfcCostValue& v) { s const ifcopenshell::entity& Ifc4x3::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_types[560]); } -void Ifc4x3::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3::IfcCostValue v10_CurrentValue, ::Ifc4x3::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3::IfcInventory Ifc4x3::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3::IfcCostValue v10_CurrentValue, ::Ifc4x3::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue > Ifc4x3::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3::IfcIrregularTimeSeriesValue>(es); } @@ -11509,7 +11509,7 @@ void Ifc4x3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3::IfcI const ifcopenshell::entity& Ifc4x3::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_types[563]); } -void Ifc4x3::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3::IfcIrregularTimeSeries Ifc4x3::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11519,7 +11519,7 @@ void Ifc4x3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[564]); } -void Ifc4x3::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3::IfcIrregularTimeSeriesValue Ifc4x3::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > Ifc4x3::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11527,7 +11527,7 @@ void Ifc4x3::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_types[567]); } -void Ifc4x3::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcJunctionBox Ifc4x3::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3::IfcJunctionBoxTypeEnum::Value Ifc4x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11535,7 +11535,7 @@ void Ifc4x3::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3::IfcJunctionBo const ifcopenshell::entity& Ifc4x3::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[568]); } -void Ifc4x3::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcJunctionBoxType Ifc4x3::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb bool Ifc4x3::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } @@ -11543,7 +11543,7 @@ void Ifc4x3::IfcKerb::setMountable(const bool& v) { set_attribute_value(8, v);if const ifcopenshell::entity& Ifc4x3::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_types[570]); } -void Ifc4x3::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable)); } +Ifc4x3::IfcKerb Ifc4x3::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; return *this; } // Function implementations for IfcKerbType bool Ifc4x3::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } @@ -11551,7 +11551,7 @@ void Ifc4x3::IfcKerbType::setMountable(const bool& v) { set_attribute_value(9, v const ifcopenshell::entity& Ifc4x3::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[571]); } -void Ifc4x3::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable)); } +Ifc4x3::IfcKerbType Ifc4x3::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11569,7 +11569,7 @@ void Ifc4x3::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[620]); } -void Ifc4x3::IfcLShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3::IfcLShapeProfileDef Ifc4x3::IfcLShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > Ifc4x3::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11577,7 +11577,7 @@ void Ifc4x3::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[575]); } -void Ifc4x3::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcLaborResource Ifc4x3::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3::IfcLaborResourceTypeEnum::Value Ifc4x3::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11585,7 +11585,7 @@ void Ifc4x3::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3::IfcLaborRes const ifcopenshell::entity& Ifc4x3::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[576]); } -void Ifc4x3::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcLaborResourceType Ifc4x3::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3::IfcTimeOrRatioSelect Ifc4x3::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcTimeOrRatioSelect>(); } @@ -11595,7 +11595,7 @@ void Ifc4x3::IfcLagTime::setDurationType(const ::Ifc4x3::IfcTaskDurationEnum::Va const ifcopenshell::entity& Ifc4x3::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[578]); } -void Ifc4x3::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3::IfcLagTime Ifc4x3::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3::IfcLampTypeEnum::Value > Ifc4x3::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11603,7 +11603,7 @@ void Ifc4x3::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3::IfcLampTy const ifcopenshell::entity& Ifc4x3::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_types[579]); } -void Ifc4x3::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcLamp Ifc4x3::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3::IfcLampTypeEnum::Value Ifc4x3::IfcLampType::PredefinedType() const { return ::Ifc4x3::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11611,7 +11611,7 @@ void Ifc4x3::IfcLampType::setPredefinedType(const ::Ifc4x3::IfcLampTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[580]); } -void Ifc4x3::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcLampType Ifc4x3::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11631,7 +11631,7 @@ std::vector<::Ifc4x3::IfcRelAssociatesLibrary> Ifc4x3::IfcLibraryInformation::Li std::vector<::Ifc4x3::IfcLibraryReference> Ifc4x3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[587], 5)); } const ifcopenshell::entity& Ifc4x3::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[586]); } -void Ifc4x3::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3::IfcLibraryInformation Ifc4x3::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11644,7 +11644,7 @@ void Ifc4x3::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3::IfcLibrar std::vector<::Ifc4x3::IfcRelAssociatesLibrary> Ifc4x3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[914], 5)); } const ifcopenshell::entity& Ifc4x3::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_types[587]); } -void Ifc4x3::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3::IfcLibraryReference Ifc4x3::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11656,7 +11656,7 @@ void Ifc4x3::IfcLightDistributionData::setLuminousIntensity(const std::vector< d const ifcopenshell::entity& Ifc4x3::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_types[590]); } -void Ifc4x3::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3::IfcLightDistributionData Ifc4x3::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > Ifc4x3::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11664,7 +11664,7 @@ void Ifc4x3::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_types[593]); } -void Ifc4x3::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcLightFixture Ifc4x3::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3::IfcLightFixtureTypeEnum::Value Ifc4x3::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11672,7 +11672,7 @@ void Ifc4x3::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3::IfcLightFixt const ifcopenshell::entity& Ifc4x3::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[594]); } -void Ifc4x3::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcLightFixtureType Ifc4x3::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3::IfcLightDistributionCurveEnum::Value Ifc4x3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11682,7 +11682,7 @@ void Ifc4x3::IfcLightIntensityDistribution::setDistributionData(const std::vecto const ifcopenshell::entity& Ifc4x3::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_types[596]); } -void Ifc4x3::IfcLightIntensityDistribution::initialize(::Ifc4x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3::IfcLightIntensityDistribution Ifc4x3::IfcLightIntensityDistribution::initialize(::Ifc4x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11696,13 +11696,13 @@ void Ifc4x3::IfcLightSource::setIntensity(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4x3::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[597]); } -void Ifc4x3::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3::IfcLightSource Ifc4x3::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_types[598]); } -void Ifc4x3::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3::IfcLightSourceAmbient Ifc4x3::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3::IfcDirection Ifc4x3::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcDirection>(); } @@ -11710,7 +11710,7 @@ void Ifc4x3::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3::IfcDirect const ifcopenshell::entity& Ifc4x3::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_types[599]); } -void Ifc4x3::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3::IfcLightSourceDirectional Ifc4x3::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3::IfcAxis2Placement3D Ifc4x3::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcAxis2Placement3D>(); } @@ -11728,7 +11728,7 @@ void Ifc4x3::IfcLightSourceGoniometric::setLightDistributionDataSource(const ::I const ifcopenshell::entity& Ifc4x3::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_types[600]); } -void Ifc4x3::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcAxis2Placement3D v5_Position, ::Ifc4x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3::IfcLightSourceGoniometric Ifc4x3::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcAxis2Placement3D v5_Position, ::Ifc4x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3::IfcCartesianPoint Ifc4x3::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcCartesianPoint>(); } @@ -11744,7 +11744,7 @@ void Ifc4x3::IfcLightSourcePositional::setQuadricAttenuation(const double& v) { const ifcopenshell::entity& Ifc4x3::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_types[601]); } -void Ifc4x3::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3::IfcLightSourcePositional Ifc4x3::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3::IfcDirection Ifc4x3::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3::IfcDirection>(); } @@ -11758,7 +11758,7 @@ void Ifc4x3::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_types[602]); } -void Ifc4x3::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3::IfcLightSourceSpot Ifc4x3::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3::IfcCartesianPoint Ifc4x3::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCartesianPoint>(); } @@ -11768,13 +11768,13 @@ void Ifc4x3::IfcLine::setDir(const ::Ifc4x3::IfcVector& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_types[603]); } -void Ifc4x3::IfcLine::initialize(::Ifc4x3::IfcCartesianPoint v1_Pnt, ::Ifc4x3::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3::IfcLine Ifc4x3::IfcLine::initialize(::Ifc4x3::IfcCartesianPoint v1_Pnt, ::Ifc4x3::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[604]); } -void Ifc4x3::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcLinearElement Ifc4x3::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3::IfcAxis2PlacementLinear Ifc4x3::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcAxis2PlacementLinear>(); } @@ -11784,13 +11784,13 @@ void Ifc4x3::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3::IfcAxis2Pl const ifcopenshell::entity& Ifc4x3::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[607]); } -void Ifc4x3::IfcLinearPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition)); } +Ifc4x3::IfcLinearPlacement Ifc4x3::IfcLinearPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement const ifcopenshell::entity& Ifc4x3::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[608]); } -void Ifc4x3::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcLinearPositioningElement Ifc4x3::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11798,7 +11798,7 @@ void Ifc4x3::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[612]); } -void Ifc4x3::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcLiquidTerminal Ifc4x3::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value Ifc4x3::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11806,7 +11806,7 @@ void Ifc4x3::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3::IfcLiquidT const ifcopenshell::entity& Ifc4x3::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[613]); } -void Ifc4x3::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcLiquidTerminalType Ifc4x3::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3::IfcAxis2Placement Ifc4x3::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcAxis2Placement>(); } @@ -11814,13 +11814,13 @@ void Ifc4x3::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3::IfcAxis2Pla const ifcopenshell::entity& Ifc4x3::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[616]); } -void Ifc4x3::IfcLocalPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3::IfcLocalPlacement Ifc4x3::IfcLocalPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_types[619]); } -void Ifc4x3::IfcLoop::initialize() { } +Ifc4x3::IfcLoop Ifc4x3::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3::IfcClosedShell Ifc4x3::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcClosedShell>(); } @@ -11828,7 +11828,7 @@ void Ifc4x3::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3::IfcClosedShell& v) { const ifcopenshell::entity& Ifc4x3::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_types[626]); } -void Ifc4x3::IfcManifoldSolidBrep::initialize(::Ifc4x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3::IfcManifoldSolidBrep Ifc4x3::IfcManifoldSolidBrep::initialize(::Ifc4x3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11850,7 +11850,7 @@ void Ifc4x3::IfcMapConversion::setScaleZ(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4x3::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_types[627]); } -void Ifc4x3::IfcMapConversion::initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); } } +Ifc4x3::IfcMapConversion Ifc4x3::IfcMapConversion::initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3::IfcRepresentationMap Ifc4x3::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcRepresentationMap>(); } @@ -11860,7 +11860,7 @@ void Ifc4x3::IfcMappedItem::setMappingTarget(const ::Ifc4x3::IfcCartesianTransfo const ifcopenshell::entity& Ifc4x3::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[628]); } -void Ifc4x3::IfcMappedItem::initialize(::Ifc4x3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3::IfcMappedItem Ifc4x3::IfcMappedItem::initialize(::Ifc4x3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > Ifc4x3::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11868,7 +11868,7 @@ void Ifc4x3::IfcMarineFacility::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_types[629]); } -void Ifc4x3::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcMarineFacility Ifc4x3::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcMarinePart std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > Ifc4x3::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } @@ -11876,7 +11876,7 @@ void Ifc4x3::IfcMarinePart::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcMarinePart::Class() { return *((ifcopenshell::entity*)IFC4X3_types[631]); } -void Ifc4x3::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcMarinePart Ifc4x3::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11891,7 +11891,7 @@ std::vector<::Ifc4x3::IfcMaterialRelationship> Ifc4x3::IfcMaterial::IsRelatedWit std::vector<::Ifc4x3::IfcMaterialRelationship> Ifc4x3::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[654], 2)); } const ifcopenshell::entity& Ifc4x3::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_types[637]); } -void Ifc4x3::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3::IfcMaterial Ifc4x3::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3::IfcClassificationSelect > Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcClassificationSelect>(es); } @@ -11901,7 +11901,7 @@ void Ifc4x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(const const ifcopenshell::entity& Ifc4x3::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[638]); } -void Ifc4x3::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3::IfcMaterialClassificationRelationship Ifc4x3::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11918,7 +11918,7 @@ void Ifc4x3::IfcMaterialConstituent::setCategory(const std::optional< std::strin std::vector<::Ifc4x3::IfcMaterialConstituentSet> Ifc4x3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[640], 2)); } const ifcopenshell::entity& Ifc4x3::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_types[639]); } -void Ifc4x3::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3::IfcMaterialConstituent Ifc4x3::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11930,7 +11930,7 @@ void Ifc4x3::IfcMaterialConstituentSet::setMaterialConstituents(const std::optio const ifcopenshell::entity& Ifc4x3::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[640]); } -void Ifc4x3::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3::IfcMaterialConstituentSet Ifc4x3::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11939,7 +11939,7 @@ std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcMaterialDefin std::vector<::Ifc4x3::IfcMaterialProperties> Ifc4x3::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[653], 3)); } const ifcopenshell::entity& Ifc4x3::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[641]); } -void Ifc4x3::IfcMaterialDefinition::initialize() { } +Ifc4x3::IfcMaterialDefinition Ifc4x3::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3::IfcMaterial Ifc4x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcMaterial>(); } @@ -11947,7 +11947,7 @@ void Ifc4x3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(const : const ifcopenshell::entity& Ifc4x3::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[642]); } -void Ifc4x3::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations, ::Ifc4x3::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3::IfcMaterialDefinitionRepresentation Ifc4x3::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations, ::Ifc4x3::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3::IfcMaterial Ifc4x3::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcMaterial>(); } @@ -11968,7 +11968,7 @@ void Ifc4x3::IfcMaterialLayer::setPriority(const std::optional< int >& v) { if ( std::vector<::Ifc4x3::IfcMaterialLayerSet> Ifc4x3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[644], 0)); } const ifcopenshell::entity& Ifc4x3::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_types[643]); } -void Ifc4x3::IfcMaterialLayer::initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3::IfcMaterialLayer Ifc4x3::IfcMaterialLayer::initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3::IfcMaterialLayer > Ifc4x3::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcMaterialLayer>(es); } @@ -11980,7 +11980,7 @@ void Ifc4x3::IfcMaterialLayerSet::setDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[644]); } -void Ifc4x3::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3::IfcMaterialLayerSet Ifc4x3::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3::IfcMaterialLayerSet Ifc4x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcMaterialLayerSet>(); } @@ -11996,7 +11996,7 @@ void Ifc4x3::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optional< d const ifcopenshell::entity& Ifc4x3::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_types[645]); } -void Ifc4x3::IfcMaterialLayerSetUsage::initialize(::Ifc4x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3::IfcMaterialLayerSetUsage Ifc4x3::IfcMaterialLayerSetUsage::initialize(::Ifc4x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3::IfcLayerSetDirectionEnum::Value Ifc4x3::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -12006,7 +12006,7 @@ void Ifc4x3::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< dou const ifcopenshell::entity& Ifc4x3::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_types[646]); } -void Ifc4x3::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3::IfcMaterialLayerWithOffsets Ifc4x3::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3::IfcMaterial > Ifc4x3::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcMaterial>(es); } @@ -12014,7 +12014,7 @@ void Ifc4x3::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3::IfcMater const ifcopenshell::entity& Ifc4x3::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_types[647]); } -void Ifc4x3::IfcMaterialList::initialize(std::vector< ::Ifc4x3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3::IfcMaterialList Ifc4x3::IfcMaterialList::initialize(std::vector< ::Ifc4x3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12033,7 +12033,7 @@ void Ifc4x3::IfcMaterialProfile::setCategory(const std::optional< std::string >& std::vector<::Ifc4x3::IfcMaterialProfileSet> Ifc4x3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[649], 2)); } const ifcopenshell::entity& Ifc4x3::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_types[648]); } -void Ifc4x3::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3::IfcMaterialProfile Ifc4x3::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12047,7 +12047,7 @@ void Ifc4x3::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3::IfcCompo const ifcopenshell::entity& Ifc4x3::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[649]); } -void Ifc4x3::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3::IfcMaterialProfileSet Ifc4x3::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3::IfcMaterialProfileSet Ifc4x3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcMaterialProfileSet>(); } @@ -12059,7 +12059,7 @@ void Ifc4x3::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_types[650]); } -void Ifc4x3::IfcMaterialProfileSetUsage::initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3::IfcMaterialProfileSetUsage Ifc4x3::IfcMaterialProfileSetUsage::initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3::IfcMaterialProfileSet Ifc4x3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcMaterialProfileSet>(); } @@ -12069,7 +12069,7 @@ void Ifc4x3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const std:: const ifcopenshell::entity& Ifc4x3::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_types[651]); } -void Ifc4x3::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3::IfcMaterialProfileSetUsageTapering Ifc4x3::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -12077,7 +12077,7 @@ void Ifc4x3::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vector< d const ifcopenshell::entity& Ifc4x3::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_types[652]); } -void Ifc4x3::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3::IfcMaterialProfileWithOffsets Ifc4x3::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3::IfcMaterialDefinition Ifc4x3::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcMaterialDefinition>(); } @@ -12085,7 +12085,7 @@ void Ifc4x3::IfcMaterialProperties::setMaterial(const ::Ifc4x3::IfcMaterialDefin const ifcopenshell::entity& Ifc4x3::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[653]); } -void Ifc4x3::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3::IfcMaterialProperties Ifc4x3::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3::IfcMaterial Ifc4x3::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcMaterial>(); } @@ -12097,14 +12097,14 @@ void Ifc4x3::IfcMaterialRelationship::setMaterialExpression(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[654]); } -void Ifc4x3::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); } } +Ifc4x3::IfcMaterialRelationship Ifc4x3::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3::IfcRelAssociatesMaterial> Ifc4x3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[915], 5)); } const ifcopenshell::entity& Ifc4x3::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[656]); } -void Ifc4x3::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3::IfcMaterialUsageDefinition Ifc4x3::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3::IfcValue Ifc4x3::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcValue>(); } @@ -12114,7 +12114,7 @@ void Ifc4x3::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3::IfcUnit& v) { const ifcopenshell::entity& Ifc4x3::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[658]); } -void Ifc4x3::IfcMeasureWithUnit::initialize(::Ifc4x3::IfcValue v1_ValueComponent, ::Ifc4x3::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3::IfcMeasureWithUnit Ifc4x3::IfcMeasureWithUnit::initialize(::Ifc4x3::IfcValue v1_ValueComponent, ::Ifc4x3::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12126,7 +12126,7 @@ void Ifc4x3::IfcMechanicalFastener::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_types[659]); } -void Ifc4x3::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcMechanicalFastener Ifc4x3::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12138,7 +12138,7 @@ void Ifc4x3::IfcMechanicalFastenerType::setNominalLength(const std::optional< do const ifcopenshell::entity& Ifc4x3::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[660]); } -void Ifc4x3::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3::IfcMechanicalFastenerType Ifc4x3::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12146,7 +12146,7 @@ void Ifc4x3::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[662]); } -void Ifc4x3::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcMedicalDevice Ifc4x3::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value Ifc4x3::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12154,7 +12154,7 @@ void Ifc4x3::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3::IfcMedicalD const ifcopenshell::entity& Ifc4x3::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[663]); } -void Ifc4x3::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcMedicalDeviceType Ifc4x3::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > Ifc4x3::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12162,7 +12162,7 @@ void Ifc4x3::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3::IfcMemb const ifcopenshell::entity& Ifc4x3::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_types[665]); } -void Ifc4x3::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcMember Ifc4x3::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3::IfcMemberTypeEnum::Value Ifc4x3::IfcMemberType::PredefinedType() const { return ::Ifc4x3::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12170,7 +12170,7 @@ void Ifc4x3::IfcMemberType::setPredefinedType(const ::Ifc4x3::IfcMemberTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[666]); } -void Ifc4x3::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcMemberType Ifc4x3::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3::IfcBenchmarkEnum::Value Ifc4x3::IfcMetric::Benchmark() const { return ::Ifc4x3::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12184,13 +12184,13 @@ void Ifc4x3::IfcMetric::setReferencePath(const ::Ifc4x3::IfcReference& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_types[668]); } -void Ifc4x3::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3::IfcMetric Ifc4x3::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[670]); } -void Ifc4x3::IfcMirroredProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3::IfcMirroredProfileDef Ifc4x3::IfcMirroredProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12198,7 +12198,7 @@ void Ifc4x3::IfcMobileTelecommunicationsAppliance::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_types[671]); } -void Ifc4x3::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcMobileTelecommunicationsAppliance Ifc4x3::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12206,7 +12206,7 @@ void Ifc4x3::IfcMobileTelecommunicationsApplianceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[672]); } -void Ifc4x3::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcMobileTelecommunicationsApplianceType Ifc4x3::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12214,7 +12214,7 @@ void Ifc4x3::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[685]); } -void Ifc4x3::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3::IfcMonetaryUnit Ifc4x3::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > Ifc4x3::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12222,7 +12222,7 @@ void Ifc4x3::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[687]); } -void Ifc4x3::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcMooringDevice Ifc4x3::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3::IfcMooringDeviceTypeEnum::Value Ifc4x3::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12230,7 +12230,7 @@ void Ifc4x3::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3::IfcMooringD const ifcopenshell::entity& Ifc4x3::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[688]); } -void Ifc4x3::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcMooringDeviceType Ifc4x3::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > Ifc4x3::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12238,7 +12238,7 @@ void Ifc4x3::IfcMotorConnection::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[690]); } -void Ifc4x3::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcMotorConnection Ifc4x3::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3::IfcMotorConnectionTypeEnum::Value Ifc4x3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12246,7 +12246,7 @@ void Ifc4x3::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3::IfcMotorC const ifcopenshell::entity& Ifc4x3::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[691]); } -void Ifc4x3::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcMotorConnectionType Ifc4x3::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3::IfcDimensionalExponents Ifc4x3::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcDimensionalExponents>(); } @@ -12256,7 +12256,7 @@ void Ifc4x3::IfcNamedUnit::setUnitType(const ::Ifc4x3::IfcUnitEnum::Value& v) { const ifcopenshell::entity& Ifc4x3::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[693]); } -void Ifc4x3::IfcNamedUnit::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3::IfcNamedUnit Ifc4x3::IfcNamedUnit::initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > Ifc4x3::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12264,7 +12264,7 @@ void Ifc4x3::IfcNavigationElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[694]); } -void Ifc4x3::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcNavigationElement Ifc4x3::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3::IfcNavigationElementTypeEnum::Value Ifc4x3::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12272,7 +12272,7 @@ void Ifc4x3::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3::IfcNavi const ifcopenshell::entity& Ifc4x3::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[695]); } -void Ifc4x3::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcNavigationElementType Ifc4x3::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12284,7 +12284,7 @@ std::vector<::Ifc4x3::IfcRelDefinesByType> Ifc4x3::IfcObject::IsTypedBy() const std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[934], 4)); } const ifcopenshell::entity& Ifc4x3::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_types[700]); } -void Ifc4x3::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3::IfcObject Ifc4x3::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12297,7 +12297,7 @@ std::vector<::Ifc4x3::IfcRelAggregates> Ifc4x3::IfcObjectDefinition::Decomposes( std::vector<::Ifc4x3::IfcRelAssociates> Ifc4x3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[909], 4)); } const ifcopenshell::entity& Ifc4x3::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[701]); } -void Ifc4x3::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcObjectDefinition Ifc4x3::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3::IfcObjectPlacement Ifc4x3::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcObjectPlacement>(); } @@ -12307,7 +12307,7 @@ std::vector<::Ifc4x3::IfcProduct> Ifc4x3::IfcObjectPlacement::PlacesObject() con std::vector<::Ifc4x3::IfcObjectPlacement> Ifc4x3::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[704], 0)); } const ifcopenshell::entity& Ifc4x3::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[704]); } -void Ifc4x3::IfcObjectPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3::IfcObjectPlacement Ifc4x3::IfcObjectPlacement::initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3::IfcConstraint > > Ifc4x3::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3::IfcConstraint>(es); } @@ -12321,7 +12321,7 @@ void Ifc4x3::IfcObjective::setUserDefinedQualifier(const std::optional< std::str const ifcopenshell::entity& Ifc4x3::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_types[702]); } -void Ifc4x3::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3::IfcObjective Ifc4x3::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > Ifc4x3::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12329,7 +12329,7 @@ void Ifc4x3::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3::IfcOc const ifcopenshell::entity& Ifc4x3::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_types[707]); } -void Ifc4x3::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3::IfcOccupant Ifc4x3::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3::IfcCurve Ifc4x3::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -12337,7 +12337,7 @@ void Ifc4x3::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3::IfcCurve& v) { set_at const ifcopenshell::entity& Ifc4x3::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[709]); } -void Ifc4x3::IfcOffsetCurve::initialize(::Ifc4x3::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3::IfcOffsetCurve Ifc4x3::IfcOffsetCurve::initialize(::Ifc4x3::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12347,7 +12347,7 @@ void Ifc4x3::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& v) const ifcopenshell::entity& Ifc4x3::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[710]); } -void Ifc4x3::IfcOffsetCurve2D::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3::IfcOffsetCurve2D Ifc4x3::IfcOffsetCurve2D::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12359,7 +12359,7 @@ void Ifc4x3::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3::IfcDirection& v) const ifcopenshell::entity& Ifc4x3::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_types[711]); } -void Ifc4x3::IfcOffsetCurve3D::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3::IfcOffsetCurve3D Ifc4x3::IfcOffsetCurve3D::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3::IfcPointByDistanceExpression > Ifc4x3::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3::IfcPointByDistanceExpression>(es); } @@ -12369,7 +12369,7 @@ void Ifc4x3::IfcOffsetCurveByDistances::setTag(const std::optional< std::string const ifcopenshell::entity& Ifc4x3::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_types[712]); } -void Ifc4x3::IfcOffsetCurveByDistances::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3::IfcOffsetCurveByDistances Ifc4x3::IfcOffsetCurveByDistances::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12385,13 +12385,13 @@ void Ifc4x3::IfcOpenCrossProfileDef::setOffsetPoint(const ::Ifc4x3::IfcCartesian const ifcopenshell::entity& Ifc4x3::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[713]); } -void Ifc4x3::IfcOpenCrossProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint)); } +Ifc4x3::IfcOpenCrossProfileDef Ifc4x3::IfcOpenCrossProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint));; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_types[716]); } -void Ifc4x3::IfcOpenShell::initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3::IfcOpenShell Ifc4x3::IfcOpenShell::initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > Ifc4x3::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12400,7 +12400,7 @@ void Ifc4x3::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc4x3: std::vector<::Ifc4x3::IfcRelFillsElement> Ifc4x3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[937], 4)); } const ifcopenshell::entity& Ifc4x3::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[714]); } -void Ifc4x3::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcOpeningElement Ifc4x3::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12419,7 +12419,7 @@ std::vector<::Ifc4x3::IfcOrganizationRelationship> Ifc4x3::IfcOrganization::Rela std::vector<::Ifc4x3::IfcPersonAndOrganization> Ifc4x3::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[739], 1)); } const ifcopenshell::entity& Ifc4x3::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_types[717]); } -void Ifc4x3::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3::IfcOrganization Ifc4x3::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3::IfcOrganization Ifc4x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcOrganization>(); } @@ -12429,7 +12429,7 @@ void Ifc4x3::IfcOrganizationRelationship::setRelatedOrganizations(const std::vec const ifcopenshell::entity& Ifc4x3::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[718]); } -void Ifc4x3::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3::IfcOrganizationRelationship Ifc4x3::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3::IfcEdge Ifc4x3::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcEdge>(); } @@ -12439,13 +12439,13 @@ void Ifc4x3::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_types[719]); } -void Ifc4x3::IfcOrientedEdge::initialize(::Ifc4x3::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3::IfcOrientedEdge Ifc4x3::IfcOrientedEdge::initialize(::Ifc4x3::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[720]); } -void Ifc4x3::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3::IfcOuterBoundaryCurve Ifc4x3::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > Ifc4x3::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12453,7 +12453,7 @@ void Ifc4x3::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3::IfcOutl const ifcopenshell::entity& Ifc4x3::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[721]); } -void Ifc4x3::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcOutlet Ifc4x3::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3::IfcOutletTypeEnum::Value Ifc4x3::IfcOutletType::PredefinedType() const { return ::Ifc4x3::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12461,7 +12461,7 @@ void Ifc4x3::IfcOutletType::setPredefinedType(const ::Ifc4x3::IfcOutletTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[722]); } -void Ifc4x3::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcOutletType Ifc4x3::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3::IfcPersonAndOrganization Ifc4x3::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPersonAndOrganization>(); } @@ -12483,7 +12483,7 @@ void Ifc4x3::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_types[724]); } -void Ifc4x3::IfcOwnerHistory::initialize(::Ifc4x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3::IfcOwnerHistory Ifc4x3::IfcOwnerHistory::initialize(::Ifc4x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3::IfcAxis2Placement2D Ifc4x3::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcAxis2Placement2D>(); } @@ -12491,7 +12491,7 @@ void Ifc4x3::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3::IfcAxis2Pla const ifcopenshell::entity& Ifc4x3::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[725]); } -void Ifc4x3::IfcParameterizedProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3::IfcParameterizedProfileDef Ifc4x3::IfcParameterizedProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3::IfcOrientedEdge > Ifc4x3::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcOrientedEdge>(es); } @@ -12499,7 +12499,7 @@ void Ifc4x3::IfcPath::setEdgeList(const std::vector< ::Ifc4x3::IfcOrientedEdge > const ifcopenshell::entity& Ifc4x3::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_types[727]); } -void Ifc4x3::IfcPath::initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3::IfcPath Ifc4x3::IfcPath::initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > Ifc4x3::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } @@ -12507,7 +12507,7 @@ void Ifc4x3::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3::IfcPa const ifcopenshell::entity& Ifc4x3::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[728]); } -void Ifc4x3::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcPavement Ifc4x3::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPavementType ::Ifc4x3::IfcPavementTypeEnum::Value Ifc4x3::IfcPavementType::PredefinedType() const { return ::Ifc4x3::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } @@ -12515,7 +12515,7 @@ void Ifc4x3::IfcPavementType::setPredefinedType(const ::Ifc4x3::IfcPavementTypeE const ifcopenshell::entity& Ifc4x3::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[729]); } -void Ifc4x3::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcPavementType Ifc4x3::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3::IfcSurface Ifc4x3::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSurface>(); } @@ -12525,7 +12525,7 @@ void Ifc4x3::IfcPcurve::setReferenceCurve(const ::Ifc4x3::IfcCurve& v) { set_att const ifcopenshell::entity& Ifc4x3::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[731]); } -void Ifc4x3::IfcPcurve::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, ::Ifc4x3::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3::IfcPcurve Ifc4x3::IfcPcurve::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, ::Ifc4x3::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12535,7 +12535,7 @@ void Ifc4x3::IfcPerformanceHistory::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_types[732]); } -void Ifc4x3::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3::IfcPerformanceHistory Ifc4x3::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value Ifc4x3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12551,7 +12551,7 @@ void Ifc4x3::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[735]); } -void Ifc4x3::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3::IfcPermeableCoveringProperties Ifc4x3::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > Ifc4x3::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12563,7 +12563,7 @@ void Ifc4x3::IfcPermit::setLongDescription(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[736]); } -void Ifc4x3::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3::IfcPermit Ifc4x3::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12586,7 +12586,7 @@ void Ifc4x3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc4x3: std::vector<::Ifc4x3::IfcPersonAndOrganization> Ifc4x3::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[739], 0)); } const ifcopenshell::entity& Ifc4x3::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_types[738]); } -void Ifc4x3::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3::IfcPerson Ifc4x3::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3::IfcPerson Ifc4x3::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPerson>(); } @@ -12598,7 +12598,7 @@ void Ifc4x3::IfcPersonAndOrganization::setRoles(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_types[739]); } -void Ifc4x3::IfcPersonAndOrganization::initialize(::Ifc4x3::IfcPerson v1_ThePerson, ::Ifc4x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3::IfcPersonAndOrganization Ifc4x3::IfcPersonAndOrganization::initialize(::Ifc4x3::IfcPerson v1_ThePerson, ::Ifc4x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3::IfcPhysicalQuantity > Ifc4x3::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcPhysicalQuantity>(es); } @@ -12612,7 +12612,7 @@ void Ifc4x3::IfcPhysicalComplexQuantity::setUsage(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[741]); } -void Ifc4x3::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3::IfcPhysicalComplexQuantity Ifc4x3::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12624,7 +12624,7 @@ std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcPhysicalQuant std::vector<::Ifc4x3::IfcPhysicalComplexQuantity> Ifc4x3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[741], 2)); } const ifcopenshell::entity& Ifc4x3::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[743]); } -void Ifc4x3::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3::IfcPhysicalQuantity Ifc4x3::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3::IfcNamedUnit Ifc4x3::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcNamedUnit>(); } @@ -12632,7 +12632,7 @@ void Ifc4x3::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3::IfcNamedUnit& v) const ifcopenshell::entity& Ifc4x3::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[744]); } -void Ifc4x3::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3::IfcPhysicalSimpleQuantity Ifc4x3::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3::IfcPileTypeEnum::Value > Ifc4x3::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12642,7 +12642,7 @@ void Ifc4x3::IfcPile::setConstructionType(const std::optional< ::Ifc4x3::IfcPile const ifcopenshell::entity& Ifc4x3::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_types[745]); } -void Ifc4x3::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3::IfcPile Ifc4x3::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3::IfcPileTypeEnum::Value Ifc4x3::IfcPileType::PredefinedType() const { return ::Ifc4x3::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12650,7 +12650,7 @@ void Ifc4x3::IfcPileType::setPredefinedType(const ::Ifc4x3::IfcPileTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[747]); } -void Ifc4x3::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcPileType Ifc4x3::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > Ifc4x3::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12658,7 +12658,7 @@ void Ifc4x3::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[749]); } -void Ifc4x3::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcPipeFitting Ifc4x3::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3::IfcPipeFittingTypeEnum::Value Ifc4x3::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12666,7 +12666,7 @@ void Ifc4x3::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3::IfcPipeFittin const ifcopenshell::entity& Ifc4x3::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[750]); } -void Ifc4x3::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcPipeFittingType Ifc4x3::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > Ifc4x3::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12674,7 +12674,7 @@ void Ifc4x3::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[752]); } -void Ifc4x3::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcPipeSegment Ifc4x3::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3::IfcPipeSegmentTypeEnum::Value Ifc4x3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12682,7 +12682,7 @@ void Ifc4x3::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3::IfcPipeSegmen const ifcopenshell::entity& Ifc4x3::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[753]); } -void Ifc4x3::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcPipeSegmentType Ifc4x3::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12696,7 +12696,7 @@ void Ifc4x3::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bitset< const ifcopenshell::entity& Ifc4x3::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_types[755]); } -void Ifc4x3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3::IfcPixelTexture Ifc4x3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3::IfcPoint Ifc4x3::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPoint>(); } @@ -12704,7 +12704,7 @@ void Ifc4x3::IfcPlacement::setLocation(const ::Ifc4x3::IfcPoint& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[756]); } -void Ifc4x3::IfcPlacement::initialize(::Ifc4x3::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3::IfcPlacement Ifc4x3::IfcPlacement::initialize(::Ifc4x3::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3::IfcAxis2Placement Ifc4x3::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcAxis2Placement>(); } @@ -12712,7 +12712,7 @@ void Ifc4x3::IfcPlanarBox::setPlacement(const ::Ifc4x3::IfcAxis2Placement& v) { const ifcopenshell::entity& Ifc4x3::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_types[757]); } -void Ifc4x3::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3::IfcPlanarBox Ifc4x3::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12722,13 +12722,13 @@ void Ifc4x3::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_types[758]); } -void Ifc4x3::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3::IfcPlanarExtent Ifc4x3::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_types[760]); } -void Ifc4x3::IfcPlane::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3::IfcPlane Ifc4x3::IfcPlane::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > Ifc4x3::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12736,7 +12736,7 @@ void Ifc4x3::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3::IfcPlate const ifcopenshell::entity& Ifc4x3::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[762]); } -void Ifc4x3::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcPlate Ifc4x3::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3::IfcPlateTypeEnum::Value Ifc4x3::IfcPlateType::PredefinedType() const { return ::Ifc4x3::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12744,13 +12744,13 @@ void Ifc4x3::IfcPlateType::setPredefinedType(const ::Ifc4x3::IfcPlateTypeEnum::V const ifcopenshell::entity& Ifc4x3::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[763]); } -void Ifc4x3::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcPlateType Ifc4x3::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_types[765]); } -void Ifc4x3::IfcPoint::initialize() { } +Ifc4x3::IfcPoint Ifc4x3::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3::IfcCurveMeasureSelect Ifc4x3::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurveMeasureSelect>(); } @@ -12766,7 +12766,7 @@ void Ifc4x3::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3::IfcCurv const ifcopenshell::entity& Ifc4x3::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_types[766]); } -void Ifc4x3::IfcPointByDistanceExpression::initialize(::Ifc4x3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3::IfcPointByDistanceExpression Ifc4x3::IfcPointByDistanceExpression::initialize(::Ifc4x3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3::IfcCurve Ifc4x3::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -12776,7 +12776,7 @@ void Ifc4x3::IfcPointOnCurve::setPointParameter(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[767]); } -void Ifc4x3::IfcPointOnCurve::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3::IfcPointOnCurve Ifc4x3::IfcPointOnCurve::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3::IfcSurface Ifc4x3::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSurface>(); } @@ -12788,7 +12788,7 @@ void Ifc4x3::IfcPointOnSurface::setPointParameterV(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[768]); } -void Ifc4x3::IfcPointOnSurface::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3::IfcPointOnSurface Ifc4x3::IfcPointOnSurface::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3::IfcCartesianPoint > Ifc4x3::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcCartesianPoint>(es); } @@ -12796,7 +12796,7 @@ void Ifc4x3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3::IfcCartesianPo const ifcopenshell::entity& Ifc4x3::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_types[773]); } -void Ifc4x3::IfcPolyLoop::initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3::IfcPolyLoop Ifc4x3::IfcPolyLoop::initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3::IfcAxis2Placement3D Ifc4x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcAxis2Placement3D>(); } @@ -12806,7 +12806,7 @@ void Ifc4x3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_types[770]); } -void Ifc4x3::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcAxis2Placement3D v3_Position, ::Ifc4x3::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3::IfcPolygonalBoundedHalfSpace Ifc4x3::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcAxis2Placement3D v3_Position, ::Ifc4x3::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::vector< ::Ifc4x3::IfcIndexedPolygonalFace > Ifc4x3::IfcPolygonalFaceSet::Faces() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcIndexedPolygonalFace>(es); } @@ -12816,7 +12816,7 @@ void Ifc4x3::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vector< i const ifcopenshell::entity& Ifc4x3::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[771]); } -void Ifc4x3::IfcPolygonalFaceSet::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3::IfcPolygonalFaceSet Ifc4x3::IfcPolygonalFaceSet::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3::IfcCartesianPoint > Ifc4x3::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcCartesianPoint>(es); } @@ -12824,7 +12824,7 @@ void Ifc4x3::IfcPolyline::setPoints(const std::vector< ::Ifc4x3::IfcCartesianPoi const ifcopenshell::entity& Ifc4x3::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_types[772]); } -void Ifc4x3::IfcPolyline::initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3::IfcPolyline Ifc4x3::IfcPolyline::initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPolynomialCurve ::Ifc4x3::IfcPlacement Ifc4x3::IfcPolynomialCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPlacement>(); } @@ -12838,7 +12838,7 @@ void Ifc4x3::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std::vect const ifcopenshell::entity& Ifc4x3::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[774]); } -void Ifc4x3::IfcPolynomialCurve::initialize(::Ifc4x3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); } } +Ifc4x3::IfcPolynomialCurve Ifc4x3::IfcPolynomialCurve::initialize(::Ifc4x3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; return *this; } // Function implementations for IfcPort @@ -12847,7 +12847,7 @@ std::vector<::Ifc4x3::IfcRelConnectsPorts> Ifc4x3::IfcPort::ConnectedFrom() cons std::vector<::Ifc4x3::IfcRelConnectsPorts> Ifc4x3::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[921], 4)); } const ifcopenshell::entity& Ifc4x3::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_types[775]); } -void Ifc4x3::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcPort Ifc4x3::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12855,7 +12855,7 @@ std::vector<::Ifc4x3::IfcRelContainedInSpatialStructure> Ifc4x3::IfcPositioningE std::vector<::Ifc4x3::IfcRelPositions> Ifc4x3::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[941], 4)); } const ifcopenshell::entity& Ifc4x3::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[776]); } -void Ifc4x3::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcPositioningElement Ifc4x3::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12875,19 +12875,19 @@ void Ifc4x3::IfcPostalAddress::setCountry(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_types[781]); } -void Ifc4x3::IfcPostalAddress::initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3::IfcPostalAddress Ifc4x3::IfcPostalAddress::initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_types[783]); } -void Ifc4x3::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3::IfcPreDefinedColour Ifc4x3::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_types[784]); } -void Ifc4x3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3::IfcPreDefinedCurveFont Ifc4x3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12895,31 +12895,31 @@ void Ifc4x3::IfcPreDefinedItem::setName(const std::string& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[785]); } -void Ifc4x3::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3::IfcPreDefinedItem Ifc4x3::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[786]); } -void Ifc4x3::IfcPreDefinedProperties::initialize() { } +Ifc4x3::IfcPreDefinedProperties Ifc4x3::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[787]); } -void Ifc4x3::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcPreDefinedPropertySet Ifc4x3::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_types[788]); } -void Ifc4x3::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3::IfcPreDefinedTextFont Ifc4x3::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[791]); } -void Ifc4x3::IfcPresentationItem::initialize() { } +Ifc4x3::IfcPresentationItem Ifc4x3::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12933,7 +12933,7 @@ void Ifc4x3::IfcPresentationLayerAssignment::setIdentifier(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[792]); } -void Ifc4x3::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3::IfcPresentationLayerAssignment Ifc4x3::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12947,7 +12947,7 @@ void Ifc4x3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector< :: const ifcopenshell::entity& Ifc4x3::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[793]); } -void Ifc4x3::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3::IfcPresentationLayerWithStyle Ifc4x3::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12955,7 +12955,7 @@ void Ifc4x3::IfcPresentationStyle::setName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[794]); } -void Ifc4x3::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcPresentationStyle Ifc4x3::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > Ifc4x3::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12963,7 +12963,7 @@ void Ifc4x3::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3::IfcP const ifcopenshell::entity& Ifc4x3::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_types[796]); } -void Ifc4x3::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3::IfcProcedure Ifc4x3::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3::IfcProcedureTypeEnum::Value Ifc4x3::IfcProcedureType::PredefinedType() const { return ::Ifc4x3::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12971,7 +12971,7 @@ void Ifc4x3::IfcProcedureType::setPredefinedType(const ::Ifc4x3::IfcProcedureTyp const ifcopenshell::entity& Ifc4x3::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[797]); } -void Ifc4x3::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcProcedureType Ifc4x3::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12984,7 +12984,7 @@ std::vector<::Ifc4x3::IfcRelSequence> Ifc4x3::IfcProcess::IsSuccessorFrom() cons std::vector<::Ifc4x3::IfcRelAssignsToProcess> Ifc4x3::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[906], 6)); } const ifcopenshell::entity& Ifc4x3::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_types[799]); } -void Ifc4x3::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3::IfcProcess Ifc4x3::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3::IfcObjectPlacement Ifc4x3::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcObjectPlacement>(); } @@ -12997,7 +12997,7 @@ std::vector<::Ifc4x3::IfcRelPositions> Ifc4x3::IfcProduct::PositionedRelativeTo( std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[943], 4)); } const ifcopenshell::entity& Ifc4x3::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_types[801]); } -void Ifc4x3::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcProduct Ifc4x3::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -13005,7 +13005,7 @@ std::vector<::Ifc4x3::IfcProduct> Ifc4x3::IfcProductDefinitionShape::ShapeOfProd std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1006], 4)); } const ifcopenshell::entity& Ifc4x3::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_types[802]); } -void Ifc4x3::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3::IfcProductDefinitionShape Ifc4x3::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13017,7 +13017,7 @@ void Ifc4x3::IfcProductRepresentation::setRepresentations(const std::vector< ::I const ifcopenshell::entity& Ifc4x3::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[803]); } -void Ifc4x3::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3::IfcProductRepresentation Ifc4x3::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3::IfcProfileTypeEnum::Value Ifc4x3::IfcProfileDef::ProfileType() const { return ::Ifc4x3::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -13029,7 +13029,7 @@ std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcProfileDef::H std::vector<::Ifc4x3::IfcProfileProperties> Ifc4x3::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[807], 3)); } const ifcopenshell::entity& Ifc4x3::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[806]); } -void Ifc4x3::IfcProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3::IfcProfileDef Ifc4x3::IfcProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3::IfcProfileDef Ifc4x3::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcProfileDef>(); } @@ -13037,19 +13037,19 @@ void Ifc4x3::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3::IfcProfi const ifcopenshell::entity& Ifc4x3::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[807]); } -void Ifc4x3::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3::IfcProfileProperties Ifc4x3::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_types[809]); } -void Ifc4x3::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3::IfcProject Ifc4x3::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_types[814]); } -void Ifc4x3::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3::IfcProjectLibrary Ifc4x3::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > Ifc4x3::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -13061,7 +13061,7 @@ void Ifc4x3::IfcProjectOrder::setLongDescription(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_types[815]); } -void Ifc4x3::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3::IfcProjectOrder Ifc4x3::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13073,7 +13073,7 @@ void Ifc4x3::IfcProjectedCRS::setMapUnit(const ::Ifc4x3::IfcNamedUnit& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_types[810]); } -void Ifc4x3::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3::IfcProjectedCRS Ifc4x3::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > Ifc4x3::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13081,7 +13081,7 @@ void Ifc4x3::IfcProjectionElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[812]); } -void Ifc4x3::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcProjectionElement Ifc4x3::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13097,14 +13097,14 @@ std::vector<::Ifc4x3::IfcResourceConstraintRelationship> Ifc4x3::IfcProperty::Ha std::vector<::Ifc4x3::IfcResourceApprovalRelationship> Ifc4x3::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[956], 2)); } const ifcopenshell::entity& Ifc4x3::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_types[817]); } -void Ifc4x3::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3::IfcProperty Ifc4x3::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[818]); } -void Ifc4x3::IfcPropertyAbstraction::initialize() { } +Ifc4x3::IfcPropertyAbstraction Ifc4x3::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3::IfcValue Ifc4x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcValue>(); } @@ -13118,7 +13118,7 @@ void Ifc4x3::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3::IfcValue& const ifcopenshell::entity& Ifc4x3::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[819]); } -void Ifc4x3::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_UpperBoundValue, ::Ifc4x3::IfcValue v4_LowerBoundValue, ::Ifc4x3::IfcUnit v5_Unit, ::Ifc4x3::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3::IfcPropertyBoundedValue Ifc4x3::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_UpperBoundValue, ::Ifc4x3::IfcValue v4_LowerBoundValue, ::Ifc4x3::IfcUnit v5_Unit, ::Ifc4x3::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13126,7 +13126,7 @@ std::vector<::Ifc4x3::IfcRelDeclares> Ifc4x3::IfcPropertyDefinition::HasContext( std::vector<::Ifc4x3::IfcRelAssociates> Ifc4x3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[909], 4)); } const ifcopenshell::entity& Ifc4x3::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[820]); } -void Ifc4x3::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcPropertyDefinition Ifc4x3::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3::IfcProperty Ifc4x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcProperty>(); } @@ -13138,7 +13138,7 @@ void Ifc4x3::IfcPropertyDependencyRelationship::setExpression(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[821]); } -void Ifc4x3::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty v3_DependingProperty, ::Ifc4x3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3::IfcPropertyDependencyRelationship Ifc4x3::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty v3_DependingProperty, ::Ifc4x3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3::IfcValue > > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcValue>(es); } @@ -13148,7 +13148,7 @@ void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[822]); } -void Ifc4x3::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3::IfcPropertyEnumeratedValue Ifc4x3::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13160,7 +13160,7 @@ void Ifc4x3::IfcPropertyEnumeration::setUnit(const ::Ifc4x3::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc4x3::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_types[823]); } -void Ifc4x3::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3::IfcValue > v2_EnumerationValues, ::Ifc4x3::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3::IfcPropertyEnumeration Ifc4x3::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3::IfcValue > v2_EnumerationValues, ::Ifc4x3::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3::IfcValue > > Ifc4x3::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcValue>(es); } @@ -13170,7 +13170,7 @@ void Ifc4x3::IfcPropertyListValue::setUnit(const ::Ifc4x3::IfcUnit& v) { set_att const ifcopenshell::entity& Ifc4x3::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[824]); } -void Ifc4x3::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_ListValues, ::Ifc4x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3::IfcPropertyListValue Ifc4x3::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_ListValues, ::Ifc4x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13180,7 +13180,7 @@ void Ifc4x3::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[825]); } -void Ifc4x3::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3::IfcPropertyReferenceValue Ifc4x3::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3::IfcProperty > Ifc4x3::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcProperty>(es); } @@ -13188,7 +13188,7 @@ void Ifc4x3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3::IfcPr const ifcopenshell::entity& Ifc4x3::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[826]); } -void Ifc4x3::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3::IfcPropertySet Ifc4x3::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13197,7 +13197,7 @@ std::vector<::Ifc4x3::IfcRelDefinesByTemplate> Ifc4x3::IfcPropertySetDefinition: std::vector<::Ifc4x3::IfcRelDefinesByProperties> Ifc4x3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[934], 5)); } const ifcopenshell::entity& Ifc4x3::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[827]); } -void Ifc4x3::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcPropertySetDefinition Ifc4x3::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13210,7 +13210,7 @@ void Ifc4x3::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vector< std::vector<::Ifc4x3::IfcRelDefinesByTemplate> Ifc4x3::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[935], 5)); } const ifcopenshell::entity& Ifc4x3::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[830]); } -void Ifc4x3::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3::IfcPropertySetTemplate Ifc4x3::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3::IfcValue Ifc4x3::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcValue>(); } @@ -13220,7 +13220,7 @@ void Ifc4x3::IfcPropertySingleValue::setUnit(const ::Ifc4x3::IfcUnit& v) { set_a const ifcopenshell::entity& Ifc4x3::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[832]); } -void Ifc4x3::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_NominalValue, ::Ifc4x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3::IfcPropertySingleValue Ifc4x3::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_NominalValue, ::Ifc4x3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3::IfcValue > > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcValue>(es); } @@ -13238,7 +13238,7 @@ void Ifc4x3::IfcPropertyTableValue::setCurveInterpolation(const std::optional< : const ifcopenshell::entity& Ifc4x3::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[833]); } -void Ifc4x3::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit v6_DefiningUnit, ::Ifc4x3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3::IfcPropertyTableValue Ifc4x3::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit v6_DefiningUnit, ::Ifc4x3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13246,13 +13246,13 @@ std::vector<::Ifc4x3::IfcComplexPropertyTemplate> Ifc4x3::IfcPropertyTemplate::P std::vector<::Ifc4x3::IfcPropertySetTemplate> Ifc4x3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[830], 6)); } const ifcopenshell::entity& Ifc4x3::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[834]); } -void Ifc4x3::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcPropertyTemplate Ifc4x3::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[835]); } -void Ifc4x3::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcPropertyTemplateDefinition Ifc4x3::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13260,7 +13260,7 @@ void Ifc4x3::IfcProtectiveDevice::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[836]); } -void Ifc4x3::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcProtectiveDevice Ifc4x3::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13268,7 +13268,7 @@ void Ifc4x3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x3::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[837]); } -void Ifc4x3::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcProtectiveDeviceTrippingUnit Ifc4x3::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13276,7 +13276,7 @@ void Ifc4x3::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[838]); } -void Ifc4x3::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcProtectiveDeviceTrippingUnitType Ifc4x3::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13284,7 +13284,7 @@ void Ifc4x3::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3::IfcProte const ifcopenshell::entity& Ifc4x3::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[840]); } -void Ifc4x3::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcProtectiveDeviceType Ifc4x3::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > Ifc4x3::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13292,7 +13292,7 @@ void Ifc4x3::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3::IfcPumpTy const ifcopenshell::entity& Ifc4x3::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_types[842]); } -void Ifc4x3::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcPump Ifc4x3::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3::IfcPumpTypeEnum::Value Ifc4x3::IfcPumpType::PredefinedType() const { return ::Ifc4x3::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13300,7 +13300,7 @@ void Ifc4x3::IfcPumpType::setPredefinedType(const ::Ifc4x3::IfcPumpTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[843]); } -void Ifc4x3::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcPumpType Ifc4x3::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13310,7 +13310,7 @@ void Ifc4x3::IfcQuantityArea::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_types[845]); } -void Ifc4x3::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityArea Ifc4x3::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount int Ifc4x3::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } @@ -13320,7 +13320,7 @@ void Ifc4x3::IfcQuantityCount::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_types[846]); } -void Ifc4x3::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityCount Ifc4x3::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13330,7 +13330,7 @@ void Ifc4x3::IfcQuantityLength::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_types[847]); } -void Ifc4x3::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityLength Ifc4x3::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityNumber double Ifc4x3::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } @@ -13340,13 +13340,13 @@ void Ifc4x3::IfcQuantityNumber::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcQuantityNumber::Class() { return *((ifcopenshell::entity*)IFC4X3_types[848]); } -void Ifc4x3::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityNumber Ifc4x3::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[849]); } -void Ifc4x3::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcQuantitySet Ifc4x3::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13356,7 +13356,7 @@ void Ifc4x3::IfcQuantityTime::setFormula(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[850]); } -void Ifc4x3::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityTime Ifc4x3::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13366,7 +13366,7 @@ void Ifc4x3::IfcQuantityVolume::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_types[851]); } -void Ifc4x3::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityVolume Ifc4x3::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13376,7 +13376,7 @@ void Ifc4x3::IfcQuantityWeight::setFormula(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_types[852]); } -void Ifc4x3::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3::IfcQuantityWeight Ifc4x3::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3::IfcRailTypeEnum::Value > Ifc4x3::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13384,7 +13384,7 @@ void Ifc4x3::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3::IfcRailTy const ifcopenshell::entity& Ifc4x3::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_types[854]); } -void Ifc4x3::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcRail Ifc4x3::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3::IfcRailTypeEnum::Value Ifc4x3::IfcRailType::PredefinedType() const { return ::Ifc4x3::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13392,7 +13392,7 @@ void Ifc4x3::IfcRailType::setPredefinedType(const ::Ifc4x3::IfcRailTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[858]); } -void Ifc4x3::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcRailType Ifc4x3::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > Ifc4x3::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13400,7 +13400,7 @@ void Ifc4x3::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3::IfcRai const ifcopenshell::entity& Ifc4x3::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_types[855]); } -void Ifc4x3::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcRailing Ifc4x3::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3::IfcRailingTypeEnum::Value Ifc4x3::IfcRailingType::PredefinedType() const { return ::Ifc4x3::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13408,7 +13408,7 @@ void Ifc4x3::IfcRailingType::setPredefinedType(const ::Ifc4x3::IfcRailingTypeEnu const ifcopenshell::entity& Ifc4x3::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[856]); } -void Ifc4x3::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcRailingType Ifc4x3::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > Ifc4x3::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } @@ -13416,7 +13416,7 @@ void Ifc4x3::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3::IfcRai const ifcopenshell::entity& Ifc4x3::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_types[860]); } -void Ifc4x3::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcRailway Ifc4x3::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRailwayPart std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > Ifc4x3::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } @@ -13424,7 +13424,7 @@ void Ifc4x3::IfcRailwayPart::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcRailwayPart::Class() { return *((ifcopenshell::entity*)IFC4X3_types[861]); } -void Ifc4x3::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcRailwayPart Ifc4x3::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3::IfcRampTypeEnum::Value > Ifc4x3::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13432,7 +13432,7 @@ void Ifc4x3::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3::IfcRampTy const ifcopenshell::entity& Ifc4x3::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_types[864]); } -void Ifc4x3::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcRamp Ifc4x3::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > Ifc4x3::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13440,7 +13440,7 @@ void Ifc4x3::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_types[865]); } -void Ifc4x3::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcRampFlight Ifc4x3::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3::IfcRampFlightTypeEnum::Value Ifc4x3::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13448,7 +13448,7 @@ void Ifc4x3::IfcRampFlightType::setPredefinedType(const ::Ifc4x3::IfcRampFlightT const ifcopenshell::entity& Ifc4x3::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[866]); } -void Ifc4x3::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcRampFlightType Ifc4x3::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3::IfcRampTypeEnum::Value Ifc4x3::IfcRampType::PredefinedType() const { return ::Ifc4x3::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13456,7 +13456,7 @@ void Ifc4x3::IfcRampType::setPredefinedType(const ::Ifc4x3::IfcRampTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[868]); } -void Ifc4x3::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcRampType Ifc4x3::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13464,7 +13464,7 @@ void Ifc4x3::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vector< const ifcopenshell::entity& Ifc4x3::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_types[871]); } -void Ifc4x3::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3::IfcRationalBSplineCurveWithKnots Ifc4x3::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13472,7 +13472,7 @@ void Ifc4x3::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::vecto const ifcopenshell::entity& Ifc4x3::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_types[872]); } -void Ifc4x3::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3::IfcRationalBSplineSurfaceWithKnots Ifc4x3::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13484,7 +13484,7 @@ void Ifc4x3::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::optio const ifcopenshell::entity& Ifc4x3::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[874]); } -void Ifc4x3::IfcRectangleHollowProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3::IfcRectangleHollowProfileDef Ifc4x3::IfcRectangleHollowProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13494,7 +13494,7 @@ void Ifc4x3::IfcRectangleProfileDef::setYDim(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[875]); } -void Ifc4x3::IfcRectangleProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3::IfcRectangleProfileDef Ifc4x3::IfcRectangleProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13506,7 +13506,7 @@ void Ifc4x3::IfcRectangularPyramid::setHeight(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x3::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[876]); } -void Ifc4x3::IfcRectangularPyramid::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3::IfcRectangularPyramid Ifc4x3::IfcRectangularPyramid::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3::IfcSurface Ifc4x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSurface>(); } @@ -13526,7 +13526,7 @@ void Ifc4x3::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[877]); } -void Ifc4x3::IfcRectangularTrimmedSurface::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3::IfcRectangularTrimmedSurface Ifc4x3::IfcRectangularTrimmedSurface::initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3::IfcRecurrenceTypeEnum::Value Ifc4x3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13548,7 +13548,7 @@ void Ifc4x3::IfcRecurrencePattern::setTimePeriods(const std::optional< std::vect const ifcopenshell::entity& Ifc4x3::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_types[878]); } -void Ifc4x3::IfcRecurrencePattern::initialize(::Ifc4x3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3::IfcRecurrencePattern Ifc4x3::IfcRecurrencePattern::initialize(::Ifc4x3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13564,7 +13564,7 @@ void Ifc4x3::IfcReference::setInnerReference(const ::Ifc4x3::IfcReference& v) { const ifcopenshell::entity& Ifc4x3::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_types[880]); } -void Ifc4x3::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3::IfcReference Ifc4x3::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > Ifc4x3::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13572,7 +13572,7 @@ void Ifc4x3::IfcReferent::setPredefinedType(const std::optional< ::Ifc4x3::IfcRe const ifcopenshell::entity& Ifc4x3::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_types[881]); } -void Ifc4x3::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3::IfcReferent Ifc4x3::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13582,7 +13582,7 @@ void Ifc4x3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3::IfcTim const ifcopenshell::entity& Ifc4x3::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_types[884]); } -void Ifc4x3::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3::IfcRegularTimeSeries Ifc4x3::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13590,7 +13590,7 @@ void Ifc4x3::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_types[885]); } -void Ifc4x3::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcReinforcedSoil Ifc4x3::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13608,7 +13608,7 @@ void Ifc4x3::IfcReinforcementBarProperties::setBarCount(const std::optional< int const ifcopenshell::entity& Ifc4x3::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[887]); } -void Ifc4x3::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3::IfcReinforcementBarProperties Ifc4x3::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13618,7 +13618,7 @@ void Ifc4x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefini const ifcopenshell::entity& Ifc4x3::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[888]); } -void Ifc4x3::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3::IfcReinforcementDefinitionProperties Ifc4x3::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13634,7 +13634,7 @@ void Ifc4x3::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_types[889]); } -void Ifc4x3::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3::IfcReinforcingBar Ifc4x3::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3::IfcReinforcingBarTypeEnum::Value Ifc4x3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13654,7 +13654,7 @@ void Ifc4x3::IfcReinforcingBarType::setBendingParameters(const std::optional< st const ifcopenshell::entity& Ifc4x3::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[892]); } -void Ifc4x3::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3::IfcReinforcingBarType Ifc4x3::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13662,13 +13662,13 @@ void Ifc4x3::IfcReinforcingElement::setSteelGrade(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[894]); } -void Ifc4x3::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3::IfcReinforcingElement Ifc4x3::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[895]); } -void Ifc4x3::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcReinforcingElementType Ifc4x3::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13692,7 +13692,7 @@ void Ifc4x3::IfcReinforcingMesh::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_types[896]); } -void Ifc4x3::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3::IfcReinforcingMesh Ifc4x3::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value Ifc4x3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13720,7 +13720,7 @@ void Ifc4x3::IfcReinforcingMeshType::setBendingParameters(const std::optional< s const ifcopenshell::entity& Ifc4x3::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[897]); } -void Ifc4x3::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3::IfcReinforcingMeshType Ifc4x3::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAdheresToElement ::Ifc4x3::IfcElement Ifc4x3::IfcRelAdheresToElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcElement>(); } @@ -13730,7 +13730,7 @@ void Ifc4x3::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::vector const ifcopenshell::entity& Ifc4x3::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[899]); } -void Ifc4x3::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures)); } +Ifc4x3::IfcRelAdheresToElement Ifc4x3::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures));; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3::IfcObjectDefinition Ifc4x3::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcObjectDefinition>(); } @@ -13740,7 +13740,7 @@ void Ifc4x3::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_types[900]); } -void Ifc4x3::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3::IfcRelAggregates Ifc4x3::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3::IfcObjectDefinition > Ifc4x3::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcObjectDefinition>(es); } @@ -13750,7 +13750,7 @@ void Ifc4x3::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_types[901]); } -void Ifc4x3::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x3::IfcRelAssigns Ifc4x3::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3::IfcActor Ifc4x3::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcActor>(); } @@ -13760,7 +13760,7 @@ void Ifc4x3::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3::IfcActorRole& v const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[902]); } -void Ifc4x3::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcActor v7_RelatingActor, ::Ifc4x3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3::IfcRelAssignsToActor Ifc4x3::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcActor v7_RelatingActor, ::Ifc4x3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3::IfcControl Ifc4x3::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcControl>(); } @@ -13768,7 +13768,7 @@ void Ifc4x3::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3::IfcContr const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_types[903]); } -void Ifc4x3::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3::IfcRelAssignsToControl Ifc4x3::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3::IfcGroup Ifc4x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcGroup>(); } @@ -13776,7 +13776,7 @@ void Ifc4x3::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3::IfcGroup& v) const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_types[904]); } -void Ifc4x3::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3::IfcRelAssignsToGroup Ifc4x3::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13784,7 +13784,7 @@ void Ifc4x3::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[905]); } -void Ifc4x3::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3::IfcRelAssignsToGroupByFactor Ifc4x3::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3::IfcProcessSelect Ifc4x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcProcessSelect>(); } @@ -13794,7 +13794,7 @@ void Ifc4x3::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3::IfcMea const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_types[906]); } -void Ifc4x3::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3::IfcRelAssignsToProcess Ifc4x3::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3::IfcProductSelect Ifc4x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcProductSelect>(); } @@ -13802,7 +13802,7 @@ void Ifc4x3::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3::IfcProdu const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_types[907]); } -void Ifc4x3::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3::IfcRelAssignsToProduct Ifc4x3::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3::IfcResourceSelect Ifc4x3::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3::IfcResourceSelect>(); } @@ -13810,7 +13810,7 @@ void Ifc4x3::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3::IfcRes const ifcopenshell::entity& Ifc4x3::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[908]); } -void Ifc4x3::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3::IfcRelAssignsToResource Ifc4x3::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3::IfcDefinitionSelect > Ifc4x3::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcDefinitionSelect>(es); } @@ -13818,7 +13818,7 @@ void Ifc4x3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_types[909]); } -void Ifc4x3::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3::IfcRelAssociates Ifc4x3::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3::IfcApproval Ifc4x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcApproval>(); } @@ -13826,7 +13826,7 @@ void Ifc4x3::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3::IfcAp const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_types[910]); } -void Ifc4x3::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3::IfcRelAssociatesApproval Ifc4x3::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3::IfcClassificationSelect Ifc4x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcClassificationSelect>(); } @@ -13834,7 +13834,7 @@ void Ifc4x3::IfcRelAssociatesClassification::setRelatingClassification(const ::I const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_types[911]); } -void Ifc4x3::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3::IfcRelAssociatesClassification Ifc4x3::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13844,7 +13844,7 @@ void Ifc4x3::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_types[912]); } -void Ifc4x3::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3::IfcRelAssociatesConstraint Ifc4x3::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3::IfcDocumentSelect Ifc4x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcDocumentSelect>(); } @@ -13852,7 +13852,7 @@ void Ifc4x3::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3::IfcDo const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_types[913]); } -void Ifc4x3::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3::IfcRelAssociatesDocument Ifc4x3::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3::IfcLibrarySelect Ifc4x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcLibrarySelect>(); } @@ -13860,7 +13860,7 @@ void Ifc4x3::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3::IfcLibr const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_types[914]); } -void Ifc4x3::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3::IfcRelAssociatesLibrary Ifc4x3::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3::IfcMaterialSelect Ifc4x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcMaterialSelect>(); } @@ -13868,7 +13868,7 @@ void Ifc4x3::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3::IfcMa const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_types[915]); } -void Ifc4x3::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3::IfcRelAssociatesMaterial Ifc4x3::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3::IfcProfileDef Ifc4x3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcProfileDef>(); } @@ -13876,13 +13876,13 @@ void Ifc4x3::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[916]); } -void Ifc4x3::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3::IfcRelAssociatesProfileDef Ifc4x3::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_types[918]); } -void Ifc4x3::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcRelConnects Ifc4x3::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3::IfcConnectionGeometry Ifc4x3::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcConnectionGeometry>(); } @@ -13894,7 +13894,7 @@ void Ifc4x3::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3::IfcElemen const ifcopenshell::entity& Ifc4x3::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_types[919]); } -void Ifc4x3::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3::IfcRelConnectsElements Ifc4x3::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13908,7 +13908,7 @@ void Ifc4x3::IfcRelConnectsPathElements::setRelatingConnectionType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_types[920]); } -void Ifc4x3::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3::IfcRelConnectsPathElements Ifc4x3::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3::IfcPort Ifc4x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcPort>(); } @@ -13918,7 +13918,7 @@ void Ifc4x3::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3::IfcD const ifcopenshell::entity& Ifc4x3::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[922]); } -void Ifc4x3::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3::IfcRelConnectsPortToElement Ifc4x3::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3::IfcPort Ifc4x3::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcPort>(); } @@ -13930,7 +13930,7 @@ void Ifc4x3::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3::IfcElement const ifcopenshell::entity& Ifc4x3::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_types[921]); } -void Ifc4x3::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcPort v6_RelatedPort, ::Ifc4x3::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3::IfcRelConnectsPorts Ifc4x3::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcPort v6_RelatedPort, ::Ifc4x3::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3::IfcStructuralActivityAssignmentSelect Ifc4x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcStructuralActivityAssignmentSelect>(); } @@ -13940,7 +13940,7 @@ void Ifc4x3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(cons const ifcopenshell::entity& Ifc4x3::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[923]); } -void Ifc4x3::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3::IfcRelConnectsStructuralActivity Ifc4x3::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3::IfcStructuralMember Ifc4x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcStructuralMember>(); } @@ -13958,7 +13958,7 @@ void Ifc4x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(const const ifcopenshell::entity& Ifc4x3::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_types[924]); } -void Ifc4x3::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3::IfcRelConnectsStructuralMember Ifc4x3::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3::IfcConnectionGeometry Ifc4x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3::IfcConnectionGeometry>(); } @@ -13966,7 +13966,7 @@ void Ifc4x3::IfcRelConnectsWithEccentricity::setConnectionConstraint(const ::Ifc const ifcopenshell::entity& Ifc4x3::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[925]); } -void Ifc4x3::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3::IfcRelConnectsWithEccentricity Ifc4x3::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3::IfcElement > Ifc4x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3::IfcElement>(es); } @@ -13976,7 +13976,7 @@ void Ifc4x3::IfcRelConnectsWithRealizingElements::setConnectionType(const std::o const ifcopenshell::entity& Ifc4x3::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_types[926]); } -void Ifc4x3::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3::IfcRelConnectsWithRealizingElements Ifc4x3::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3::IfcProduct > Ifc4x3::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcProduct>(es); } @@ -13986,7 +13986,7 @@ void Ifc4x3::IfcRelContainedInSpatialStructure::setRelatingStructure(const ::Ifc const ifcopenshell::entity& Ifc4x3::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_types[927]); } -void Ifc4x3::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProduct > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3::IfcRelContainedInSpatialStructure Ifc4x3::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProduct > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3::IfcElement Ifc4x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcElement>(); } @@ -13996,7 +13996,7 @@ void Ifc4x3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector< :: const ifcopenshell::entity& Ifc4x3::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_types[928]); } -void Ifc4x3::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3::IfcRelCoversBldgElements Ifc4x3::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3::IfcSpace Ifc4x3::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcSpace>(); } @@ -14006,7 +14006,7 @@ void Ifc4x3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_types[929]); } -void Ifc4x3::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3::IfcRelCoversSpaces Ifc4x3::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3::IfcContext Ifc4x3::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcContext>(); } @@ -14016,19 +14016,19 @@ void Ifc4x3::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_types[930]); } -void Ifc4x3::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3::IfcRelDeclares Ifc4x3::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_types[931]); } -void Ifc4x3::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcRelDecomposes Ifc4x3::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_types[932]); } -void Ifc4x3::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcRelDefines Ifc4x3::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3::IfcObject > Ifc4x3::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcObject>(es); } @@ -14038,7 +14038,7 @@ void Ifc4x3::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3::IfcObject& const ifcopenshell::entity& Ifc4x3::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_types[933]); } -void Ifc4x3::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3::IfcRelDefinesByObject Ifc4x3::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3::IfcObjectDefinition > Ifc4x3::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcObjectDefinition>(es); } @@ -14048,7 +14048,7 @@ void Ifc4x3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const ::If const ifcopenshell::entity& Ifc4x3::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[934]); } -void Ifc4x3::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3::IfcRelDefinesByProperties Ifc4x3::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3::IfcPropertySetDefinition > Ifc4x3::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcPropertySetDefinition>(es); } @@ -14058,7 +14058,7 @@ void Ifc4x3::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3::IfcPro const ifcopenshell::entity& Ifc4x3::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[935]); } -void Ifc4x3::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3::IfcRelDefinesByTemplate Ifc4x3::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3::IfcObject > Ifc4x3::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcObject>(es); } @@ -14068,7 +14068,7 @@ void Ifc4x3::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3::IfcTypeObject& const ifcopenshell::entity& Ifc4x3::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[936]); } -void Ifc4x3::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3::IfcRelDefinesByType Ifc4x3::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3::IfcOpeningElement Ifc4x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcOpeningElement>(); } @@ -14078,7 +14078,7 @@ void Ifc4x3::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3::IfcEl const ifcopenshell::entity& Ifc4x3::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[937]); } -void Ifc4x3::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3::IfcRelFillsElement Ifc4x3::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3::IfcDistributionControlElement > Ifc4x3::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcDistributionControlElement>(es); } @@ -14088,7 +14088,7 @@ void Ifc4x3::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_types[938]); } -void Ifc4x3::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3::IfcRelFlowControlElements Ifc4x3::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3::IfcInterferenceSelect Ifc4x3::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcInterferenceSelect>(); } @@ -14106,7 +14106,7 @@ void Ifc4x3::IfcRelInterferesElements::setImpliedOrder(const boost::logic::tribo const ifcopenshell::entity& Ifc4x3::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_types[939]); } -void Ifc4x3::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry));set_attribute_value(7, (v8_InterferenceSpace)); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder)); } +Ifc4x3::IfcRelInterferesElements Ifc4x3::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry));set_attribute_value(7, (v8_InterferenceSpace)); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3::IfcObjectDefinition Ifc4x3::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcObjectDefinition>(); } @@ -14116,7 +14116,7 @@ void Ifc4x3::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3::IfcObje const ifcopenshell::entity& Ifc4x3::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_types[940]); } -void Ifc4x3::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3::IfcRelNests Ifc4x3::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3::IfcPositioningElement Ifc4x3::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcPositioningElement>(); } @@ -14126,7 +14126,7 @@ void Ifc4x3::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_types[941]); } -void Ifc4x3::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3::IfcRelPositions Ifc4x3::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3::IfcElement Ifc4x3::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcElement>(); } @@ -14136,7 +14136,7 @@ void Ifc4x3::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[942]); } -void Ifc4x3::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3::IfcRelProjectsElement Ifc4x3::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3::IfcSpatialReferenceSelect > Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3::IfcSpatialReferenceSelect>(es); } @@ -14146,7 +14146,7 @@ void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(const ::If const ifcopenshell::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_types[943]); } -void Ifc4x3::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3::IfcRelReferencedInSpatialStructure Ifc4x3::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3::IfcProcess Ifc4x3::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcProcess>(); } @@ -14162,7 +14162,7 @@ void Ifc4x3::IfcRelSequence::setUserDefinedSequenceType(const std::optional< std const ifcopenshell::entity& Ifc4x3::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_types[944]); } -void Ifc4x3::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcProcess v5_RelatingProcess, ::Ifc4x3::IfcProcess v6_RelatedProcess, ::Ifc4x3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3::IfcRelSequence Ifc4x3::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcProcess v5_RelatingProcess, ::Ifc4x3::IfcProcess v6_RelatedProcess, ::Ifc4x3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3::IfcSystem Ifc4x3::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcSystem>(); } @@ -14172,7 +14172,7 @@ void Ifc4x3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< ::I const ifcopenshell::entity& Ifc4x3::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_types[945]); } -void Ifc4x3::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3::IfcRelServicesBuildings Ifc4x3::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3::IfcSpaceBoundarySelect Ifc4x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcSpaceBoundarySelect>(); } @@ -14188,7 +14188,7 @@ void Ifc4x3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_types[946]); } -void Ifc4x3::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3::IfcRelSpaceBoundary Ifc4x3::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3::IfcRelSpaceBoundary1stLevel Ifc4x3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3::IfcRelSpaceBoundary1stLevel>(); } @@ -14197,7 +14197,7 @@ void Ifc4x3::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3::IfcR std::vector<::Ifc4x3::IfcRelSpaceBoundary1stLevel> Ifc4x3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[947], 9)); } const ifcopenshell::entity& Ifc4x3::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[947]); } -void Ifc4x3::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3::IfcRelSpaceBoundary1stLevel Ifc4x3::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3::IfcRelSpaceBoundary2ndLevel Ifc4x3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3::IfcRelSpaceBoundary2ndLevel>(); } @@ -14206,7 +14206,7 @@ void Ifc4x3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::Ifc4x std::vector<::Ifc4x3::IfcRelSpaceBoundary2ndLevel> Ifc4x3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[948], 10)); } const ifcopenshell::entity& Ifc4x3::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[948]); } -void Ifc4x3::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3::IfcRelSpaceBoundary2ndLevel Ifc4x3::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3::IfcElement Ifc4x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcElement>(); } @@ -14216,13 +14216,13 @@ void Ifc4x3::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3::IfcFea const ifcopenshell::entity& Ifc4x3::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[949]); } -void Ifc4x3::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3::IfcRelVoidsElement Ifc4x3::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[917]); } -void Ifc4x3::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcRelationship Ifc4x3::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14230,7 +14230,7 @@ void Ifc4x3::IfcReparametrisedCompositeCurveSegment::setParamLength(const double const ifcopenshell::entity& Ifc4x3::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[950]); } -void Ifc4x3::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3::IfcReparametrisedCompositeCurveSegment Ifc4x3::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3::IfcRepresentationContext Ifc4x3::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcRepresentationContext>(); } @@ -14247,7 +14247,7 @@ std::vector<::Ifc4x3::IfcPresentationLayerAssignment> Ifc4x3::IfcRepresentation: std::vector<::Ifc4x3::IfcProductRepresentation> Ifc4x3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[803], 2)); } const ifcopenshell::entity& Ifc4x3::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[951]); } -void Ifc4x3::IfcRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3::IfcRepresentation Ifc4x3::IfcRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14258,7 +14258,7 @@ void Ifc4x3::IfcRepresentationContext::setContextType(const std::optional< std:: std::vector<::Ifc4x3::IfcRepresentation> Ifc4x3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[951], 0)); } const ifcopenshell::entity& Ifc4x3::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_types[952]); } -void Ifc4x3::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3::IfcRepresentationContext Ifc4x3::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14266,7 +14266,7 @@ std::vector<::Ifc4x3::IfcPresentationLayerAssignment> Ifc4x3::IfcRepresentationI std::vector<::Ifc4x3::IfcStyledItem> Ifc4x3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1116], 0)); } const ifcopenshell::entity& Ifc4x3::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[953]); } -void Ifc4x3::IfcRepresentationItem::initialize() { } +Ifc4x3::IfcRepresentationItem Ifc4x3::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3::IfcAxis2Placement Ifc4x3::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcAxis2Placement>(); } @@ -14278,7 +14278,7 @@ std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcRepresentationMap::HasShapeAspe std::vector<::Ifc4x3::IfcMappedItem> Ifc4x3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[628], 0)); } const ifcopenshell::entity& Ifc4x3::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_types[954]); } -void Ifc4x3::IfcRepresentationMap::initialize(::Ifc4x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3::IfcRepresentationMap Ifc4x3::IfcRepresentationMap::initialize(::Ifc4x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14289,7 +14289,7 @@ void Ifc4x3::IfcResource::setLongDescription(const std::optional< std::string >& std::vector<::Ifc4x3::IfcRelAssignsToResource> Ifc4x3::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[908], 6)); } const ifcopenshell::entity& Ifc4x3::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[955]); } -void Ifc4x3::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3::IfcResource Ifc4x3::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3::IfcResourceObjectSelect > Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcResourceObjectSelect>(es); } @@ -14299,7 +14299,7 @@ void Ifc4x3::IfcResourceApprovalRelationship::setRelatingApproval(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[956]); } -void Ifc4x3::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3::IfcResourceApprovalRelationship Ifc4x3::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3::IfcConstraint Ifc4x3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcConstraint>(); } @@ -14309,7 +14309,7 @@ void Ifc4x3::IfcResourceConstraintRelationship::setRelatedResourceObjects(const const ifcopenshell::entity& Ifc4x3::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[957]); } -void Ifc4x3::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3::IfcResourceConstraintRelationship Ifc4x3::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14319,7 +14319,7 @@ void Ifc4x3::IfcResourceLevelRelationship::setDescription(const std::optional< s const ifcopenshell::entity& Ifc4x3::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_types[958]); } -void Ifc4x3::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3::IfcResourceLevelRelationship Ifc4x3::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14355,7 +14355,7 @@ void Ifc4x3::IfcResourceTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[961]); } -void Ifc4x3::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3::IfcResourceTime Ifc4x3::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3::IfcAxis1Placement Ifc4x3::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcAxis1Placement>(); } @@ -14365,7 +14365,7 @@ void Ifc4x3::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[962]); } -void Ifc4x3::IfcRevolvedAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3::IfcRevolvedAreaSolid Ifc4x3::IfcRevolvedAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3::IfcProfileDef Ifc4x3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3::IfcProfileDef>(); } @@ -14373,7 +14373,7 @@ void Ifc4x3::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3::IfcPro const ifcopenshell::entity& Ifc4x3::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_types[963]); } -void Ifc4x3::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3::IfcRevolvedAreaSolidTapered Ifc4x3::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14383,7 +14383,7 @@ void Ifc4x3::IfcRightCircularCone::setBottomRadius(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_types[964]); } -void Ifc4x3::IfcRightCircularCone::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3::IfcRightCircularCone Ifc4x3::IfcRightCircularCone::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14393,7 +14393,7 @@ void Ifc4x3::IfcRightCircularCylinder::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_types[965]); } -void Ifc4x3::IfcRightCircularCylinder::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3::IfcRightCircularCylinder Ifc4x3::IfcRightCircularCylinder::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoad std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > Ifc4x3::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } @@ -14401,7 +14401,7 @@ void Ifc4x3::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3::IfcRoadTy const ifcopenshell::entity& Ifc4x3::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_types[966]); } -void Ifc4x3::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcRoad Ifc4x3::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRoadPart std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > Ifc4x3::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } @@ -14409,7 +14409,7 @@ void Ifc4x3::IfcRoadPart::setPredefinedType(const std::optional< ::Ifc4x3::IfcRo const ifcopenshell::entity& Ifc4x3::IfcRoadPart::Class() { return *((ifcopenshell::entity*)IFC4X3_types[967]); } -void Ifc4x3::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcRoadPart Ifc4x3::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > Ifc4x3::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14417,7 +14417,7 @@ void Ifc4x3::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3::IfcRoofTy const ifcopenshell::entity& Ifc4x3::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_types[971]); } -void Ifc4x3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcRoof Ifc4x3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3::IfcRoofTypeEnum::Value Ifc4x3::IfcRoofType::PredefinedType() const { return ::Ifc4x3::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14425,7 +14425,7 @@ void Ifc4x3::IfcRoofType::setPredefinedType(const ::Ifc4x3::IfcRoofTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[972]); } -void Ifc4x3::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcRoofType Ifc4x3::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14439,7 +14439,7 @@ void Ifc4x3::IfcRoot::setDescription(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x3::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_types[974]); } -void Ifc4x3::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3::IfcRoot Ifc4x3::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14447,7 +14447,7 @@ void Ifc4x3::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& v) { const ifcopenshell::entity& Ifc4x3::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[979]); } -void Ifc4x3::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3::IfcRoundedRectangleProfileDef Ifc4x3::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3::IfcSIPrefix::Value > Ifc4x3::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14457,7 +14457,7 @@ void Ifc4x3::IfcSIUnit::setName(const ::Ifc4x3::IfcSIUnitName::Value& v) { set_a const ifcopenshell::entity& Ifc4x3::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1025]); } -void Ifc4x3::IfcSIUnit::initialize(::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3::IfcSIUnit Ifc4x3::IfcSIUnit::initialize(::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14465,7 +14465,7 @@ void Ifc4x3::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[980]); } -void Ifc4x3::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSanitaryTerminal Ifc4x3::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14473,7 +14473,7 @@ void Ifc4x3::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3::IfcSanit const ifcopenshell::entity& Ifc4x3::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[981]); } -void Ifc4x3::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSanitaryTerminalType Ifc4x3::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14485,13 +14485,13 @@ void Ifc4x3::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional< st const ifcopenshell::entity& Ifc4x3::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[983]); } -void Ifc4x3::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3::IfcSchedulingTime Ifc4x3::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[984]); } -void Ifc4x3::IfcSeamCurve::initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3::IfcSeamCurve Ifc4x3::IfcSeamCurve::initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSecondOrderPolynomialSpiral double Ifc4x3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } @@ -14503,7 +14503,7 @@ void Ifc4x3::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::optional const ifcopenshell::entity& Ifc4x3::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[985]); } -void Ifc4x3::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3::IfcSecondOrderPolynomialSpiral Ifc4x3::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3::IfcSectionTypeEnum::Value Ifc4x3::IfcSectionProperties::SectionType() const { return ::Ifc4x3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14515,7 +14515,7 @@ void Ifc4x3::IfcSectionProperties::setEndProfile(const ::Ifc4x3::IfcProfileDef& const ifcopenshell::entity& Ifc4x3::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[992]); } -void Ifc4x3::IfcSectionProperties::initialize(::Ifc4x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3::IfcProfileDef v2_StartProfile, ::Ifc4x3::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3::IfcSectionProperties Ifc4x3::IfcSectionProperties::initialize(::Ifc4x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3::IfcProfileDef v2_StartProfile, ::Ifc4x3::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14533,7 +14533,7 @@ void Ifc4x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefi const ifcopenshell::entity& Ifc4x3::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[993]); } -void Ifc4x3::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3::IfcSectionReinforcementProperties Ifc4x3::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3::IfcCurve Ifc4x3::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -14543,7 +14543,7 @@ void Ifc4x3::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[987]); } -void Ifc4x3::IfcSectionedSolid::initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3::IfcSectionedSolid Ifc4x3::IfcSectionedSolid::initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > Ifc4x3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3::IfcAxis2PlacementLinear>(es); } @@ -14551,7 +14551,7 @@ void Ifc4x3::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std::ve const ifcopenshell::entity& Ifc4x3::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[988]); } -void Ifc4x3::IfcSectionedSolidHorizontal::initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3::IfcSectionedSolidHorizontal Ifc4x3::IfcSectionedSolidHorizontal::initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3::IfcCompositeCurve Ifc4x3::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCompositeCurve>(); } @@ -14563,7 +14563,7 @@ void Ifc4x3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< ::If const ifcopenshell::entity& Ifc4x3::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_types[989]); } -void Ifc4x3::IfcSectionedSpine::initialize(::Ifc4x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3::IfcSectionedSpine Ifc4x3::IfcSectionedSpine::initialize(::Ifc4x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3::IfcCurve Ifc4x3::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -14575,7 +14575,7 @@ void Ifc4x3::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[990]); } -void Ifc4x3::IfcSectionedSurface::initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections)); } +Ifc4x3::IfcSectionedSurface Ifc4x3::IfcSectionedSurface::initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));; return *this; } // Function implementations for IfcSegment ::Ifc4x3::IfcTransitionCode::Value Ifc4x3::IfcSegment::Transition() const { return ::Ifc4x3::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14584,7 +14584,7 @@ void Ifc4x3::IfcSegment::setTransition(const ::Ifc4x3::IfcTransitionCode::Value& std::vector<::Ifc4x3::IfcCompositeCurve> Ifc4x3::IfcSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[193], 0)); } const ifcopenshell::entity& Ifc4x3::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[995]); } -void Ifc4x3::IfcSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3::IfcSegment Ifc4x3::IfcSegment::initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3::IfcBoundedCurve Ifc4x3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcBoundedCurve>(); } @@ -14594,7 +14594,7 @@ void Ifc4x3::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3::IfcPlacemen const ifcopenshell::entity& Ifc4x3::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[996]); } -void Ifc4x3::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3::IfcSegmentedReferenceCurve Ifc4x3::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > Ifc4x3::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14602,7 +14602,7 @@ void Ifc4x3::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3::IfcSens const ifcopenshell::entity& Ifc4x3::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[998]); } -void Ifc4x3::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSensor Ifc4x3::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3::IfcSensorTypeEnum::Value Ifc4x3::IfcSensorType::PredefinedType() const { return ::Ifc4x3::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14610,7 +14610,7 @@ void Ifc4x3::IfcSensorType::setPredefinedType(const ::Ifc4x3::IfcSensorTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[999]); } -void Ifc4x3::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSensorType Ifc4x3::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSeventhOrderPolynomialSpiral double Ifc4x3::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } @@ -14632,7 +14632,7 @@ void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setConstantTerm(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcSeventhOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1002]); } -void Ifc4x3::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); } } +Ifc4x3::IfcSeventhOrderPolynomialSpiral Ifc4x3::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > Ifc4x3::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14640,7 +14640,7 @@ void Ifc4x3::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1003]); } -void Ifc4x3::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcShadingDevice Ifc4x3::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3::IfcShadingDeviceTypeEnum::Value Ifc4x3::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14648,7 +14648,7 @@ void Ifc4x3::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3::IfcShadingD const ifcopenshell::entity& Ifc4x3::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1004]); } -void Ifc4x3::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcShadingDeviceType Ifc4x3::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3::IfcShapeModel > Ifc4x3::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcShapeModel>(es); } @@ -14665,20 +14665,20 @@ void Ifc4x3::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3::Ifc std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1006]); } -void Ifc4x3::IfcShapeAspect::initialize(std::vector< ::Ifc4x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3::IfcShapeAspect Ifc4x3::IfcShapeAspect::initialize(std::vector< ::Ifc4x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3::IfcShapeAspect> Ifc4x3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1006], 0)); } const ifcopenshell::entity& Ifc4x3::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1007]); } -void Ifc4x3::IfcShapeModel::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3::IfcShapeModel Ifc4x3::IfcShapeModel::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1008]); } -void Ifc4x3::IfcShapeRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3::IfcShapeRepresentation Ifc4x3::IfcShapeRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3::IfcShell > Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcShell>(es); } @@ -14686,7 +14686,7 @@ void Ifc4x3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1011]); } -void Ifc4x3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3::IfcShellBasedSurfaceModel Ifc4x3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3::IfcSignTypeEnum::Value > Ifc4x3::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14694,7 +14694,7 @@ void Ifc4x3::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3::IfcSignTy const ifcopenshell::entity& Ifc4x3::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1012]); } -void Ifc4x3::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSign Ifc4x3::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3::IfcSignTypeEnum::Value Ifc4x3::IfcSignType::PredefinedType() const { return ::Ifc4x3::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14702,7 +14702,7 @@ void Ifc4x3::IfcSignType::setPredefinedType(const ::Ifc4x3::IfcSignTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1016]); } -void Ifc4x3::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSignType Ifc4x3::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > Ifc4x3::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14710,7 +14710,7 @@ void Ifc4x3::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3::IfcSign const ifcopenshell::entity& Ifc4x3::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1013]); } -void Ifc4x3::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSignal Ifc4x3::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3::IfcSignalTypeEnum::Value Ifc4x3::IfcSignalType::PredefinedType() const { return ::Ifc4x3::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14718,13 +14718,13 @@ void Ifc4x3::IfcSignalType::setPredefinedType(const ::Ifc4x3::IfcSignalTypeEnum: const ifcopenshell::entity& Ifc4x3::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1014]); } -void Ifc4x3::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSignalType Ifc4x3::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1018]); } -void Ifc4x3::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3::IfcSimpleProperty Ifc4x3::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14746,7 +14746,7 @@ void Ifc4x3::IfcSimplePropertyTemplate::setAccessState(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1019]); } -void Ifc4x3::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3::IfcUnit v9_PrimaryUnit, ::Ifc4x3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3::IfcSimplePropertyTemplate Ifc4x3::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3::IfcUnit v9_PrimaryUnit, ::Ifc4x3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSineSpiral double Ifc4x3::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } @@ -14758,7 +14758,7 @@ void Ifc4x3::IfcSineSpiral::setConstantTerm(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3::IfcSineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1022]); } -void Ifc4x3::IfcSineSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3::IfcSineSpiral Ifc4x3::IfcSineSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14774,7 +14774,7 @@ void Ifc4x3::IfcSite::setSiteAddress(const ::Ifc4x3::IfcPostalAddress& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1024]); } -void Ifc4x3::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3::IfcSite Ifc4x3::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > Ifc4x3::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14782,7 +14782,7 @@ void Ifc4x3::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3::IfcSlabTy const ifcopenshell::entity& Ifc4x3::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1028]); } -void Ifc4x3::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSlab Ifc4x3::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3::IfcSlabTypeEnum::Value Ifc4x3::IfcSlabType::PredefinedType() const { return ::Ifc4x3::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14790,7 +14790,7 @@ void Ifc4x3::IfcSlabType::setPredefinedType(const ::Ifc4x3::IfcSlabTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1029]); } -void Ifc4x3::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSlabType Ifc4x3::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14802,7 +14802,7 @@ void Ifc4x3::IfcSlippageConnectionCondition::setSlippageZ(const std::optional< d const ifcopenshell::entity& Ifc4x3::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1031]); } -void Ifc4x3::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3::IfcSlippageConnectionCondition Ifc4x3::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > Ifc4x3::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14810,7 +14810,7 @@ void Ifc4x3::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1032]); } -void Ifc4x3::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSolarDevice Ifc4x3::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3::IfcSolarDeviceTypeEnum::Value Ifc4x3::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14818,13 +14818,13 @@ void Ifc4x3::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3::IfcSolarDevic const ifcopenshell::entity& Ifc4x3::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1033]); } -void Ifc4x3::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSolarDeviceType Ifc4x3::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1036]); } -void Ifc4x3::IfcSolidModel::initialize() { } +Ifc4x3::IfcSolidModel Ifc4x3::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > Ifc4x3::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14836,7 +14836,7 @@ std::vector<::Ifc4x3::IfcRelCoversSpaces> Ifc4x3::IfcSpace::HasCoverings() const std::vector<::Ifc4x3::IfcRelSpaceBoundary> Ifc4x3::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[946], 4)); } const ifcopenshell::entity& Ifc4x3::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1042]); } -void Ifc4x3::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3::IfcSpace Ifc4x3::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14844,7 +14844,7 @@ void Ifc4x3::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1044]); } -void Ifc4x3::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSpaceHeater Ifc4x3::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value Ifc4x3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14852,7 +14852,7 @@ void Ifc4x3::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3::IfcSpaceHeate const ifcopenshell::entity& Ifc4x3::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1045]); } -void Ifc4x3::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSpaceHeaterType Ifc4x3::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3::IfcSpaceTypeEnum::Value Ifc4x3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14862,7 +14862,7 @@ void Ifc4x3::IfcSpaceType::setLongName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1047]); } -void Ifc4x3::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3::IfcSpaceType Ifc4x3::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14875,7 +14875,7 @@ std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcSpatialElement::IsInt std::vector<::Ifc4x3::IfcRelInterferesElements> Ifc4x3::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[939], 4)); } const ifcopenshell::entity& Ifc4x3::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1049]); } -void Ifc4x3::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3::IfcSpatialElement Ifc4x3::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14883,7 +14883,7 @@ void Ifc4x3::IfcSpatialElementType::setElementType(const std::optional< std::str const ifcopenshell::entity& Ifc4x3::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1050]); } -void Ifc4x3::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcSpatialElementType Ifc4x3::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > Ifc4x3::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14891,13 +14891,13 @@ void Ifc4x3::IfcSpatialStructureElement::setCompositionType(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1052]); } -void Ifc4x3::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3::IfcSpatialStructureElement Ifc4x3::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1053]); } -void Ifc4x3::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcSpatialStructureElementType Ifc4x3::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > Ifc4x3::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14905,7 +14905,7 @@ void Ifc4x3::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1054]); } -void Ifc4x3::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSpatialZone Ifc4x3::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3::IfcSpatialZoneTypeEnum::Value Ifc4x3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14915,7 +14915,7 @@ void Ifc4x3::IfcSpatialZoneType::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1055]); } -void Ifc4x3::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3::IfcSpatialZoneType Ifc4x3::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14923,7 +14923,7 @@ void Ifc4x3::IfcSphere::setRadius(const double& v) { set_attribute_value(1, v);i const ifcopenshell::entity& Ifc4x3::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1061]); } -void Ifc4x3::IfcSphere::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3::IfcSphere Ifc4x3::IfcSphere::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14931,7 +14931,7 @@ void Ifc4x3::IfcSphericalSurface::setRadius(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1062]); } -void Ifc4x3::IfcSphericalSurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3::IfcSphericalSurface Ifc4x3::IfcSphericalSurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSpiral ::Ifc4x3::IfcAxis2Placement Ifc4x3::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcAxis2Placement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcAxis2Placement>(); } @@ -14939,7 +14939,7 @@ void Ifc4x3::IfcSpiral::setPosition(const ::Ifc4x3::IfcAxis2Placement& v) { set_ const ifcopenshell::entity& Ifc4x3::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1063]); } -void Ifc4x3::IfcSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3::IfcSpiral Ifc4x3::IfcSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > Ifc4x3::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14947,7 +14947,7 @@ void Ifc4x3::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1064]); } -void Ifc4x3::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcStackTerminal Ifc4x3::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3::IfcStackTerminalTypeEnum::Value Ifc4x3::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14955,7 +14955,7 @@ void Ifc4x3::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3::IfcStackTer const ifcopenshell::entity& Ifc4x3::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1065]); } -void Ifc4x3::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcStackTerminalType Ifc4x3::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3::IfcStairTypeEnum::Value > Ifc4x3::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14963,7 +14963,7 @@ void Ifc4x3::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3::IfcStair const ifcopenshell::entity& Ifc4x3::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1067]); } -void Ifc4x3::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcStair Ifc4x3::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14979,7 +14979,7 @@ void Ifc4x3::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1068]); } -void Ifc4x3::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3::IfcStairFlight Ifc4x3::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3::IfcStairFlightTypeEnum::Value Ifc4x3::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14987,7 +14987,7 @@ void Ifc4x3::IfcStairFlightType::setPredefinedType(const ::Ifc4x3::IfcStairFligh const ifcopenshell::entity& Ifc4x3::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1069]); } -void Ifc4x3::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcStairFlightType Ifc4x3::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3::IfcStairTypeEnum::Value Ifc4x3::IfcStairType::PredefinedType() const { return ::Ifc4x3::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14995,7 +14995,7 @@ void Ifc4x3::IfcStairType::setPredefinedType(const ::Ifc4x3::IfcStairTypeEnum::V const ifcopenshell::entity& Ifc4x3::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1071]); } -void Ifc4x3::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcStairType Ifc4x3::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -15003,7 +15003,7 @@ void Ifc4x3::IfcStructuralAction::setDestabilizingLoad(const std::optional< bool const ifcopenshell::entity& Ifc4x3::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1074]); } -void Ifc4x3::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3::IfcStructuralAction Ifc4x3::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3::IfcStructuralLoad Ifc4x3::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcStructuralLoad>(); } @@ -15014,7 +15014,7 @@ void Ifc4x3::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3::IfcGlobalOr std::vector<::Ifc4x3::IfcRelConnectsStructuralActivity> Ifc4x3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[923], 5)); } const ifcopenshell::entity& Ifc4x3::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1075]); } -void Ifc4x3::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3::IfcStructuralActivity Ifc4x3::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3::IfcAnalysisModelTypeEnum::Value Ifc4x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -15030,7 +15030,7 @@ void Ifc4x3::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3::IfcO const ifcopenshell::entity& Ifc4x3::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1077]); } -void Ifc4x3::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3::IfcStructuralAnalysisModel Ifc4x3::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3::IfcBoundaryCondition Ifc4x3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3::IfcBoundaryCondition>(); } @@ -15039,7 +15039,7 @@ void Ifc4x3::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3::IfcBou std::vector<::Ifc4x3::IfcRelConnectsStructuralMember> Ifc4x3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[924], 5)); } const ifcopenshell::entity& Ifc4x3::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1078]); } -void Ifc4x3::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3::IfcStructuralConnection Ifc4x3::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15047,7 +15047,7 @@ void Ifc4x3::IfcStructuralConnectionCondition::setName(const std::optional< std: const ifcopenshell::entity& Ifc4x3::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1079]); } -void Ifc4x3::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcStructuralConnectionCondition Ifc4x3::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15057,7 +15057,7 @@ void Ifc4x3::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3::IfcStru const ifcopenshell::entity& Ifc4x3::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1080]); } -void Ifc4x3::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcStructuralCurveAction Ifc4x3::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3::IfcDirection Ifc4x3::IfcStructuralCurveConnection::AxisDirection() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3::IfcDirection>(); } @@ -15065,7 +15065,7 @@ void Ifc4x3::IfcStructuralCurveConnection::setAxisDirection(const ::Ifc4x3::IfcD const ifcopenshell::entity& Ifc4x3::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1082]); } -void Ifc4x3::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection)); } +Ifc4x3::IfcStructuralCurveConnection Ifc4x3::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15075,13 +15075,13 @@ void Ifc4x3::IfcStructuralCurveMember::setAxis(const ::Ifc4x3::IfcDirection& v) const ifcopenshell::entity& Ifc4x3::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1083]); } -void Ifc4x3::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3::IfcStructuralCurveMember Ifc4x3::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1085]); } -void Ifc4x3::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3::IfcStructuralCurveMemberVarying Ifc4x3::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15089,20 +15089,20 @@ void Ifc4x3::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3::IfcSt const ifcopenshell::entity& Ifc4x3::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1086]); } -void Ifc4x3::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcStructuralCurveReaction Ifc4x3::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3::IfcRelConnectsStructuralActivity> Ifc4x3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[923], 4)); } const ifcopenshell::entity& Ifc4x3::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1087]); } -void Ifc4x3::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcStructuralItem Ifc4x3::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1088]); } -void Ifc4x3::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcStructuralLinearAction Ifc4x3::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15110,7 +15110,7 @@ void Ifc4x3::IfcStructuralLoad::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1089]); } -void Ifc4x3::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcStructuralLoad Ifc4x3::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -15118,7 +15118,7 @@ void Ifc4x3::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1090]); } -void Ifc4x3::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3::IfcStructuralLoadCase Ifc4x3::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3::IfcStructuralLoadOrResult > Ifc4x3::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3::IfcStructuralLoadOrResult>(es); } @@ -15128,7 +15128,7 @@ void Ifc4x3::IfcStructuralLoadConfiguration::setLocations(const std::optional< s const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1091]); } -void Ifc4x3::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3::IfcStructuralLoadConfiguration Ifc4x3::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3::IfcLoadGroupTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15146,7 +15146,7 @@ std::vector<::Ifc4x3::IfcStructuralResultGroup> Ifc4x3::IfcStructuralLoadGroup:: std::vector<::Ifc4x3::IfcStructuralAnalysisModel> Ifc4x3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1077], 7)); } const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1092]); } -void Ifc4x3::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3::IfcStructuralLoadGroup Ifc4x3::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15164,13 +15164,13 @@ void Ifc4x3::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1093]); } -void Ifc4x3::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3::IfcStructuralLoadLinearForce Ifc4x3::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1094]); } -void Ifc4x3::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcStructuralLoadOrResult Ifc4x3::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15182,7 +15182,7 @@ void Ifc4x3::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1095]); } -void Ifc4x3::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3::IfcStructuralLoadPlanarForce Ifc4x3::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15200,7 +15200,7 @@ void Ifc4x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(co const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1096]); } -void Ifc4x3::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3::IfcStructuralLoadSingleDisplacement Ifc4x3::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15208,7 +15208,7 @@ void Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(const const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1097]); } -void Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15226,7 +15226,7 @@ void Ifc4x3::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< doubl const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1098]); } -void Ifc4x3::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3::IfcStructuralLoadSingleForce Ifc4x3::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15234,13 +15234,13 @@ void Ifc4x3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std::op const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1099]); } -void Ifc4x3::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3::IfcStructuralLoadSingleForceWarping Ifc4x3::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1100]); } -void Ifc4x3::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3::IfcStructuralLoadStatic Ifc4x3::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15252,26 +15252,26 @@ void Ifc4x3::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< doubl const ifcopenshell::entity& Ifc4x3::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1101]); } -void Ifc4x3::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3::IfcStructuralLoadTemperature Ifc4x3::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3::IfcRelConnectsStructuralMember> Ifc4x3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[924], 4)); } const ifcopenshell::entity& Ifc4x3::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1102]); } -void Ifc4x3::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3::IfcStructuralMember Ifc4x3::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1103]); } -void Ifc4x3::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcStructuralPlanarAction Ifc4x3::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1104]); } -void Ifc4x3::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3::IfcStructuralPointAction Ifc4x3::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3::IfcAxis2Placement3D Ifc4x3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3::IfcAxis2Placement3D>(); } @@ -15279,19 +15279,19 @@ void Ifc4x3::IfcStructuralPointConnection::setConditionCoordinateSystem(const :: const ifcopenshell::entity& Ifc4x3::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1105]); } -void Ifc4x3::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3::IfcStructuralPointConnection Ifc4x3::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1106]); } -void Ifc4x3::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3::IfcStructuralPointReaction Ifc4x3::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1107]); } -void Ifc4x3::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3::IfcStructuralReaction Ifc4x3::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15304,7 +15304,7 @@ void Ifc4x3::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attribut std::vector<::Ifc4x3::IfcStructuralAnalysisModel> Ifc4x3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1077], 8)); } const ifcopenshell::entity& Ifc4x3::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1108]); } -void Ifc4x3::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3::IfcStructuralResultGroup Ifc4x3::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15314,13 +15314,13 @@ void Ifc4x3::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3::IfcSt const ifcopenshell::entity& Ifc4x3::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1109]); } -void Ifc4x3::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcStructuralSurfaceAction Ifc4x3::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1111]); } -void Ifc4x3::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3::IfcStructuralSurfaceConnection Ifc4x3::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15330,13 +15330,13 @@ void Ifc4x3::IfcStructuralSurfaceMember::setThickness(const std::optional< doubl const ifcopenshell::entity& Ifc4x3::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1112]); } -void Ifc4x3::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3::IfcStructuralSurfaceMember Ifc4x3::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1114]); } -void Ifc4x3::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3::IfcStructuralSurfaceMemberVarying Ifc4x3::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15344,13 +15344,13 @@ void Ifc4x3::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1115]); } -void Ifc4x3::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcStructuralSurfaceReaction Ifc4x3::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1118]); } -void Ifc4x3::IfcStyleModel::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3::IfcStyleModel Ifc4x3::IfcStyleModel::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3::IfcRepresentationItem Ifc4x3::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcRepresentationItem>(); } @@ -15362,13 +15362,13 @@ void Ifc4x3::IfcStyledItem::setName(const std::optional< std::string >& v) { if const ifcopenshell::entity& Ifc4x3::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1116]); } -void Ifc4x3::IfcStyledItem::initialize(::Ifc4x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3::IfcStyledItem Ifc4x3::IfcStyledItem::initialize(::Ifc4x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1117]); } -void Ifc4x3::IfcStyledRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3::IfcStyledRepresentation Ifc4x3::IfcStyledRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > Ifc4x3::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15376,7 +15376,7 @@ void Ifc4x3::IfcSubContractResource::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1119]); } -void Ifc4x3::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3::IfcSubContractResource Ifc4x3::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3::IfcSubContractResourceTypeEnum::Value Ifc4x3::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15384,7 +15384,7 @@ void Ifc4x3::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3::IfcSu const ifcopenshell::entity& Ifc4x3::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1120]); } -void Ifc4x3::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3::IfcSubContractResourceType Ifc4x3::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3::IfcEdge Ifc4x3::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcEdge>(); } @@ -15392,13 +15392,13 @@ void Ifc4x3::IfcSubedge::setParentEdge(const ::Ifc4x3::IfcEdge& v) { set_attribu const ifcopenshell::entity& Ifc4x3::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1122]); } -void Ifc4x3::IfcSubedge::initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3::IfcSubedge Ifc4x3::IfcSubedge::initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1123]); } -void Ifc4x3::IfcSurface::initialize() { } +Ifc4x3::IfcSurface Ifc4x3::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3::IfcCurve Ifc4x3::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -15410,7 +15410,7 @@ void Ifc4x3::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3::IfcPreferr const ifcopenshell::entity& Ifc4x3::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1124]); } -void Ifc4x3::IfcSurfaceCurve::initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3::IfcSurfaceCurve Ifc4x3::IfcSurfaceCurve::initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3::IfcSurface Ifc4x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3::IfcSurface>(); } @@ -15418,7 +15418,7 @@ void Ifc4x3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1125]); } -void Ifc4x3::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3::IfcSurfaceCurveSweptAreaSolid Ifc4x3::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15427,7 +15427,7 @@ void Ifc4x3::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc4x3: std::vector<::Ifc4x3::IfcRelAdheresToElement> Ifc4x3::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[899], 5)); } const ifcopenshell::entity& Ifc4x3::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1126]); } -void Ifc4x3::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSurfaceFeature Ifc4x3::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3::IfcDirection Ifc4x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcDirection>(); } @@ -15437,7 +15437,7 @@ void Ifc4x3::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1128]); } -void Ifc4x3::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3::IfcSurfaceOfLinearExtrusion Ifc4x3::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3::IfcAxis1Placement Ifc4x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcAxis1Placement>(); } @@ -15445,7 +15445,7 @@ void Ifc4x3::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3::IfcAxis1Pla const ifcopenshell::entity& Ifc4x3::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1129]); } -void Ifc4x3::IfcSurfaceOfRevolution::initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3::IfcSurfaceOfRevolution Ifc4x3::IfcSurfaceOfRevolution::initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15457,7 +15457,7 @@ void Ifc4x3::IfcSurfaceReinforcementArea::setShearReinforcement(const std::optio const ifcopenshell::entity& Ifc4x3::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1131]); } -void Ifc4x3::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3::IfcSurfaceReinforcementArea Ifc4x3::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3::IfcSurfaceSide::Value Ifc4x3::IfcSurfaceStyle::Side() const { return ::Ifc4x3::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15467,7 +15467,7 @@ void Ifc4x3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3::IfcSurfaceS const ifcopenshell::entity& Ifc4x3::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1133]); } -void Ifc4x3::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3::IfcSurfaceStyle Ifc4x3::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3::IfcColourRgb Ifc4x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcColourRgb>(); } @@ -15481,7 +15481,7 @@ void Ifc4x3::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3::IfcCo const ifcopenshell::entity& Ifc4x3::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1135]); } -void Ifc4x3::IfcSurfaceStyleLighting::initialize(::Ifc4x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3::IfcSurfaceStyleLighting Ifc4x3::IfcSurfaceStyleLighting::initialize(::Ifc4x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15491,7 +15491,7 @@ void Ifc4x3::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1136]); } -void Ifc4x3::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3::IfcSurfaceStyleRefraction Ifc4x3::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3::IfcColourOrFactor Ifc4x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3::IfcColourOrFactor>(); } @@ -15511,7 +15511,7 @@ void Ifc4x3::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3::IfcR const ifcopenshell::entity& Ifc4x3::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1137]); } -void Ifc4x3::IfcSurfaceStyleRendering::initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3::IfcSurfaceStyleRendering Ifc4x3::IfcSurfaceStyleRendering::initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3::IfcColourRgb Ifc4x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcColourRgb>(); } @@ -15521,7 +15521,7 @@ void Ifc4x3::IfcSurfaceStyleShading::setTransparency(const std::optional< double const ifcopenshell::entity& Ifc4x3::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1138]); } -void Ifc4x3::IfcSurfaceStyleShading::initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3::IfcSurfaceStyleShading Ifc4x3::IfcSurfaceStyleShading::initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3::IfcSurfaceTexture > Ifc4x3::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcSurfaceTexture>(es); } @@ -15529,7 +15529,7 @@ void Ifc4x3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1139]); } -void Ifc4x3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3::IfcSurfaceStyleWithTextures Ifc4x3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15547,7 +15547,7 @@ std::vector<::Ifc4x3::IfcTextureCoordinate> Ifc4x3::IfcSurfaceTexture::IsMappedB std::vector<::Ifc4x3::IfcSurfaceStyleWithTextures> Ifc4x3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[1139], 0)); } const ifcopenshell::entity& Ifc4x3::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1140]); } -void Ifc4x3::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3::IfcSurfaceTexture Ifc4x3::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3::IfcProfileDef Ifc4x3::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcProfileDef>(); } @@ -15557,7 +15557,7 @@ void Ifc4x3::IfcSweptAreaSolid::setPosition(const ::Ifc4x3::IfcAxis2Placement3D& const ifcopenshell::entity& Ifc4x3::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1141]); } -void Ifc4x3::IfcSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3::IfcSweptAreaSolid Ifc4x3::IfcSweptAreaSolid::initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3::IfcCurve Ifc4x3::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -15573,7 +15573,7 @@ void Ifc4x3::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1142]); } -void Ifc4x3::IfcSweptDiskSolid::initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3::IfcSweptDiskSolid Ifc4x3::IfcSweptDiskSolid::initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15581,7 +15581,7 @@ void Ifc4x3::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional< do const ifcopenshell::entity& Ifc4x3::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1143]); } -void Ifc4x3::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3::IfcSweptDiskSolidPolygonal Ifc4x3::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3::IfcProfileDef Ifc4x3::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcProfileDef>(); } @@ -15591,7 +15591,7 @@ void Ifc4x3::IfcSweptSurface::setPosition(const ::Ifc4x3::IfcAxis2Placement3D& v const ifcopenshell::entity& Ifc4x3::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1144]); } -void Ifc4x3::IfcSweptSurface::initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3::IfcSweptSurface Ifc4x3::IfcSweptSurface::initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15599,7 +15599,7 @@ void Ifc4x3::IfcSwitchingDevice::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1145]); } -void Ifc4x3::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSwitchingDevice Ifc4x3::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15607,7 +15607,7 @@ void Ifc4x3::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3::IfcSwitch const ifcopenshell::entity& Ifc4x3::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1146]); } -void Ifc4x3::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcSwitchingDeviceType Ifc4x3::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15615,7 +15615,7 @@ std::vector<::Ifc4x3::IfcRelServicesBuildings> Ifc4x3::IfcSystem::ServicesBuildi std::vector<::Ifc4x3::IfcRelReferencedInSpatialStructure> Ifc4x3::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[943], 4)); } const ifcopenshell::entity& Ifc4x3::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1148]); } -void Ifc4x3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3::IfcSystem Ifc4x3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15623,7 +15623,7 @@ void Ifc4x3::IfcSystemFurnitureElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1149]); } -void Ifc4x3::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcSystemFurnitureElement Ifc4x3::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15631,7 +15631,7 @@ void Ifc4x3::IfcSystemFurnitureElementType::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1150]); } -void Ifc4x3::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcSystemFurnitureElementType Ifc4x3::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15655,7 +15655,7 @@ void Ifc4x3::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1236]); } -void Ifc4x3::IfcTShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3::IfcTShapeProfileDef Ifc4x3::IfcTShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15667,7 +15667,7 @@ void Ifc4x3::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1152]); } -void Ifc4x3::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3::IfcTable Ifc4x3::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15683,7 +15683,7 @@ void Ifc4x3::IfcTableColumn::setReferencePath(const ::Ifc4x3::IfcReference& v) { const ifcopenshell::entity& Ifc4x3::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1153]); } -void Ifc4x3::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit v4_Unit, ::Ifc4x3::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3::IfcTableColumn Ifc4x3::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit v4_Unit, ::Ifc4x3::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3::IfcValue > > Ifc4x3::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcValue>(es); } @@ -15693,7 +15693,7 @@ void Ifc4x3::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if (v) const ifcopenshell::entity& Ifc4x3::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1154]); } -void Ifc4x3::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3::IfcTableRow Ifc4x3::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3::IfcTankTypeEnum::Value > Ifc4x3::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15701,7 +15701,7 @@ void Ifc4x3::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3::IfcTankTy const ifcopenshell::entity& Ifc4x3::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1155]); } -void Ifc4x3::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcTank Ifc4x3::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3::IfcTankTypeEnum::Value Ifc4x3::IfcTankType::PredefinedType() const { return ::Ifc4x3::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15709,7 +15709,7 @@ void Ifc4x3::IfcTankType::setPredefinedType(const ::Ifc4x3::IfcTankTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1156]); } -void Ifc4x3::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTankType Ifc4x3::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15727,7 +15727,7 @@ void Ifc4x3::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3::IfcTaskTy const ifcopenshell::entity& Ifc4x3::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1158]); } -void Ifc4x3::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3::IfcTask Ifc4x3::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > Ifc4x3::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15767,7 +15767,7 @@ void Ifc4x3::IfcTaskTime::setCompletion(const std::optional< double >& v) { if ( const ifcopenshell::entity& Ifc4x3::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1160]); } -void Ifc4x3::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3::IfcTaskTime Ifc4x3::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3::IfcRecurrencePattern Ifc4x3::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3::IfcRecurrencePattern>(); } @@ -15775,7 +15775,7 @@ void Ifc4x3::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3::IfcRecurrencePa const ifcopenshell::entity& Ifc4x3::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1161]); } -void Ifc4x3::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3::IfcTaskTimeRecurring Ifc4x3::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3::IfcTaskTypeEnum::Value Ifc4x3::IfcTaskType::PredefinedType() const { return ::Ifc4x3::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15785,7 +15785,7 @@ void Ifc4x3::IfcTaskType::setWorkMethod(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1162]); } -void Ifc4x3::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3::IfcTaskType Ifc4x3::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15803,7 +15803,7 @@ void Ifc4x3::IfcTelecomAddress::setMessagingIDs(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1164]); } -void Ifc4x3::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3::IfcTelecomAddress Ifc4x3::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > Ifc4x3::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15825,7 +15825,7 @@ void Ifc4x3::IfcTendon::setMinCurvatureRadius(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1167]); } -void Ifc4x3::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3::IfcTendon Ifc4x3::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > Ifc4x3::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15833,7 +15833,7 @@ void Ifc4x3::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1168]); } -void Ifc4x3::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3::IfcTendonAnchor Ifc4x3::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3::IfcTendonAnchorTypeEnum::Value Ifc4x3::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15841,7 +15841,7 @@ void Ifc4x3::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3::IfcTendonAnc const ifcopenshell::entity& Ifc4x3::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1169]); } -void Ifc4x3::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTendonAnchorType Ifc4x3::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15849,7 +15849,7 @@ void Ifc4x3::IfcTendonConduit::setPredefinedType(const ::Ifc4x3::IfcTendonCondui const ifcopenshell::entity& Ifc4x3::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1171]); } -void Ifc4x3::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTendonConduit Ifc4x3::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15857,7 +15857,7 @@ void Ifc4x3::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3::IfcTendonCo const ifcopenshell::entity& Ifc4x3::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1172]); } -void Ifc4x3::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTendonConduitType Ifc4x3::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3::IfcTendonTypeEnum::Value Ifc4x3::IfcTendonType::PredefinedType() const { return ::Ifc4x3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15871,7 +15871,7 @@ void Ifc4x3::IfcTendonType::setSheathDiameter(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1174]); } -void Ifc4x3::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3::IfcTendonType Ifc4x3::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3::IfcCartesianPointList3D Ifc4x3::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCartesianPointList3D>(); } @@ -15883,13 +15883,13 @@ std::vector<::Ifc4x3::IfcIndexedColourMap> Ifc4x3::IfcTessellatedFaceSet::HasCol std::vector<::Ifc4x3::IfcIndexedTextureMap> Ifc4x3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[549], 1)); } const ifcopenshell::entity& Ifc4x3::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1176]); } -void Ifc4x3::IfcTessellatedFaceSet::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } } +Ifc4x3::IfcTessellatedFaceSet Ifc4x3::IfcTessellatedFaceSet::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1177]); } -void Ifc4x3::IfcTessellatedItem::initialize() { } +Ifc4x3::IfcTessellatedItem Ifc4x3::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15901,7 +15901,7 @@ void Ifc4x3::IfcTextLiteral::setPath(const ::Ifc4x3::IfcTextPath::Value& v) { se const ifcopenshell::entity& Ifc4x3::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1183]); } -void Ifc4x3::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3::IfcTextLiteral Ifc4x3::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3::IfcPlanarExtent Ifc4x3::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcPlanarExtent>(); } @@ -15911,7 +15911,7 @@ void Ifc4x3::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) { s const ifcopenshell::entity& Ifc4x3::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1184]); } -void Ifc4x3::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path, ::Ifc4x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3::IfcTextLiteralWithExtent Ifc4x3::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path, ::Ifc4x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3::IfcTextStyleForDefinedFont Ifc4x3::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3::IfcTextStyleForDefinedFont>(); } @@ -15925,7 +15925,7 @@ void Ifc4x3::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& v) const ifcopenshell::entity& Ifc4x3::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1186]); } -void Ifc4x3::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3::IfcTextStyle Ifc4x3::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15941,7 +15941,7 @@ void Ifc4x3::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3::IfcSizeSelect& v const ifcopenshell::entity& Ifc4x3::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1187]); } -void Ifc4x3::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3::IfcTextStyleFontModel Ifc4x3::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3::IfcColour Ifc4x3::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcColour>(); } @@ -15951,7 +15951,7 @@ void Ifc4x3::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1188]); } -void Ifc4x3::IfcTextStyleForDefinedFont::initialize(::Ifc4x3::IfcColour v1_Colour, ::Ifc4x3::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3::IfcTextStyleForDefinedFont Ifc4x3::IfcTextStyleForDefinedFont::initialize(::Ifc4x3::IfcColour v1_Colour, ::Ifc4x3::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3::IfcSizeSelect Ifc4x3::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcSizeSelect>(); } @@ -15971,7 +15971,7 @@ void Ifc4x3::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3::IfcSizeSelect& const ifcopenshell::entity& Ifc4x3::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1189]); } -void Ifc4x3::IfcTextStyleTextModel::initialize(::Ifc4x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3::IfcTextStyleTextModel Ifc4x3::IfcTextStyleTextModel::initialize(::Ifc4x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3::IfcSurfaceTexture > Ifc4x3::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcSurfaceTexture>(es); } @@ -15979,7 +15979,7 @@ void Ifc4x3::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3::IfcSurfa const ifcopenshell::entity& Ifc4x3::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1191]); } -void Ifc4x3::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3::IfcTextureCoordinate Ifc4x3::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15989,7 +15989,7 @@ void Ifc4x3::IfcTextureCoordinateGenerator::setParameter(const std::optional< st const ifcopenshell::entity& Ifc4x3::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1192]); } -void Ifc4x3::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3::IfcTextureCoordinateGenerator Ifc4x3::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureCoordinateIndices std::vector< int > /*[3:?]*/ Ifc4x3::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -16000,7 +16000,7 @@ void Ifc4x3::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3::IfcInde std::vector<::Ifc4x3::IfcIndexedPolygonalTextureMap> Ifc4x3::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[548], 3)); } const ifcopenshell::entity& Ifc4x3::IfcTextureCoordinateIndices::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1193]); } -void Ifc4x3::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf)); } +Ifc4x3::IfcTextureCoordinateIndices Ifc4x3::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));; return *this; } // Function implementations for IfcTextureCoordinateIndicesWithVoids std::vector< std::vector< int > > Ifc4x3::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } @@ -16008,7 +16008,7 @@ void Ifc4x3::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices(const const ifcopenshell::entity& Ifc4x3::IfcTextureCoordinateIndicesWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1194]); } -void Ifc4x3::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices)); } +Ifc4x3::IfcTextureCoordinateIndicesWithVoids Ifc4x3::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices));; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3::IfcTextureVertex > Ifc4x3::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3::IfcTextureVertex>(es); } @@ -16018,7 +16018,7 @@ void Ifc4x3::IfcTextureMap::setMappedTo(const ::Ifc4x3::IfcFace& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1195]); } -void Ifc4x3::IfcTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3::IfcTextureVertex > v2_Vertices, ::Ifc4x3::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3::IfcTextureMap Ifc4x3::IfcTextureMap::initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3::IfcTextureVertex > v2_Vertices, ::Ifc4x3::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -16026,7 +16026,7 @@ void Ifc4x3::IfcTextureVertex::setCoordinates(const std::vector< double > /*[2:2 const ifcopenshell::entity& Ifc4x3::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1196]); } -void Ifc4x3::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3::IfcTextureVertex Ifc4x3::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -16034,7 +16034,7 @@ void Ifc4x3::IfcTextureVertexList::setTexCoordsList(const std::vector< std::vect const ifcopenshell::entity& Ifc4x3::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1197]); } -void Ifc4x3::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3::IfcTextureVertexList Ifc4x3::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcThirdOrderPolynomialSpiral double Ifc4x3::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } @@ -16048,7 +16048,7 @@ void Ifc4x3::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1204]); } -void Ifc4x3::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); } } +Ifc4x3::IfcThirdOrderPolynomialSpiral Ifc4x3::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -16058,7 +16058,7 @@ void Ifc4x3::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1208]); } -void Ifc4x3::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3::IfcTimePeriod Ifc4x3::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -16081,7 +16081,7 @@ void Ifc4x3::IfcTimeSeries::setUnit(const ::Ifc4x3::IfcUnit& v) { set_attribute_ std::vector<::Ifc4x3::IfcExternalReferenceRelationship> Ifc4x3::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[430], 3)); } const ifcopenshell::entity& Ifc4x3::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1209]); } -void Ifc4x3::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3::IfcTimeSeries Ifc4x3::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3::IfcValue > Ifc4x3::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcValue>(es); } @@ -16089,19 +16089,19 @@ void Ifc4x3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3::IfcV const ifcopenshell::entity& Ifc4x3::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1211]); } -void Ifc4x3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3::IfcTimeSeriesValue Ifc4x3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1213]); } -void Ifc4x3::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3::IfcTopologicalRepresentationItem Ifc4x3::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1214]); } -void Ifc4x3::IfcTopologyRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3::IfcTopologyRepresentation Ifc4x3::IfcTopologyRepresentation::initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -16111,7 +16111,7 @@ void Ifc4x3::IfcToroidalSurface::setMinorRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1215]); } -void Ifc4x3::IfcToroidalSurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3::IfcToroidalSurface Ifc4x3::IfcToroidalSurface::initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > Ifc4x3::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16119,7 +16119,7 @@ void Ifc4x3::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1217]); } -void Ifc4x3::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcTrackElement Ifc4x3::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3::IfcTrackElementTypeEnum::Value Ifc4x3::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16127,7 +16127,7 @@ void Ifc4x3::IfcTrackElementType::setPredefinedType(const ::Ifc4x3::IfcTrackElem const ifcopenshell::entity& Ifc4x3::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1218]); } -void Ifc4x3::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTrackElementType Ifc4x3::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > Ifc4x3::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -16135,7 +16135,7 @@ void Ifc4x3::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3::If const ifcopenshell::entity& Ifc4x3::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1220]); } -void Ifc4x3::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcTransformer Ifc4x3::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3::IfcTransformerTypeEnum::Value Ifc4x3::IfcTransformerType::PredefinedType() const { return ::Ifc4x3::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16143,7 +16143,7 @@ void Ifc4x3::IfcTransformerType::setPredefinedType(const ::Ifc4x3::IfcTransforme const ifcopenshell::entity& Ifc4x3::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1221]); } -void Ifc4x3::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTransformerType Ifc4x3::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > Ifc4x3::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16151,7 +16151,7 @@ void Ifc4x3::IfcTransportElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1227]); } -void Ifc4x3::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcTransportElement Ifc4x3::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3::IfcTransportElementTypeEnum::Value Ifc4x3::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16159,19 +16159,19 @@ void Ifc4x3::IfcTransportElementType::setPredefinedType(const ::Ifc4x3::IfcTrans const ifcopenshell::entity& Ifc4x3::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1228]); } -void Ifc4x3::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTransportElementType Ifc4x3::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportationDevice const ifcopenshell::entity& Ifc4x3::IfcTransportationDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1225]); } -void Ifc4x3::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcTransportationDevice Ifc4x3::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTransportationDeviceType const ifcopenshell::entity& Ifc4x3::IfcTransportationDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1226]); } -void Ifc4x3::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3::IfcTransportationDeviceType Ifc4x3::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16185,7 +16185,7 @@ void Ifc4x3::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1230]); } -void Ifc4x3::IfcTrapeziumProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3::IfcTrapeziumProfileDef Ifc4x3::IfcTrapeziumProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } @@ -16197,7 +16197,7 @@ void Ifc4x3::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1231]); } -void Ifc4x3::IfcTriangulatedFaceSet::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3::IfcTriangulatedFaceSet Ifc4x3::IfcTriangulatedFaceSet::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16205,7 +16205,7 @@ void Ifc4x3::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< int > const ifcopenshell::entity& Ifc4x3::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1232]); } -void Ifc4x3::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3::IfcTriangulatedIrregularNetwork Ifc4x3::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3::IfcCurve Ifc4x3::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcCurve>(); } @@ -16221,7 +16221,7 @@ void Ifc4x3::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3::IfcTrimmin const ifcopenshell::entity& Ifc4x3::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1233]); } -void Ifc4x3::IfcTrimmedCurve::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3::IfcTrimmedCurve Ifc4x3::IfcTrimmedCurve::initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > Ifc4x3::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16229,7 +16229,7 @@ void Ifc4x3::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1237]); } -void Ifc4x3::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcTubeBundle Ifc4x3::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3::IfcTubeBundleTypeEnum::Value Ifc4x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16237,7 +16237,7 @@ void Ifc4x3::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3::IfcTubeBundleT const ifcopenshell::entity& Ifc4x3::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1238]); } -void Ifc4x3::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcTubeBundleType Ifc4x3::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16248,7 +16248,7 @@ void Ifc4x3::IfcTypeObject::setHasPropertySets(const std::optional< std::vector< std::vector<::Ifc4x3::IfcRelDefinesByType> Ifc4x3::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[936], 5)); } const ifcopenshell::entity& Ifc4x3::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1240]); } -void Ifc4x3::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3::IfcTypeObject Ifc4x3::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16261,7 +16261,7 @@ void Ifc4x3::IfcTypeProcess::setProcessType(const std::optional< std::string >& std::vector<::Ifc4x3::IfcRelAssignsToProcess> Ifc4x3::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[906], 6)); } const ifcopenshell::entity& Ifc4x3::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1241]); } -void Ifc4x3::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3::IfcTypeProcess Ifc4x3::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > Ifc4x3::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3::IfcRepresentationMap>(es); } @@ -16272,7 +16272,7 @@ void Ifc4x3::IfcTypeProduct::setTag(const std::optional< std::string >& v) { if std::vector<::Ifc4x3::IfcRelAssignsToProduct> Ifc4x3::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[907], 6)); } const ifcopenshell::entity& Ifc4x3::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1242]); } -void Ifc4x3::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3::IfcTypeProduct Ifc4x3::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16285,7 +16285,7 @@ void Ifc4x3::IfcTypeResource::setResourceType(const std::optional< std::string > std::vector<::Ifc4x3::IfcRelAssignsToResource> Ifc4x3::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_types[908], 6)); } const ifcopenshell::entity& Ifc4x3::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1243]); } -void Ifc4x3::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3::IfcTypeResource Ifc4x3::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16305,7 +16305,7 @@ void Ifc4x3::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1254]); } -void Ifc4x3::IfcUShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3::IfcUShapeProfileDef Ifc4x3::IfcUShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3::IfcUnit > Ifc4x3::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcUnit>(es); } @@ -16313,7 +16313,7 @@ void Ifc4x3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3::IfcUnit >& const ifcopenshell::entity& Ifc4x3::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1251]); } -void Ifc4x3::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3::IfcUnitAssignment Ifc4x3::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16321,7 +16321,7 @@ void Ifc4x3::IfcUnitaryControlElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1245]); } -void Ifc4x3::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcUnitaryControlElement Ifc4x3::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16329,7 +16329,7 @@ void Ifc4x3::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3::Ifc const ifcopenshell::entity& Ifc4x3::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1246]); } -void Ifc4x3::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcUnitaryControlElementType Ifc4x3::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16337,7 +16337,7 @@ void Ifc4x3::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1248]); } -void Ifc4x3::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcUnitaryEquipment Ifc4x3::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16345,7 +16345,7 @@ void Ifc4x3::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3::IfcUnita const ifcopenshell::entity& Ifc4x3::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1249]); } -void Ifc4x3::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcUnitaryEquipmentType Ifc4x3::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3::IfcValveTypeEnum::Value > Ifc4x3::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16353,7 +16353,7 @@ void Ifc4x3::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3::IfcValve const ifcopenshell::entity& Ifc4x3::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1256]); } -void Ifc4x3::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcValve Ifc4x3::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3::IfcValveTypeEnum::Value Ifc4x3::IfcValveType::PredefinedType() const { return ::Ifc4x3::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16361,7 +16361,7 @@ void Ifc4x3::IfcValveType::setPredefinedType(const ::Ifc4x3::IfcValveTypeEnum::V const ifcopenshell::entity& Ifc4x3::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1257]); } -void Ifc4x3::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcValveType Ifc4x3::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3::IfcDirection Ifc4x3::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcDirection>(); } @@ -16371,7 +16371,7 @@ void Ifc4x3::IfcVector::setMagnitude(const double& v) { set_attribute_value(1, v const ifcopenshell::entity& Ifc4x3::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1260]); } -void Ifc4x3::IfcVector::initialize(::Ifc4x3::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3::IfcVector Ifc4x3::IfcVector::initialize(::Ifc4x3::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVehicle std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > Ifc4x3::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } @@ -16379,7 +16379,7 @@ void Ifc4x3::IfcVehicle::setPredefinedType(const std::optional< ::Ifc4x3::IfcVeh const ifcopenshell::entity& Ifc4x3::IfcVehicle::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1262]); } -void Ifc4x3::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcVehicle Ifc4x3::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVehicleType ::Ifc4x3::IfcVehicleTypeEnum::Value Ifc4x3::IfcVehicleType::PredefinedType() const { return ::Ifc4x3::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } @@ -16387,13 +16387,13 @@ void Ifc4x3::IfcVehicleType::setPredefinedType(const ::Ifc4x3::IfcVehicleTypeEnu const ifcopenshell::entity& Ifc4x3::IfcVehicleType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1263]); } -void Ifc4x3::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcVehicleType Ifc4x3::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1265]); } -void Ifc4x3::IfcVertex::initialize() { } +Ifc4x3::IfcVertex Ifc4x3::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3::IfcVertex Ifc4x3::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcVertex>(); } @@ -16401,7 +16401,7 @@ void Ifc4x3::IfcVertexLoop::setLoopVertex(const ::Ifc4x3::IfcVertex& v) { set_at const ifcopenshell::entity& Ifc4x3::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1266]); } -void Ifc4x3::IfcVertexLoop::initialize(::Ifc4x3::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3::IfcVertexLoop Ifc4x3::IfcVertexLoop::initialize(::Ifc4x3::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3::IfcPoint Ifc4x3::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3::IfcPoint>(); } @@ -16409,7 +16409,7 @@ void Ifc4x3::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x3::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1267]); } -void Ifc4x3::IfcVertexPoint::initialize(::Ifc4x3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3::IfcVertexPoint Ifc4x3::IfcVertexPoint::initialize(::Ifc4x3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > Ifc4x3::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16417,7 +16417,7 @@ void Ifc4x3::IfcVibrationDamper::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1268]); } -void Ifc4x3::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcVibrationDamper Ifc4x3::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType ::Ifc4x3::IfcVibrationDamperTypeEnum::Value Ifc4x3::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16425,7 +16425,7 @@ void Ifc4x3::IfcVibrationDamperType::setPredefinedType(const ::Ifc4x3::IfcVibrat const ifcopenshell::entity& Ifc4x3::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1269]); } -void Ifc4x3::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcVibrationDamperType Ifc4x3::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16433,7 +16433,7 @@ void Ifc4x3::IfcVibrationIsolator::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1271]); } -void Ifc4x3::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcVibrationIsolator Ifc4x3::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16441,7 +16441,7 @@ void Ifc4x3::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3::IfcVibr const ifcopenshell::entity& Ifc4x3::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1272]); } -void Ifc4x3::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcVibrationIsolatorType Ifc4x3::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > Ifc4x3::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16449,7 +16449,7 @@ void Ifc4x3::IfcVirtualElement::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1274]); } -void Ifc4x3::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcVirtualElement Ifc4x3::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3::IfcGridAxis > Ifc4x3::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3::IfcGridAxis>(es); } @@ -16459,7 +16459,7 @@ void Ifc4x3::IfcVirtualGridIntersection::setOffsetDistances(const std::vector< d const ifcopenshell::entity& Ifc4x3::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1276]); } -void Ifc4x3::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3::IfcVirtualGridIntersection Ifc4x3::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16467,7 +16467,7 @@ void Ifc4x3::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc4x3: const ifcopenshell::entity& Ifc4x3::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1277]); } -void Ifc4x3::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcVoidingFeature Ifc4x3::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > Ifc4x3::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16475,13 +16475,13 @@ void Ifc4x3::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3::IfcWallTy const ifcopenshell::entity& Ifc4x3::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1281]); } -void Ifc4x3::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcWall Ifc4x3::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1282]); } -void Ifc4x3::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcWallStandardCase Ifc4x3::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3::IfcWallTypeEnum::Value Ifc4x3::IfcWallType::PredefinedType() const { return ::Ifc4x3::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16489,7 +16489,7 @@ void Ifc4x3::IfcWallType::setPredefinedType(const ::Ifc4x3::IfcWallTypeEnum::Val const ifcopenshell::entity& Ifc4x3::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1283]); } -void Ifc4x3::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcWallType Ifc4x3::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > Ifc4x3::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16497,7 +16497,7 @@ void Ifc4x3::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4x3:: const ifcopenshell::entity& Ifc4x3::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1288]); } -void Ifc4x3::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcWasteTerminal Ifc4x3::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3::IfcWasteTerminalTypeEnum::Value Ifc4x3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16505,7 +16505,7 @@ void Ifc4x3::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3::IfcWasteTer const ifcopenshell::entity& Ifc4x3::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1289]); } -void Ifc4x3::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3::IfcWasteTerminalType Ifc4x3::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16521,7 +16521,7 @@ void Ifc4x3::IfcWindow::setUserDefinedPartitioningType(const std::optional< std: const ifcopenshell::entity& Ifc4x3::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1291]); } -void Ifc4x3::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3::IfcWindow Ifc4x3::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16551,7 +16551,7 @@ void Ifc4x3::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::optio const ifcopenshell::entity& Ifc4x3::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1292]); } -void Ifc4x3::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3::IfcWindowLiningProperties Ifc4x3::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3::IfcWindowPanelOperationEnum::Value Ifc4x3::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16567,7 +16567,7 @@ void Ifc4x3::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3::IfcSh const ifcopenshell::entity& Ifc4x3::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1295]); } -void Ifc4x3::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3::IfcWindowPanelProperties Ifc4x3::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3::IfcWindowTypeEnum::Value Ifc4x3::IfcWindowType::PredefinedType() const { return ::Ifc4x3::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16581,7 +16581,7 @@ void Ifc4x3::IfcWindowType::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1298]); } -void Ifc4x3::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3::IfcWindowType Ifc4x3::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > Ifc4x3::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3::IfcWorkTime>(es); } @@ -16593,7 +16593,7 @@ void Ifc4x3::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1301]); } -void Ifc4x3::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3::IfcWorkCalendar Ifc4x3::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16613,7 +16613,7 @@ void Ifc4x3::IfcWorkControl::setFinishTime(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1303]); } -void Ifc4x3::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3::IfcWorkControl Ifc4x3::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > Ifc4x3::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16621,7 +16621,7 @@ void Ifc4x3::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3::IfcWo const ifcopenshell::entity& Ifc4x3::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1304]); } -void Ifc4x3::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3::IfcWorkPlan Ifc4x3::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > Ifc4x3::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16629,7 +16629,7 @@ void Ifc4x3::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x3::I const ifcopenshell::entity& Ifc4x3::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1306]); } -void Ifc4x3::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3::IfcWorkSchedule Ifc4x3::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3::IfcRecurrencePattern Ifc4x3::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3::IfcRecurrencePattern>(); } @@ -16641,7 +16641,7 @@ void Ifc4x3::IfcWorkTime::setFinishDate(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1308]); } -void Ifc4x3::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); } } +Ifc4x3::IfcWorkTime Ifc4x3::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16659,7 +16659,7 @@ void Ifc4x3::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1310]); } -void Ifc4x3::IfcZShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3::IfcZShapeProfileDef Ifc4x3::IfcZShapeProfileDef::initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16667,5 +16667,5 @@ void Ifc4x3::IfcZone::setLongName(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x3::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_types[1309]); } -void Ifc4x3::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3::IfcZone Ifc4x3::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3.h b/src/ifcparse/schemas/Ifc4x3.h index 66e1c4f1bd..201204490d 100644 --- a/src/ifcparse/schemas/Ifc4x3.h +++ b/src/ifcparse/schemas/Ifc4x3.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1105,8 +1092,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1138,8 +1124,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1162,8 +1147,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1188,8 +1172,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1281,8 +1264,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1747,8 +1728,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1795,8 +1775,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1828,8 +1807,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1850,8 +1828,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1870,8 +1847,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1896,8 +1872,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1925,8 +1900,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1966,8 +1940,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2011,8 +1984,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2045,8 +2017,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2202,8 +2173,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2914,8 +2884,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2936,8 +2905,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2958,8 +2926,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2980,8 +2947,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3048,8 +3014,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3077,8 +3042,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3097,8 +3061,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3125,8 +3088,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3145,8 +3107,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3167,8 +3128,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3285,8 +3245,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3307,8 +3266,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3327,8 +3285,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3357,8 +3314,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3395,8 +3351,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3498,8 +3453,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3548,8 +3502,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3579,8 +3532,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3599,8 +3551,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3628,8 +3579,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3656,8 +3606,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3684,8 +3633,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3718,8 +3666,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3762,8 +3709,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3783,8 +3729,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3805,8 +3750,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3829,8 +3773,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3861,8 +3804,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3896,8 +3838,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4577,8 +4518,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4599,8 +4539,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4629,16 +4568,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4648,16 +4586,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_BRAKES, IfcActionSourceType_BUOYANCY, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_CREEP, IfcActionSourceType_CURRENT, IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_ERECTION, IfcActionSourceType_FIRE, IfcActionSourceType_ICE, IfcActionSourceType_IMPACT, IfcActionSourceType_IMPULSE, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_PROPPING, IfcActionSourceType_RAIN, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_SNOW_S, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_TRANSPORT, IfcActionSourceType_WAVE, IfcActionSourceType_WIND_W, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4669,16 +4606,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_EXTRAORDINARY_A, IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4699,16 +4635,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4724,16 +4659,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_HOME, IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4749,16 +4683,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4776,16 +4709,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4806,16 +4738,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4834,76 +4765,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_CLOTHOID, IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_PARABOLICARC} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4914,16 +4840,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4935,31 +4860,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -4976,16 +4899,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5002,16 +4924,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_SITE, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5030,16 +4951,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_RECORDINGEQUIPMENT, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5058,31 +4978,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5126,46 +5044,43 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_CORNICE, IfcBeamType_DIAPHRAGM, IfcBeamType_EDGEBEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_HATSTONE, IfcBeamType_HOLLOWCORE, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_PIERCAP, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { public: - IfcBearingTypeDisplacementEnum() {} - explicit IfcBearingTypeDisplacementEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeDisplacementEnum initialize(Value v); + IfcBearingTypeDisplacementEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_DISK, IfcBearingType_ELASTOMERIC, IfcBearingType_GUIDE, IfcBearingType_POT, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_SPHERICAL, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5210,16 +5125,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_EQUALTO, IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_INCLUDEDIN, IfcBenchmark_INCLUDES, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_NOTINCLUDEDIN, IfcBenchmark_NOTINCLUDES} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5233,16 +5147,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_STEAM, IfcBoilerType_WATER, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5256,46 +5169,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_DIFFERENCE, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_UNION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5308,16 +5218,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5333,16 +5242,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5361,31 +5269,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_EROSIONPREVENTION, IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_PRESTRESSING, IfcBuildingSystemType_REINFORCING, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_RAILWAYLINE, IfcBuiltSystemType_RAILWAYTRACK, IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5397,16 +5303,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5421,16 +5326,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CONNECTOR, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_JUNCTION, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_TRANSITION, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5445,16 +5349,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5470,16 +5373,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_FANOUT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5496,31 +5398,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5536,16 +5436,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIED, IfcChangeAction_NOCHANGE, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5560,16 +5459,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_WATERCOOLED, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5584,16 +5482,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5620,16 +5517,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5648,16 +5544,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_PILASTER, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5678,16 +5573,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL, IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT, IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_OPTICALLINETERMINAL, IfcCommunicationsApplianceType_OPTICALNETWORKUNIT, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_RADIOBLOCKCENTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5700,16 +5594,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5736,16 +5629,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_BOOSTER, IfcCompressorType_DYNAMIC, IfcCompressorType_HERMETIC, IfcCompressorType_OPENTYPE, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARY, IfcCompressorType_ROTARYVANE, IfcCompressorType_SCROLL, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_SINGLESCREW, IfcCompressorType_SINGLESTAGE, IfcCompressorType_TROCHOIDAL, IfcCompressorType_TWINSCREW, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5763,16 +5655,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5797,16 +5688,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATEND, IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5828,16 +5718,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_ADVISORY, IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5856,16 +5745,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5885,16 +5773,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_USERDEFINED, IfcConstructionMaterialResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5907,16 +5794,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5935,31 +5821,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_MULTIPOSITION, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5983,16 +5867,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -6009,16 +5892,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6029,16 +5911,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6056,31 +5937,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_TENDER, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_FILTER, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6128,16 +6007,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_CLADDING, IfcCoveringType_COPING, IfcCoveringType_FLOORING, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_MOLDING, IfcCoveringType_ROOFING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_SLEEVING, IfcCoveringType_TOPPING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6150,16 +6028,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6173,16 +6050,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6204,16 +6080,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6235,16 +6110,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6257,16 +6131,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6328,16 +6201,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6350,16 +6222,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_NEGATIVE, IfcDirectionSense_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6373,31 +6244,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_FILLER, IfcDiscreteAccessoryType_FLASHING, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_POINTMACHINEMOUNTINGDEVICE, IfcDiscreteAccessoryType_POINT_MACHINE_LOCKING_DEVICE, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_DISPATCHINGBOARD, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6418,31 +6287,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6494,16 +6361,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MOBILENETWORK, IfcDistributionSystem_MONITORINGSYSTEM, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6520,16 +6386,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6537,16 +6402,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6584,16 +6448,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6605,16 +6468,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6626,16 +6488,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6809,16 +6670,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6839,16 +6699,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_BOOM_BARRIER, IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -7033,16 +6892,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_DOUBLE_PANEL_DOUBLE_SWING, IfcDoorTypeOperation_DOUBLE_PANEL_FOLDING, IfcDoorTypeOperation_DOUBLE_PANEL_LIFTING_VERTICAL, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_SLIDING, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_LIFTING_HORIZONTAL, IfcDoorTypeOperation_LIFTING_VERTICAL_LEFT, IfcDoorTypeOperation_LIFTING_VERTICAL_RIGHT, IfcDoorTypeOperation_REVOLVING_HORIZONTAL, IfcDoorTypeOperation_REVOLVING_VERTICAL, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -7080,16 +6938,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -7109,16 +6966,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -7133,46 +6989,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_CUT, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7206,16 +7059,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7230,16 +7082,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7254,31 +7105,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7293,16 +7142,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7318,16 +7166,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7341,16 +7188,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7374,16 +7220,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_GRID, IfcElementAssemblyType_MAST, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7400,16 +7245,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7422,16 +7266,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7452,16 +7295,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7479,16 +7321,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7505,16 +7346,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7530,16 +7370,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_STARTEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7560,46 +7399,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7618,16 +7454,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7641,16 +7476,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7668,16 +7502,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7695,16 +7528,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_FIREMONITOR, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7717,16 +7549,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SINK, IfcFlowDirection_SOURCE, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7747,16 +7578,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7776,16 +7606,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7804,16 +7633,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7831,31 +7659,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_BED, IfcFurnitureType_CHAIR, IfcFurnitureType_DESK, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TABLE, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_TERRAIN, IfcGeographicElementType_VEGETATION, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7901,31 +7727,29 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeotechnicalStratumTypeEnum : public express::DeclaredType { public: - IfcGeotechnicalStratumTypeEnum() {} - explicit IfcGeotechnicalStratumTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeotechnicalStratumType_SOLID, IfcGeotechnicalStratumType_VOID, IfcGeotechnicalStratumType_WATER, IfcGeotechnicalStratumType_USERDEFINED, IfcGeotechnicalStratumType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeotechnicalStratumTypeEnum initialize(Value v); + IfcGeotechnicalStratumTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7936,31 +7760,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_IRREGULAR, IfcGridType_RADIAL, IfcGridType_RECTANGULAR, IfcGridType_TRIANGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7974,16 +7796,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -8008,31 +7829,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -8047,16 +7866,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8116,16 +7934,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -8139,16 +7956,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -8160,31 +7976,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_UNIFORM_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8213,16 +8027,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8244,16 +8057,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8267,16 +8079,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8295,16 +8106,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8326,16 +8136,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8351,31 +8160,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8401,16 +8208,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8659,46 +8465,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_CANAL, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_REVETMENT, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_CHAMBER, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CORE, IfcMarinePartType_CREST, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_PROTECTION, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_STORAGEAREA, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_WATERFIELD, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8720,16 +8523,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8747,16 +8549,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8804,46 +8605,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_ARCH_SEGMENT, IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STAY_CABLE, IfcMemberType_STIFFENING_RIB, IfcMemberType_STRINGER, IfcMemberType_STRUCTURALCABLE, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_SUSPENDER, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER, IfcMobileTelecommunicationsApplianceType_MSCSERVER, IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT, IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8857,31 +8655,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -8889,16 +8685,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_ACTOR, IfcObjectType_CONTROL, IfcObjectType_GROUP, IfcObjectType_PROCESS, IfcObjectType_PRODUCT, IfcObjectType_PROJECT, IfcObjectType_RESOURCE, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8932,16 +8727,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8959,16 +8753,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8993,16 +8786,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -9020,31 +8812,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPavementTypeEnum : public express::DeclaredType { public: - IfcPavementTypeEnum() {} - explicit IfcPavementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPavementType_FLEXIBLE, IfcPavementType_RIGID, IfcPavementType_USERDEFINED, IfcPavementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPavementTypeEnum initialize(Value v); + IfcPavementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -9055,16 +8845,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -9091,16 +8880,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -9114,16 +8902,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9151,16 +8938,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -9187,16 +8973,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -9214,16 +8999,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_COHESION, IfcPileType_DRIVEN, IfcPileType_FRICTION, IfcPileType_JETGROUTING, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9259,16 +9043,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9288,16 +9071,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9320,31 +9102,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_BASE_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_CURTAIN_PANEL, IfcPlateType_FLANGE_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_SHEET, IfcPlateType_SPLICE_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9363,16 +9143,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9385,16 +9164,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_AREA, IfcProfileType_CURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9410,16 +9188,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9430,16 +9207,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9456,16 +9232,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9508,16 +9283,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_MATERIALDRIVEN, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_PSET_PROFILEDRIVEN, IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9529,16 +9303,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9558,16 +9331,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9600,31 +9372,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_BLADE, IfcRailType_CHECKRAIL, IfcRailType_GUARDRAIL, IfcRailType_RACKRAIL, IfcRailType_RAIL, IfcRailType_STOCKRAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9649,46 +9419,43 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_GUARDRAIL, IfcRailingType_HANDRAIL, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_PLAINTRACKSUPERSTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayTypeEnum : public express::DeclaredType { public: - IfcRailwayTypeEnum() {} - explicit IfcRailwayTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayType_USERDEFINED, IfcRailwayType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayTypeEnum initialize(Value v); + IfcRailwayTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9704,16 +9471,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_SPIRAL, IfcRampFlightType_STRAIGHT, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9766,16 +9532,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_HALF_TURN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9801,31 +9566,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_DAILY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_KILOPOINT, IfcReferentType_LANDMARK, IfcReferentType_MILEPOINT, IfcReferentType_POSITION, IfcReferentType_REFERENCEMARKER, IfcReferentType_STATION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9846,31 +9609,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PHYSICAL, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9894,16 +9655,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9917,76 +9677,71 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_BUS_STOP, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_LAYBY, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROADSIDE, IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_SHOULDER, IfcRoadPartType_SIDEWALK, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadTypeEnum : public express::DeclaredType { public: - IfcRoadTypeEnum() {} - explicit IfcRoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadType_USERDEFINED, IfcRoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadTypeEnum initialize(Value v); + IfcRoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -10020,16 +9775,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_ARCHITECT, IfcRole_BUILDINGOPERATOR, IfcRole_BUILDINGOWNER, IfcRole_CIVILENGINEER, IfcRole_CLIENT, IfcRole_COMMISSIONINGENGINEER, IfcRole_CONSTRUCTIONMANAGER, IfcRole_CONSULTANT, IfcRole_CONTRACTOR, IfcRole_COSTENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_ENGINEER, IfcRole_FACILITIESMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_MANUFACTURER, IfcRole_MECHANICALENGINEER, IfcRole_OWNER, IfcRole_PROJECTMANAGER, IfcRole_RESELLER, IfcRole_STRUCTURALENGINEER, IfcRole_SUBCONTRACTOR, IfcRole_SUPPLIER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -10100,16 +9854,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_BARREL_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FLAT_ROOF, IfcRoofType_FREEFORM, IfcRoofType_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -10141,16 +9894,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_ATTO, IfcSIPrefix_CENTI, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_EXA, IfcSIPrefix_FEMTO, IfcSIPrefix_GIGA, IfcSIPrefix_HECTO, IfcSIPrefix_KILO, IfcSIPrefix_MEGA, IfcSIPrefix_MICRO, IfcSIPrefix_MILLI, IfcSIPrefix_NANO, IfcSIPrefix_PETA, IfcSIPrefix_PICO, IfcSIPrefix_TERA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -10194,16 +9946,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10227,16 +9978,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10251,16 +10001,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_TAPERED, IfcSectionType_UNIFORM} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10293,16 +10042,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_COSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10312,16 +10060,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_FINISH_FINISH, IfcSequence_FINISH_START, IfcSequence_START_FINISH, IfcSequence_START_START, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10336,46 +10083,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_AWNING, IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_MIRROR, IfcSignType_PICTORAL, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_VISUAL, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10398,16 +10142,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_NUMBER, IfcSimplePropertyTemplateType_Q_TIME, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_WEIGHT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10444,16 +10187,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_APPROACH_SLAB, IfcSlabType_BASESLAB, IfcSlabType_FLOOR, IfcSlabType_LANDING, IfcSlabType_PAVING, IfcSlabType_ROOF, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_WEARING, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10467,16 +10209,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10493,16 +10234,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10542,16 +10282,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_BERTH, IfcSpaceType_EXTERNAL, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_PARKING, IfcSpaceType_SPACE, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10581,16 +10320,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_INTERFERENCE, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10604,16 +10342,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10633,16 +10370,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_SPIRAL, IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10740,16 +10476,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_CURVED_RUN_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_LADDER, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10767,16 +10502,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_LOCKED, IfcState_READONLY, IfcState_READONLYLOCKED, IfcState_READWRITE, IfcState_READWRITELOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10796,16 +10530,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10828,16 +10561,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10854,16 +10586,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10882,16 +10613,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10904,16 +10634,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10929,16 +10658,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10954,16 +10682,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_BOTH, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10984,16 +10711,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -11006,16 +10732,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -11043,16 +10768,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_OILRETENTIONTRAY, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -11064,16 +10788,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -11096,61 +10819,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ADJUSTMENT, IfcTaskType_ATTENDANCE, IfcTaskType_CALIBRATION, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_EMERGENCY, IfcTaskType_INSPECTION, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_SAFETY, IfcTaskType_SHUTDOWN, IfcTaskType_STARTUP, IfcTaskType_TESTING, IfcTaskType_TROUBLESHOOTING, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_COUPLER, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_DUCT, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -11162,16 +10881,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_DOWN, IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -11187,31 +10905,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SLEEPER, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11227,16 +10943,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11257,16 +10972,15 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE, IfcTransitionCode_DISCONTINUOUS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -11295,16 +11009,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_CRANEWAY, IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_HAULINGGEAR, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11320,16 +11033,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11342,16 +11054,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11392,16 +11103,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11422,16 +11132,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_BASESTATIONCONTROLLER, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11448,16 +11157,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11505,46 +11213,43 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_DRAWOFFCOCK, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVehicleTypeEnum : public express::DeclaredType { public: - IfcVehicleTypeEnum() {} - explicit IfcVehicleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVehicleType_CARGO, IfcVehicleType_ROLLINGSTOCK, IfcVehicleType_VEHICLE, IfcVehicleType_VEHICLEAIR, IfcVehicleType_VEHICLEMARINE, IfcVehicleType_VEHICLETRACKED, IfcVehicleType_VEHICLEWHEELED, IfcVehicleType_USERDEFINED, IfcVehicleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVehicleTypeEnum initialize(Value v); + IfcVehicleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11558,31 +11263,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVirtualElementTypeEnum : public express::DeclaredType { public: - IfcVirtualElementTypeEnum() {} - explicit IfcVirtualElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVirtualElementType_BOUNDARY, IfcVirtualElementType_CLEARANCE, IfcVirtualElementType_PROVISIONFORVOID, IfcVirtualElementType_USERDEFINED, IfcVirtualElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVirtualElementTypeEnum initialize(Value v); + IfcVirtualElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11601,16 +11304,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11652,16 +11354,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_ELEMENTEDWALL, IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_POLYGONAL, IfcWallType_RETAININGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11680,16 +11381,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11778,16 +11478,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11856,16 +11555,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11877,16 +11575,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -11965,16 +11662,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11995,16 +11691,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_LIGHTDOME, IfcWindowType_SKYLIGHT, IfcWindowType_WINDOW, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -12080,16 +11775,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -12105,16 +11799,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -12130,16 +11823,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -12155,16 +11847,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -12174,11 +11865,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -12188,11 +11878,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -12205,11 +11894,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -12219,31 +11907,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -12255,21 +11940,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -12279,11 +11962,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12331,11 +12013,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12351,11 +12032,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12408,11 +12088,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12423,11 +12102,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12438,11 +12116,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCountMeasure initialize(int v); operator int() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12454,11 +12131,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12469,11 +12145,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12496,11 +12171,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12517,11 +12191,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12560,11 +12233,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12575,11 +12247,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12591,11 +12262,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12605,11 +12275,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12619,11 +12288,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12634,11 +12302,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12648,11 +12315,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12662,11 +12328,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12676,11 +12341,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12692,11 +12356,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12706,11 +12369,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12720,11 +12382,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12734,11 +12395,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12757,11 +12417,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12778,11 +12437,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12810,11 +12468,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12824,11 +12481,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12838,11 +12494,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12860,11 +12515,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12874,11 +12528,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12886,11 +12539,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12909,11 +12561,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12923,11 +12574,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12937,11 +12587,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12953,11 +12602,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12969,11 +12617,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12981,11 +12628,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12995,11 +12641,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -13009,11 +12654,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -13032,11 +12676,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -13051,11 +12694,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -13067,21 +12709,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -13091,11 +12731,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -13105,11 +12744,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -13119,11 +12757,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -13133,11 +12770,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -13161,11 +12796,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -13177,11 +12811,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -13193,11 +12826,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -13207,11 +12839,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -13221,11 +12852,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -13235,11 +12865,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -13249,11 +12878,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -13265,11 +12893,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -13281,11 +12908,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -13295,11 +12921,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -13309,11 +12934,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -13323,11 +12947,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13341,11 +12964,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13355,11 +12977,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13369,11 +12990,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13383,11 +13003,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13396,11 +13015,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13461,11 +13079,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13475,11 +13092,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13490,11 +13106,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13502,11 +13117,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13518,11 +13132,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13532,11 +13145,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13552,21 +13164,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13577,11 +13187,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13592,11 +13201,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13606,11 +13214,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13624,11 +13231,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13638,21 +13244,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13662,11 +13266,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13681,11 +13284,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13697,11 +13299,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13711,11 +13312,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13726,11 +13326,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13740,11 +13339,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13754,11 +13352,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13768,11 +13365,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13782,11 +13378,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13798,21 +13393,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13822,21 +13415,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13846,11 +13437,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13860,11 +13450,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13876,11 +13465,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13894,11 +13482,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13908,11 +13495,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13922,11 +13508,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13942,11 +13527,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13961,11 +13545,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13983,11 +13566,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -14011,11 +13593,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -14030,11 +13611,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -14044,11 +13624,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -14058,11 +13637,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -14071,11 +13649,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -14084,11 +13661,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -14098,11 +13674,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -14114,11 +13689,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -14131,11 +13705,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -14147,11 +13720,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -14160,11 +13732,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -14174,11 +13745,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -14190,11 +13760,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -14204,11 +13773,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -14220,11 +13788,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -14234,11 +13801,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -14248,11 +13814,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -14262,11 +13827,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -14296,11 +13860,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14310,11 +13873,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14325,11 +13887,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14346,8 +13907,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14365,7 +13925,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14374,8 +13934,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > Purpose() const; @@ -14393,13 +13952,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14407,13 +13965,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14431,15 +13988,14 @@ public: void setPredefinedType(const ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3::IfcOrganization ApplicationDeveloper() const; @@ -14455,7 +14011,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14473,8 +14029,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14513,7 +14068,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14522,8 +14077,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14565,7 +14119,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14584,15 +14138,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14606,8 +14159,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14629,7 +14181,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14643,8 +14195,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14657,7 +14208,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14671,8 +14222,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14694,7 +14244,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14707,15 +14257,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14733,12 +14282,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14758,8 +14306,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14769,7 +14316,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14781,8 +14328,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14792,7 +14338,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14802,8 +14348,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14813,7 +14358,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14829,8 +14374,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14860,7 +14404,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14910,8 +14454,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14921,7 +14464,7 @@ public: void setTargetCRS(const ::Ifc4x3::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14947,8 +14490,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14973,7 +14515,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -15019,12 +14561,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -15035,8 +14576,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3::IfcDerivedUnitElement > Elements() const; @@ -15050,7 +14590,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -15063,8 +14603,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3::IfcNamedUnit Unit() const; @@ -15074,7 +14613,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -15095,8 +14634,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -15121,7 +14659,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -15131,12 +14669,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -15149,8 +14686,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -15174,7 +14710,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -15186,12 +14722,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -15202,12 +14737,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -15218,12 +14752,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -15250,8 +14783,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -15268,15 +14800,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15286,7 +14817,7 @@ public: void setListValues(const std::vector< ::Ifc4x3::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -15298,8 +14829,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15326,7 +14856,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15337,8 +14867,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15356,7 +14885,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15375,8 +14904,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15391,15 +14919,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15409,7 +14936,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15424,8 +14951,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15458,7 +14984,7 @@ public: void setScaleZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); + IfcMapConversion initialize(::Ifc4x3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15467,8 +14993,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3::IfcClassificationSelect > MaterialClassifications() const; @@ -15478,7 +15003,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15506,15 +15031,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15541,8 +15065,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3::IfcMaterial Material() const; @@ -15576,7 +15099,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15613,8 +15136,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3::IfcMaterialLayer > MaterialLayers() const; @@ -15629,7 +15151,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15676,8 +15198,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15687,7 +15208,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15708,15 +15229,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15725,8 +15245,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15749,7 +15268,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15758,8 +15277,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15778,7 +15296,7 @@ public: void setCompositeProfile(const ::Ifc4x3::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15787,15 +15305,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, ::Ifc4x3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15830,13 +15347,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15850,8 +15366,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3::IfcValue ValueComponent() const; @@ -15861,7 +15376,7 @@ public: void setUnitComponent(const ::Ifc4x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcValue v1_ValueComponent, ::Ifc4x3::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3::IfcValue v1_ValueComponent, ::Ifc4x3::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15917,8 +15432,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3::IfcBenchmarkEnum::Value Benchmark() const; @@ -15933,7 +15447,7 @@ public: void setReferencePath(const ::Ifc4x3::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15942,15 +15456,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15959,8 +15472,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3::IfcDimensionalExponents Dimensions() const; @@ -15970,7 +15482,7 @@ public: void setUnitType(const ::Ifc4x3::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15985,8 +15497,7 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3::IfcObjectPlacement& v); @@ -15994,7 +15505,7 @@ public: std::vector< IfcObjectPlacement > ReferencedByPlacements() const; // INVERSE IfcObjectPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -16007,8 +15518,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3::IfcConstraint > > BenchmarkValues() const; @@ -16023,7 +15533,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -16035,8 +15545,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -16059,7 +15568,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -16073,8 +15582,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3::IfcPersonAndOrganization OwningUser() const; @@ -16102,7 +15610,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -16115,8 +15623,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -16151,7 +15658,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -16160,8 +15667,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3::IfcPerson ThePerson() const; @@ -16174,7 +15680,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPerson v1_ThePerson, ::Ifc4x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3::IfcPerson v1_ThePerson, ::Ifc4x3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -16183,8 +15689,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -16196,7 +15701,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -16209,23 +15714,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -16256,17 +15759,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -16285,8 +15787,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16302,7 +15803,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16319,8 +15820,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16340,7 +15840,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16349,15 +15849,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16378,8 +15877,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16392,7 +15890,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16566,8 +16064,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3::IfcProfileTypeEnum::Value ProfileType() const; @@ -16579,7 +16076,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16606,8 +16103,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16627,18 +16123,17 @@ public: void setMapUnit(const ::Ifc4x3::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16688,8 +16183,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16702,7 +16196,7 @@ public: void setUnit(const ::Ifc4x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3::IfcValue > v2_EnumerationValues, ::Ifc4x3::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3::IfcValue > v2_EnumerationValues, ::Ifc4x3::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16711,8 +16205,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16724,7 +16217,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16733,8 +16226,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. int CountValue() const; @@ -16746,7 +16238,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16755,8 +16247,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16768,13 +16259,12 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; class IFC_PARSE_API IfcQuantityNumber : public IfcPhysicalSimpleQuantity { public: - IfcQuantityNumber() {} - explicit IfcQuantityNumber (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; double NumberValue() const; void setNumberValue(const double& v); @@ -16782,7 +16272,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); + IfcQuantityNumber initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16791,8 +16281,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16804,7 +16293,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16813,8 +16302,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16826,7 +16314,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16835,8 +16323,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16848,7 +16335,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16858,8 +16345,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16900,13 +16386,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16920,7 +16405,7 @@ public: void setInnerReference(const ::Ifc4x3::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16970,8 +16455,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3::IfcRepresentationContext ContextOfItems() const; @@ -16991,7 +16475,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -17005,8 +16489,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -17017,7 +16500,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -17053,14 +16536,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -17075,8 +16557,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -17089,15 +16570,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -17107,7 +16587,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -17120,8 +16600,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -17141,7 +16620,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -17152,8 +16631,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3::IfcSIPrefix::Value > Prefix() const; @@ -17165,15 +16643,14 @@ public: void setName(const ::Ifc4x3::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -17187,7 +16664,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -17228,8 +16705,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -17253,7 +16729,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17275,13 +16751,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17420,42 +16895,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17470,8 +16942,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3::IfcStructuralLoadOrResult > Values() const; @@ -17481,31 +16952,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17514,8 +16983,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17534,7 +17002,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17543,12 +17011,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17580,8 +17047,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17601,7 +17067,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17612,12 +17078,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17626,8 +17091,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17640,7 +17104,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17651,8 +17115,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3::IfcSurfaceSide::Value Side() const; @@ -17662,7 +17125,7 @@ public: void setStyles(const std::vector< ::Ifc4x3::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17677,8 +17140,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17698,7 +17160,7 @@ public: void setReflectanceColour(const ::Ifc4x3::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17707,8 +17169,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17718,7 +17179,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17729,8 +17190,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3::IfcColourRgb SurfaceColour() const; @@ -17739,7 +17199,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17761,15 +17221,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17865,8 +17324,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17898,7 +17356,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17917,8 +17375,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17931,7 +17388,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17940,8 +17397,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17959,7 +17415,7 @@ public: void setReferencePath(const ::Ifc4x3::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit v4_Unit, ::Ifc4x3::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit v4_Unit, ::Ifc4x3::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17976,8 +17432,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3::IfcValue > > RowCells() const; @@ -17987,7 +17442,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17999,8 +17454,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -18109,21 +17563,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -18133,8 +17586,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -18159,7 +17611,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -18191,8 +17643,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -18213,7 +17664,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -18234,8 +17685,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3::IfcColour Colour() const; @@ -18245,7 +17695,7 @@ public: void setBackgroundColour(const ::Ifc4x3::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcColour v1_Colour, ::Ifc4x3::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3::IfcColour v1_Colour, ::Ifc4x3::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -18256,8 +17706,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18289,7 +17738,7 @@ public: void setLineHeight(const ::Ifc4x3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18304,14 +17753,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18341,8 +17789,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18356,13 +17803,12 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; class IFC_PARSE_API IfcTextureCoordinateIndices : public express::Entity { public: - IfcTextureCoordinateIndices() {} - explicit IfcTextureCoordinateIndices (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< int > /*[3:?]*/ TexCoordIndex() const; void setTexCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -18371,19 +17817,18 @@ public: std::vector< IfcIndexedPolygonalTextureMap > ToTexMap() const; // INVERSE IfcIndexedPolygonalTextureMap::TexCoordIndices static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf); + IfcTextureCoordinateIndices initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf); }; class IFC_PARSE_API IfcTextureCoordinateIndicesWithVoids : public IfcTextureCoordinateIndices { public: - IfcTextureCoordinateIndicesWithVoids() {} - explicit IfcTextureCoordinateIndicesWithVoids (const std::weak_ptr& data) : IfcTextureCoordinateIndices(data) {} + using IfcTextureCoordinateIndices::IfcTextureCoordinateIndices; std::vector< std::vector< int > > InnerTexCoordIndices() const; void setInnerTexCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); + IfcTextureCoordinateIndicesWithVoids initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18438,8 +17883,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18450,7 +17894,7 @@ public: void setMappedTo(const ::Ifc4x3::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3::IfcTextureVertex > v2_Vertices, ::Ifc4x3::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3::IfcTextureVertex > v2_Vertices, ::Ifc4x3::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18481,27 +17925,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18511,8 +17953,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18522,7 +17963,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18531,8 +17972,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18561,7 +18001,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18574,15 +18014,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18591,12 +18030,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18634,12 +18072,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18648,15 +18085,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18670,12 +18106,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18688,15 +18123,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18759,8 +18193,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3::IfcGridAxis > IntersectingAxes() const; @@ -18770,7 +18203,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18782,8 +18215,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18796,13 +18228,12 @@ public: void setFinishDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18820,13 +18251,12 @@ public: void setPredefinedType(const ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3::IfcCartesianPoint& v); @@ -18844,7 +18274,7 @@ public: void setPredefinedType(const ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18855,8 +18285,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3::IfcApproval RelatingApproval() const; @@ -18866,7 +18295,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18888,15 +18317,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18915,15 +18343,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18946,15 +18373,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18967,8 +18393,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18978,7 +18403,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -19011,15 +18436,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -19038,8 +18462,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -19090,7 +18513,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -19115,8 +18538,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3::IfcClassificationReferenceSelect ReferencedSource() const; @@ -19132,19 +18554,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -19153,8 +18574,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -19164,7 +18584,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -19204,8 +18624,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3::IfcProfileDef > Profiles() const; @@ -19215,7 +18634,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -19228,15 +18647,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -19253,8 +18671,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19264,7 +18681,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19287,8 +18704,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19301,7 +18717,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19312,8 +18728,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19321,7 +18736,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19372,8 +18787,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19384,7 +18798,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19406,15 +18820,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19429,8 +18842,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19451,7 +18863,7 @@ public: void setRateSource(const ::Ifc4x3::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19472,8 +18884,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19488,7 +18899,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19497,8 +18908,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19508,7 +18918,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19523,8 +18933,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19536,7 +18945,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19545,8 +18954,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19560,7 +18968,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19648,8 +19056,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3::IfcProfileDef ParentProfile() const; @@ -19662,15 +19069,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19742,7 +19148,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19754,8 +19160,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3::IfcDocumentInformation RelatingDocument() const; @@ -19768,7 +19173,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19783,8 +19188,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19797,7 +19201,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19850,8 +19254,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3::IfcVertex EdgeStart() const; @@ -19861,7 +19264,7 @@ public: void setEdgeEnd(const ::Ifc4x3::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19898,8 +19301,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3::IfcCurve EdgeGeometry() const; @@ -19909,7 +19311,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19936,8 +19338,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19955,13 +19356,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19971,7 +19371,7 @@ public: void setProperties(const std::vector< ::Ifc4x3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19982,8 +19382,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19995,7 +19394,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -20043,8 +19442,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3::IfcFaceBound > Bounds() const; @@ -20052,7 +19450,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -20061,8 +19459,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3::IfcLoop Bound() const; @@ -20072,7 +19469,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -20081,12 +19478,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -20126,8 +19522,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3::IfcSurface FaceSurface() const; @@ -20137,7 +19532,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -20148,8 +19543,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -20171,7 +19565,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -20209,8 +19603,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3::IfcFillStyleSelect > FillStyles() const; @@ -20219,7 +19612,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20270,8 +19663,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20291,7 +19683,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20314,12 +19706,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20336,8 +19727,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3::IfcGeometricRepresentationContext ParentContext() const; @@ -20363,7 +19753,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20374,15 +19764,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20431,8 +19820,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3::IfcVirtualGridIntersection PlacementLocation() const; @@ -20444,7 +19832,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20463,8 +19851,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3::IfcSurface BaseSurface() const; @@ -20474,7 +19861,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20513,21 +19900,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3::IfcTessellatedFaceSet& v); @@ -20539,13 +19924,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3::IfcTessellatedFaceSet& v); @@ -20553,19 +19937,18 @@ public: void setTexCoords(const ::Ifc4x3::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20574,15 +19957,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, std::vector< ::Ifc4x3::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20623,8 +20005,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20636,7 +20017,7 @@ public: void setDurationType(const ::Ifc4x3::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20647,8 +20028,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20665,7 +20045,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20676,12 +20056,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20694,8 +20073,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20703,7 +20081,7 @@ public: void setOrientation(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20714,8 +20092,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3::IfcAxis2Placement3D Position() const; @@ -20737,7 +20114,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcAxis2Placement3D v5_Position, ::Ifc4x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcAxis2Placement3D v5_Position, ::Ifc4x3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20756,8 +20133,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20778,7 +20154,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20797,8 +20173,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20817,13 +20192,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3::IfcAxis2PlacementLinear RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3::IfcAxis2PlacementLinear& v); @@ -20831,7 +20205,7 @@ public: void setCartesianPosition(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3::IfcAxis2Placement3D v3_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3::IfcAxis2Placement3D v3_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20887,15 +20261,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20925,12 +20298,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20953,8 +20325,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3::IfcRepresentationMap MappingSource() const; @@ -20964,7 +20335,7 @@ public: void setMappingTarget(const ::Ifc4x3::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20995,8 +20366,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -21022,7 +20392,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -21031,8 +20401,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -21052,7 +20421,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -21070,8 +20439,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -21084,7 +20452,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -21118,15 +20486,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations, ::Ifc4x3::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations, ::Ifc4x3::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -21230,8 +20597,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3::IfcMaterialLayerSet ForLayerSet() const; @@ -21262,7 +20628,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21273,8 +20639,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3::IfcMaterialProfileSet ForProfileSet() const; @@ -21292,7 +20657,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21321,8 +20686,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21332,7 +20696,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21358,8 +20722,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21368,15 +20731,14 @@ public: void setMaterial(const ::Ifc4x3::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3::IfcMaterial RelatingMaterial() const; @@ -21388,7 +20750,7 @@ public: void setMaterialExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21419,12 +20781,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21478,8 +20839,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21490,13 +20850,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21510,7 +20869,7 @@ public: void setOffsetPoint(const ::Ifc4x3::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3::IfcCartesianPoint v7_OffsetPoint); + IfcOpenCrossProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3::IfcCartesianPoint v7_OffsetPoint); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21573,12 +20932,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21588,8 +20946,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3::IfcOrganization RelatingOrganization() const; @@ -21599,7 +20956,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21610,8 +20967,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3::IfcEdge EdgeElement() const; @@ -21621,7 +20977,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21667,15 +21023,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21693,15 +21048,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21714,8 +21068,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3::IfcPhysicalQuantity > HasQuantities() const; @@ -21731,7 +21084,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21753,8 +21106,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21772,7 +21124,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21785,15 +21137,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3::IfcPoint Location() const; void setLocation(const ::Ifc4x3::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21802,8 +21153,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21813,7 +21163,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21822,18 +21172,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3::IfcCurveMeasureSelect& v); @@ -21847,7 +21195,7 @@ public: void setBasisCurve(const ::Ifc4x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21860,8 +21208,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3::IfcCurve BasisCurve() const; @@ -21871,7 +21218,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21884,8 +21231,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3::IfcSurface BasisSurface() const; @@ -21898,7 +21244,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21941,15 +21287,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -22009,8 +21354,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3::IfcAxis2Placement3D Position() const; @@ -22022,7 +21366,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcAxis2Placement3D v3_Position, ::Ifc4x3::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcAxis2Placement3D v3_Position, ::Ifc4x3::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -22033,25 +21377,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -22066,12 +21408,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -22087,14 +21428,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -22109,23 +21449,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcProperty > v3_Properties, ::Ifc4x3::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -22140,7 +21478,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -22194,14 +21532,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -22213,8 +21550,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3::IfcProperty DependingProperty() const; @@ -22227,7 +21563,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty v3_DependingProperty, ::Ifc4x3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty v3_DependingProperty, ::Ifc4x3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22273,15 +21609,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22310,22 +21645,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22363,8 +21696,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22374,7 +21706,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22383,8 +21715,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22394,7 +21725,7 @@ public: void setValues(const std::vector< ::Ifc4x3::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22403,8 +21734,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22426,7 +21756,7 @@ public: void setBarCount(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22438,12 +21768,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22453,8 +21782,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22464,7 +21792,7 @@ public: void setRelatingApproval(const ::Ifc4x3::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22488,8 +21816,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3::IfcConstraint RelatingConstraint() const; @@ -22499,14 +21826,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22555,7 +21881,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22596,15 +21922,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22613,8 +21938,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3::IfcSectionTypeEnum::Value SectionType() const; @@ -22627,7 +21951,7 @@ public: void setEndProfile(const ::Ifc4x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3::IfcProfileDef v2_StartProfile, ::Ifc4x3::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3::IfcProfileDef v2_StartProfile, ::Ifc4x3::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22638,8 +21962,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22661,7 +21984,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22718,8 +22041,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3::IfcCompositeCurve SpineCurve() const; @@ -22732,20 +22054,19 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3::IfcTransitionCode::Value& v); std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22761,26 +22082,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22793,8 +22112,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22807,7 +22125,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22816,12 +22134,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22830,8 +22147,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22853,7 +22169,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22862,8 +22178,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22876,7 +22191,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22885,8 +22200,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22908,22 +22222,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22933,8 +22246,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22956,7 +22268,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22968,15 +22280,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22990,15 +22301,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3::IfcVertex v1_EdgeStart, ::Ifc4x3::IfcVertex v2_EdgeEnd, ::Ifc4x3::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -23012,12 +22322,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -23066,8 +22375,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -23102,7 +22410,7 @@ public: void setReflectanceMethod(const ::Ifc4x3::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -23124,8 +22432,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3::IfcProfileDef SweptArea() const; @@ -23135,7 +22442,7 @@ public: void setPosition(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -23192,8 +22499,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3::IfcCurve Directrix() const; @@ -23216,7 +22522,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -23230,15 +22536,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -23247,8 +22552,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3::IfcProfileDef SweptCurve() const; @@ -23258,7 +22562,7 @@ public: void setPosition(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23290,8 +22594,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23322,17 +22625,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23346,8 +22648,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23361,7 +22662,7 @@ public: void setPath(const ::Ifc4x3::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23374,8 +22675,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3::IfcPlanarExtent Extent() const; @@ -23385,7 +22685,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path, ::Ifc4x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path, ::Ifc4x3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23454,8 +22754,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23477,7 +22776,7 @@ public: void setFontSize(const ::Ifc4x3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23519,8 +22818,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23536,7 +22834,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23571,8 +22869,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23591,7 +22888,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23623,8 +22920,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23640,7 +22936,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23710,8 +23006,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > RepresentationMaps() const; @@ -23722,7 +23017,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23738,8 +23033,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23755,7 +23049,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23787,8 +23081,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23813,7 +23106,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23824,8 +23117,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3::IfcDirection Orientation() const; @@ -23835,7 +23127,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23851,15 +23143,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3::IfcVertex v1_LoopVertex); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23888,8 +23179,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23911,7 +23201,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23928,12 +23218,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3::IfcFaceBound > v1_Bounds, ::Ifc4x3::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23957,8 +23246,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23972,7 +23260,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -24013,8 +23301,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -24045,7 +23332,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -24058,15 +23345,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3::IfcDirection Axis() const; void setAxis(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -24081,15 +23367,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -24106,8 +23391,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3::IfcDirection Axis() const; @@ -24117,13 +23401,12 @@ public: void setRefDirection(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3::IfcDirection Axis() const; void setAxis(const ::Ifc4x3::IfcDirection& v); @@ -24131,7 +23414,7 @@ public: void setRefDirection(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3::IfcPoint v1_Location, ::Ifc4x3::IfcDirection v2_Axis, ::Ifc4x3::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -24161,8 +23444,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3::IfcBooleanOperator::Value Operator() const; @@ -24175,7 +23457,7 @@ public: void setSecondOperand(const ::Ifc4x3::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -24191,12 +23473,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -24222,8 +23503,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3::IfcCartesianPoint Corner() const; @@ -24239,7 +23519,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24273,15 +23553,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24307,8 +23586,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24327,7 +23605,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24338,31 +23616,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24370,13 +23645,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24384,7 +23658,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24418,8 +23692,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3::IfcDirection Axis1() const; @@ -24435,7 +23708,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24444,12 +23717,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24463,15 +23735,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24480,15 +23751,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24503,8 +23773,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24514,7 +23783,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3::IfcDirection v1_Axis1, ::Ifc4x3::IfcDirection v2_Axis2, ::Ifc4x3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24530,15 +23799,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24591,12 +23859,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24608,8 +23875,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24628,7 +23894,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24637,8 +23903,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24649,7 +23914,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24660,8 +23925,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24673,7 +23937,7 @@ public: void setParentCurve(const ::Ifc4x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24692,8 +23956,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > >& v); @@ -24701,7 +23964,7 @@ public: void setBaseQuantity(const ::Ifc4x3::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24718,8 +23981,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24744,7 +24006,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24758,15 +24020,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24775,15 +24036,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24828,15 +24088,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24850,12 +24109,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24872,8 +24130,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3::IfcPlane BasisSurface() const; @@ -24886,7 +24143,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPlane v1_BasisSurface, ::Ifc4x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3::IfcPlane v1_BasisSurface, ::Ifc4x3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24911,8 +24168,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3::IfcSurface BasisSurface() const; @@ -24924,13 +24180,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3::IfcPlacement Placement() const; void setPlacement(const ::Ifc4x3::IfcPlacement& v); @@ -24942,7 +24197,7 @@ public: void setParentCurve(const ::Ifc4x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3::IfcPlacement v2_Placement, ::Ifc4x3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3::IfcCurve v5_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3::IfcPlacement v2_Placement, ::Ifc4x3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3::IfcCurve v5_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24953,21 +24208,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3::IfcCurve& v); @@ -24977,7 +24230,7 @@ public: void setEndParam(const ::Ifc4x3::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24992,15 +24245,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -25081,8 +24333,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -25094,7 +24345,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -25120,15 +24371,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -25137,15 +24387,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -25165,8 +24414,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -25176,7 +24424,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -25186,8 +24434,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -25204,7 +24451,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25276,8 +24523,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3::IfcDirection ExtrudedDirection() const; @@ -25288,7 +24534,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25390,15 +24636,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25414,15 +24659,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25473,8 +24717,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3::IfcCurveStyle HatchLineAppearance() const; @@ -25501,7 +24744,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25510,8 +24753,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3::IfcVector > TilingPattern() const; @@ -25524,7 +24766,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25586,15 +24828,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25626,12 +24867,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25672,8 +24912,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25682,7 +24921,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25747,15 +24986,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25766,12 +25004,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25838,8 +25075,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25862,13 +25098,12 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -25876,31 +25111,29 @@ public: std::vector< IfcTextureCoordinateIndices > HasTexCoords() const; // INVERSE IfcTextureCoordinateIndices::TexCoordsOf static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; class IFC_PARSE_API IfcIndexedPolygonalTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedPolygonalTextureMap() {} - explicit IfcIndexedPolygonalTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::vector< ::Ifc4x3::IfcTextureCoordinateIndices > TexCoordIndices() const; void setTexCoordIndices(const std::vector< ::Ifc4x3::IfcTextureCoordinateIndices >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3::IfcTextureCoordinateIndices > v4_TexCoordIndices); + IfcIndexedPolygonalTextureMap initialize(std::vector< ::Ifc4x3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3::IfcTextureCoordinateIndices > v4_TexCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25955,8 +25188,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25978,7 +25210,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25993,15 +25225,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -26018,8 +25249,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3::IfcCartesianPoint Pnt() const; @@ -26029,7 +25259,7 @@ public: void setDir(const ::Ifc4x3::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPoint v1_Pnt, ::Ifc4x3::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3::IfcCartesianPoint v1_Pnt, ::Ifc4x3::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -26096,15 +25326,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -26190,8 +25419,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -26202,19 +25430,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -26229,8 +25456,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -26240,7 +25466,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -26259,8 +25485,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26273,13 +25498,12 @@ public: void setRefDirection(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3::IfcPointByDistanceExpression >& v); @@ -26287,7 +25511,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26298,8 +25522,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3::IfcSurface& v); @@ -26307,7 +25530,7 @@ public: void setReferenceCurve(const ::Ifc4x3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BasisSurface, ::Ifc4x3::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3::IfcSurface v1_BasisSurface, ::Ifc4x3::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26317,8 +25540,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26326,7 +25548,7 @@ public: void setPlacement(const ::Ifc4x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26366,18 +25588,16 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position); }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: - IfcPolynomialCurve() {} - explicit IfcPolynomialCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3::IfcPlacement Position() const; void setPosition(const ::Ifc4x3::IfcPlacement& v); @@ -26389,7 +25609,7 @@ public: void setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); + IfcPolynomialCurve initialize(::Ifc4x3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26398,12 +25618,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26414,12 +25633,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26443,12 +25661,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26465,8 +25682,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26474,7 +25690,7 @@ public: void setPredefinedType(const ::Ifc4x3::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26518,8 +25734,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26537,7 +25752,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26632,8 +25847,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3::IfcObjectPlacement ObjectPlacement() const; @@ -26646,7 +25860,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26694,12 +25908,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26727,12 +25940,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26840,8 +26052,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3::IfcValue UpperBoundValue() const; @@ -26859,7 +26070,7 @@ public: void setSetPointValue(const ::Ifc4x3::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_UpperBoundValue, ::Ifc4x3::IfcValue v4_LowerBoundValue, ::Ifc4x3::IfcUnit v5_Unit, ::Ifc4x3::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_UpperBoundValue, ::Ifc4x3::IfcValue v4_LowerBoundValue, ::Ifc4x3::IfcUnit v5_Unit, ::Ifc4x3::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26940,8 +26151,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26953,7 +26163,7 @@ public: void setEnumerationReference(const ::Ifc4x3::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -27022,8 +26232,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -27035,7 +26244,7 @@ public: void setUnit(const ::Ifc4x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_ListValues, ::Ifc4x3::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_ListValues, ::Ifc4x3::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -27054,8 +26263,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -27067,7 +26275,7 @@ public: void setPropertyReference(const ::Ifc4x3::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -27124,15 +26332,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -27167,8 +26374,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -27192,7 +26398,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -27240,8 +26446,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -27255,7 +26460,7 @@ public: void setUnit(const ::Ifc4x3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_NominalValue, ::Ifc4x3::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue v3_NominalValue, ::Ifc4x3::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27375,8 +26580,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27404,7 +26608,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit v6_DefiningUnit, ::Ifc4x3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit v6_DefiningUnit, ::Ifc4x3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27432,14 +26636,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27463,8 +26666,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27477,7 +26679,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27569,8 +26771,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27583,7 +26784,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27602,8 +26803,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3::IfcSurface BasisSurface() const; @@ -27628,7 +26828,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27658,8 +26858,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27669,7 +26868,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27684,8 +26883,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3::IfcObjectDefinition > RelatedObjects() const; @@ -27696,7 +26894,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27709,8 +26907,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3::IfcActor RelatingActor() const; @@ -27720,7 +26917,7 @@ public: void setActingRole(const ::Ifc4x3::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcActor v7_RelatingActor, ::Ifc4x3::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcActor v7_RelatingActor, ::Ifc4x3::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27729,15 +26926,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27754,15 +26950,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27775,15 +26970,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27809,8 +27003,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27822,7 +27015,7 @@ public: void setQuantityInProcess(const ::Ifc4x3::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27834,8 +27027,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27844,7 +27036,7 @@ public: void setRelatingProduct(const ::Ifc4x3::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27854,8 +27046,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27864,7 +27055,7 @@ public: void setRelatingResource(const ::Ifc4x3::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27909,8 +27100,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27919,22 +27109,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27968,23 +27157,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27994,7 +27181,7 @@ public: void setRelatingConstraint(const ::Ifc4x3::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -28005,15 +27192,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -28024,15 +27210,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -28130,39 +27315,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -28188,8 +27370,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3::IfcConnectionGeometry ConnectionGeometry() const; @@ -28202,7 +27383,7 @@ public: void setRelatedElement(const ::Ifc4x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -28236,8 +27417,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -28253,7 +27433,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28282,8 +27462,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3::IfcPort RelatingPort() const; @@ -28295,7 +27474,7 @@ public: void setRelatedElement(const ::Ifc4x3::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28312,8 +27491,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3::IfcPort RelatingPort() const; @@ -28326,15 +27504,14 @@ public: void setRealizingElement(const ::Ifc4x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcPort v6_RelatedPort, ::Ifc4x3::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPort v5_RelatingPort, ::Ifc4x3::IfcPort v6_RelatedPort, ::Ifc4x3::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28344,7 +27521,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28372,8 +27549,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3::IfcStructuralMember RelatingStructuralMember() const; @@ -28395,7 +27571,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28416,15 +27592,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28451,8 +27626,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3::IfcElement > RealizingElements() const; @@ -28462,7 +27636,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3::IfcElement v6_RelatingElement, ::Ifc4x3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28526,8 +27700,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28539,7 +27712,7 @@ public: void setRelatingStructure(const ::Ifc4x3::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProduct > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcProduct > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28559,8 +27732,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28572,7 +27744,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28602,8 +27774,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28615,7 +27786,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28630,8 +27801,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3::IfcContext RelatingContext() const; @@ -28641,7 +27811,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28675,12 +27845,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28711,12 +27880,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28735,8 +27903,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3::IfcObject > RelatedObjects() const; @@ -28746,7 +27913,7 @@ public: void setRelatingObject(const ::Ifc4x3::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28765,8 +27932,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3::IfcObjectDefinition > RelatedObjects() const; @@ -28776,7 +27942,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28792,8 +27958,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28803,7 +27968,7 @@ public: void setRelatingTemplate(const ::Ifc4x3::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28876,8 +28041,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3::IfcObject >& v); @@ -28886,7 +28050,7 @@ public: void setRelatingType(const ::Ifc4x3::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcObject > v5_RelatedObjects, ::Ifc4x3::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28899,8 +28063,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3::IfcOpeningElement RelatingOpeningElement() const; @@ -28912,7 +28075,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28923,8 +28086,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3::IfcDistributionControlElement > RelatedControlElements() const; @@ -28934,7 +28096,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28985,8 +28147,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3::IfcInterferenceSelect RelatingElement() const; @@ -29007,7 +28168,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -29036,8 +28197,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -29051,13 +28211,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3::IfcPositioningElement& v); @@ -29065,7 +28224,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -29101,8 +28260,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3::IfcElement RelatingElement() const; @@ -29112,7 +28270,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -29165,8 +28323,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -29179,7 +28336,7 @@ public: void setRelatingStructure(const ::Ifc4x3::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -29237,8 +28394,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3::IfcProcess RelatingProcess() const; @@ -29267,7 +28423,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcProcess v5_RelatingProcess, ::Ifc4x3::IfcProcess v6_RelatedProcess, ::Ifc4x3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcProcess v5_RelatingProcess, ::Ifc4x3::IfcProcess v6_RelatedProcess, ::Ifc4x3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29292,8 +28448,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3::IfcSystem RelatingSystem() const; @@ -29307,7 +28462,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29473,8 +28628,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29499,7 +28653,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29550,8 +28704,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29559,7 +28712,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29595,8 +28748,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29604,7 +28756,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29615,8 +28767,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3::IfcElement& v); @@ -29624,7 +28775,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29651,14 +28802,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29675,8 +28825,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29692,7 +28841,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29772,8 +28921,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3::IfcAxis1Placement Axis() const; @@ -29783,7 +28931,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29845,14 +28993,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29921,8 +29068,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29932,7 +29078,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30017,8 +29163,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -30028,13 +29173,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3::IfcCurve& v); @@ -30042,25 +29186,23 @@ public: void setCrossSections(const std::vector< ::Ifc4x3::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3::IfcAxis2PlacementLinear >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v3_CrossSectionPositions); + IfcSectionedSolidHorizontal initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3::IfcCurve& v); @@ -30070,7 +29212,7 @@ public: void setCrossSections(const std::vector< ::Ifc4x3::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3::IfcProfileDef > v3_CrossSections); + IfcSectionedSurface initialize(::Ifc4x3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3::IfcProfileDef > v3_CrossSections); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -30119,8 +29261,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -30171,7 +29312,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3::IfcUnit v9_PrimaryUnit, ::Ifc4x3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3::IfcUnit v9_PrimaryUnit, ::Ifc4x3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -30206,8 +29347,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -30221,7 +29361,7 @@ public: std::vector< IfcRelInterferesElements > InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -30256,15 +29396,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30342,8 +29481,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30353,7 +29491,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30391,12 +29529,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30449,15 +29586,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30491,8 +29627,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30501,7 +29636,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30555,39 +29690,36 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - IfcSpiral() {} - explicit IfcSpiral (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position); + IfcSpiral initialize(::Ifc4x3::IfcAxis2Placement v1_Position); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30684,8 +29816,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30714,7 +29845,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30805,13 +29936,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30819,13 +29949,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30849,12 +29978,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30878,8 +30006,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30889,7 +30016,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30911,12 +30038,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30942,15 +30068,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30965,21 +30090,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3::IfcCurve& v); @@ -30989,7 +30112,7 @@ public: void setMasterRepresentation(const ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -31055,15 +30178,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -31080,8 +30202,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3::IfcDirection ExtrudedDirection() const; @@ -31091,7 +30212,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -31112,15 +30233,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3::IfcProfileDef v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -31154,14 +30274,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31410,8 +30529,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31454,7 +30572,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31498,8 +30616,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31510,13 +30627,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3::IfcCartesianPointList3D& v); @@ -31526,13 +30642,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed); + IfcTessellatedFaceSet initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed); }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - IfcThirdOrderPolynomialSpiral() {} - explicit IfcThirdOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CubicTerm() const; void setCubicTerm(const double& v); @@ -31544,13 +30659,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31558,23 +30672,21 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; class IFC_PARSE_API IfcTransportationDeviceType : public IfcElementType { public: - IfcTransportationDeviceType() {} - explicit IfcTransportationDeviceType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcTransportationDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31584,31 +30696,29 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; class IFC_PARSE_API IfcVehicleType : public IfcTransportationDeviceType { public: - IfcVehicleType() {} - explicit IfcVehicleType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; ::Ifc4x3::IfcVehicleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcVehicleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVehicleTypeEnum::Value v10_PredefinedType); + IfcVehicleType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVehicleTypeEnum::Value v10_PredefinedType); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31710,8 +30820,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31759,7 +30868,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31808,8 +30917,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31830,7 +30938,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31849,8 +30957,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3::IfcActorSelect TheActor() const; @@ -31858,7 +30965,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31895,12 +31002,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31925,14 +31031,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -32109,15 +31214,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -32190,8 +31294,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -32216,7 +31319,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -32227,8 +31330,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -32247,7 +31349,7 @@ public: void setKnotSpec(const ::Ifc4x3::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32348,8 +31450,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32362,7 +31463,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32373,12 +31474,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32392,12 +31492,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32578,25 +31677,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32625,15 +31722,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32655,37 +31751,34 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double ClothoidConstant() const; void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32787,15 +31880,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32807,8 +31899,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32819,7 +31910,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32889,8 +31980,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3::IfcSegment > Segments() const; @@ -32900,7 +31990,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32915,12 +32005,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32929,15 +32018,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32954,15 +32042,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32979,15 +32066,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -33004,15 +32090,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -33088,8 +32173,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3::IfcResourceTime& v); @@ -33099,7 +32183,7 @@ public: void setBaseQuantity(const ::Ifc4x3::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -33113,8 +32197,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -33125,13 +32208,12 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; class IFC_PARSE_API IfcCosineSpiral : public IfcSpiral { public: - IfcCosineSpiral() {} - explicit IfcCosineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CosineTerm() const; void setCosineTerm(const double& v); @@ -33139,7 +32221,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); + IfcCosineSpiral initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -33179,8 +32261,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -33203,7 +32284,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -33230,8 +32311,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -33259,19 +32339,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33354,15 +32433,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33376,8 +32454,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33385,7 +32462,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33410,15 +32487,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33476,35 +32552,32 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: - IfcDirectrixDerivedReferenceSweptAreaSolid() {} - explicit IfcDirectrixDerivedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcFixedReferenceSweptAreaSolid(data) {} + using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference); + IfcDirectrixDerivedReferenceSweptAreaSolid initialize(::Ifc4x3::IfcProfileDef v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D v2_Position, ::Ifc4x3::IfcCurve v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33536,12 +32609,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33610,12 +32682,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33714,8 +32785,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33764,7 +32834,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33813,8 +32883,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33835,7 +32904,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33967,8 +33036,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33982,7 +33050,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -34058,12 +33126,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -34080,12 +33147,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -34142,8 +33208,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -34162,7 +33227,7 @@ public: std::vector< IfcRelAdheresToElement > HasSurfaceFeatures() const; // INVERSE IfcRelAdheresToElement::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34260,8 +33325,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34273,7 +33337,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34299,15 +33363,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34388,12 +33451,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34406,12 +33468,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34442,8 +33503,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34453,7 +33513,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34480,12 +33540,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34515,14 +33574,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34552,15 +33610,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34590,15 +33647,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34679,8 +33735,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34700,7 +33755,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34709,12 +33764,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34742,12 +33796,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34775,49 +33828,45 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3::IfcFacilityUsageEnum::Value UsageType() const; void setUsageType(const ::Ifc4x3::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType); }; class IFC_PARSE_API IfcFacilityPartCommon : public IfcFacilityPart { public: - IfcFacilityPartCommon() {} - explicit IfcFacilityPartCommon (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); + IfcFacilityPartCommon initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34829,15 +33878,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34864,15 +33912,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34970,12 +34017,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -35034,13 +34080,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -35094,13 +34139,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -35126,12 +34170,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -35158,12 +34201,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -35199,15 +34241,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -35233,12 +34274,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35273,12 +34313,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35289,12 +34328,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35305,12 +34343,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35322,12 +34359,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35340,15 +34376,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35456,12 +34491,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35496,14 +34530,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35647,43 +34680,39 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3::IfcBoundedCurve& v); @@ -35691,7 +34720,7 @@ public: void setEndPoint(const ::Ifc4x3::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint); + IfcGradientCurve initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35725,14 +34754,13 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35765,15 +34793,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35803,45 +34830,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3::IfcCartesianPointList& v); @@ -35851,7 +34874,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3::IfcSegmentIndexSelect > > v2_Segments, boost::logic::tribool v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3::IfcSegmentIndexSelect > > v2_Segments, boost::logic::tribool v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35888,24 +34911,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35920,8 +34941,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35947,7 +34967,7 @@ public: void setOriginalValue(const ::Ifc4x3::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3::IfcCostValue v10_CurrentValue, ::Ifc4x3::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3::IfcCostValue v10_CurrentValue, ::Ifc4x3::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35978,27 +34998,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -36026,8 +35044,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -36035,7 +35052,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -36068,15 +35085,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -36111,61 +35127,56 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcMarinePart : public IfcFacilityPart { public: - IfcMarinePart() {} - explicit IfcMarinePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v11_PredefinedType); + IfcMarinePart initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -36198,8 +35209,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -36210,7 +35220,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -36249,8 +35259,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36263,7 +35272,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36293,14 +35302,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36405,39 +35413,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36468,27 +35473,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36499,8 +35502,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36509,7 +35511,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36715,8 +35717,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36726,7 +35727,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36759,27 +35760,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcPavementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPavementTypeEnum::Value v10_PredefinedType); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPavementTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36788,8 +35787,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36801,7 +35799,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36836,8 +35834,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36856,7 +35853,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36897,8 +35894,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36917,7 +35913,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36928,15 +35924,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36969,15 +35964,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -37014,15 +36008,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -37103,21 +36096,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::vector< ::Ifc4x3::IfcIndexedPolygonalFace > Faces() const; void setFaces(const std::vector< ::Ifc4x3::IfcIndexedPolygonalFace >& v); @@ -37125,7 +36116,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -37143,15 +36134,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -37208,27 +36198,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37336,8 +36324,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37345,7 +36332,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37392,8 +36379,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37416,7 +36402,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37527,8 +36513,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37537,7 +36522,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37576,15 +36561,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37616,27 +36600,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37660,39 +36642,36 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v10_PredefinedType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRailwayPart : public IfcFacilityPart { public: - IfcRailwayPart() {} - explicit IfcRailwayPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); + IfcRailwayPart initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37716,15 +36695,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37761,15 +36739,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37786,27 +36763,25 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v8_PredefinedType); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v8_PredefinedType); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37818,26 +36793,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37865,8 +36838,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37889,7 +36861,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37904,8 +36876,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37940,13 +36911,12 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v20_BendingParameters); }; class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { public: - IfcRelAdheresToElement() {} - explicit IfcRelAdheresToElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3::IfcElement RelatingElement() const; void setRelatingElement(const ::Ifc4x3::IfcElement& v); @@ -37954,7 +36924,7 @@ public: void setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3::IfcSurfaceFeature >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); + IfcRelAdheresToElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37980,8 +36950,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37995,31 +36964,29 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v10_PredefinedType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRoadPart : public IfcFacilityPart { public: - IfcRoadPart() {} - explicit IfcRoadPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v11_PredefinedType); + IfcRoadPart initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -38055,15 +37022,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -38104,31 +37070,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: - IfcSecondOrderPolynomialSpiral() {} - explicit IfcSecondOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QuadraticTerm() const; void setQuadraticTerm(const double& v); @@ -38138,13 +37101,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSecondOrderPolynomialSpiral initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3::IfcBoundedCurve& v); @@ -38152,13 +37114,12 @@ public: void setEndPoint(const ::Ifc4x3::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint); + IfcSegmentedReferenceCurve initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3::IfcPlacement v4_EndPoint); }; class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: - IfcSeventhOrderPolynomialSpiral() {} - explicit IfcSeventhOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SepticTerm() const; void setSepticTerm(const double& v); @@ -38178,7 +37139,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); + IfcSeventhOrderPolynomialSpiral initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -38203,57 +37164,52 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSineSpiral : public IfcSpiral { public: - IfcSineSpiral() {} - explicit IfcSineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SineTerm() const; void setSineTerm(const double& v); @@ -38263,7 +37219,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSineSpiral initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38456,8 +37412,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38479,7 +37434,7 @@ public: void setSiteAddress(const ::Ifc4x3::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38560,15 +37515,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38598,14 +37552,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38859,8 +37812,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38876,7 +37828,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38910,15 +37862,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -39003,8 +37954,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -39013,7 +37963,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -39043,15 +37993,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -39075,15 +38024,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -39120,15 +38068,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -39151,23 +38098,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3::IfcBoundaryCondition AppliedCondition() const; @@ -39175,7 +38120,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -39235,8 +38180,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39246,7 +38190,7 @@ public: void setPredefinedType(const ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39267,14 +38211,13 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; ::Ifc4x3::IfcDirection AxisDirection() const; void setAxisDirection(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcDirection v9_AxisDirection); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcDirection v9_AxisDirection); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39315,8 +38258,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39328,7 +38270,7 @@ public: void setAxis(const ::Ifc4x3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39352,12 +38294,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39411,15 +38352,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39430,12 +38370,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39472,8 +38411,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39494,7 +38432,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39543,12 +38481,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39565,15 +38502,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39620,12 +38556,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39633,8 +38568,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39648,7 +38582,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39704,8 +38638,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39715,7 +38648,7 @@ public: void setPredefinedType(const ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39731,12 +38664,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39764,8 +38696,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -39773,7 +38704,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -39809,8 +38740,7 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -39818,7 +38748,7 @@ public: std::vector< IfcRelAdheresToElement > AdheresToElement() const; // INVERSE IfcRelAdheresToElement::RelatedSurfaceFeatures static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39862,15 +38792,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39891,14 +38820,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39926,14 +38854,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39969,21 +38896,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value >& v); @@ -40003,61 +38928,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTendonTypeEnum::Value& v); @@ -40069,19 +38989,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -40112,15 +39031,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -40187,25 +39105,23 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcTransportationDeviceType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransportationDevice : public IfcElement { public: - IfcTransportationDevice() {} - explicit IfcTransportationDevice (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcTransportationDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40287,8 +39203,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3::IfcCurve BasisCurve() const; @@ -40307,7 +39222,7 @@ public: void setMasterRepresentation(const ::Ifc4x3::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40340,15 +39255,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40380,15 +39294,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40430,51 +39343,47 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVehicle : public IfcTransportationDevice { public: - IfcVehicle() {} - explicit IfcVehicle (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v9_PredefinedType); + IfcVehicle initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3::IfcVibrationDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcVibrationDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40512,14 +39421,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40545,15 +39453,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40643,14 +39550,13 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40686,15 +39592,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -40782,15 +39687,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -40830,15 +39734,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40963,8 +39866,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40978,7 +39880,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40995,8 +39897,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -41016,7 +39917,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -41064,8 +39965,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -41090,7 +39990,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -41119,8 +40019,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -41128,7 +40027,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -41172,8 +40071,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -41181,7 +40079,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41270,8 +40168,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41282,7 +40179,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41324,8 +40221,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41348,7 +40244,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41378,15 +40274,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41416,14 +40311,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41453,59 +40347,54 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3::IfcAlignmentParameterSegment DesignParameters() const; void setDesignParameters(const ::Ifc4x3::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcAlignmentParameterSegment v8_DesignParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcAlignmentParameterSegment v8_DesignParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41533,8 +40422,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41570,7 +40458,7 @@ public: void setDepreciatedValue(const ::Ifc4x3::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3::IfcCostValue v7_OriginalValue, ::Ifc4x3::IfcCostValue v8_CurrentValue, ::Ifc4x3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3::IfcActorSelect v10_Owner, ::Ifc4x3::IfcActorSelect v11_User, ::Ifc4x3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3::IfcCostValue v7_OriginalValue, ::Ifc4x3::IfcCostValue v8_CurrentValue, ::Ifc4x3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3::IfcActorSelect v10_Owner, ::Ifc4x3::IfcActorSelect v11_User, ::Ifc4x3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41616,15 +40504,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41677,8 +40564,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41697,7 +40583,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -41718,8 +40604,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -41732,7 +40617,7 @@ public: void setKnotSpec(const ::Ifc4x3::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -41834,27 +40719,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -41887,15 +40770,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41906,36 +40788,33 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v11_PredefinedType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -42113,8 +40992,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -42127,7 +41005,7 @@ public: void setBuildingAddress(const ::Ifc4x3::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -42148,15 +41026,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -42164,15 +41041,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -42210,15 +41086,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42258,8 +41133,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42268,23 +41142,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value >& v); @@ -42292,7 +41164,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42323,14 +41195,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42360,15 +41231,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42404,15 +41274,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42444,15 +41313,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42497,27 +41365,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42553,15 +41419,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42606,8 +41471,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42615,7 +41479,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42646,25 +41510,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42695,15 +41557,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42978,8 +41839,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42989,7 +41849,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -43025,15 +41885,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -43064,15 +41923,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43103,15 +41961,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43137,8 +41994,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43146,7 +42002,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43176,8 +42032,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43185,7 +42040,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43204,8 +42059,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43213,19 +42067,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43258,15 +42111,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43303,27 +42155,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43551,8 +42401,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43561,7 +42410,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43703,8 +42552,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43714,7 +42562,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43752,25 +42600,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -43947,15 +42793,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44147,27 +42992,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44208,15 +43051,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44274,12 +43116,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44445,13 +43286,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44523,13 +43363,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44615,8 +43454,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44628,7 +43466,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44672,8 +43510,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44685,7 +43522,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -45045,8 +43882,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -45075,7 +43911,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45108,15 +43944,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45149,15 +43984,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -45187,49 +44021,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45262,15 +44092,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45301,15 +44130,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45340,27 +44168,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45396,15 +44222,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45435,15 +44260,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45474,15 +44298,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45495,12 +44318,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45545,14 +44367,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45600,14 +44421,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45675,14 +44495,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45701,8 +44520,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45710,7 +44528,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45742,15 +44560,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45783,15 +44600,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -45828,15 +44644,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -45849,12 +44664,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -45863,12 +44677,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -45902,15 +44715,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -45994,14 +44806,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -46010,12 +44821,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -46042,12 +44852,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46060,12 +44869,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46080,12 +44888,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46094,12 +44901,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46125,8 +44931,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -46135,17 +44940,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46245,8 +45049,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3::IfcGridAxis > UAxes() const; @@ -46261,7 +45064,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46315,14 +45118,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -46369,14 +45171,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46437,14 +45238,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46514,26 +45314,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46584,14 +45382,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46661,36 +45458,33 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46738,14 +45532,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -46999,8 +45792,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -47010,31 +45802,29 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -47079,26 +45869,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -47107,12 +45895,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -47182,26 +45969,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v9_PredefinedType); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -47223,8 +46008,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -47238,7 +46022,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47327,14 +46111,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47398,14 +46181,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -47637,8 +46419,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -47648,7 +46429,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -47728,14 +46509,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -47779,15 +46559,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -47840,26 +46619,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -47995,8 +46772,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -48005,7 +46781,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -48142,8 +46918,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -48154,7 +46929,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48346,8 +47121,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48357,7 +47131,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48397,27 +47171,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48449,8 +47221,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48465,7 +47236,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -48485,8 +47256,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -48509,7 +47279,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -48658,8 +47428,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -48668,7 +47437,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -48798,14 +47567,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -48857,15 +47625,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -48883,8 +47650,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -48892,19 +47658,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -49168,8 +47933,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -49179,7 +47943,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -49230,14 +47994,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -49303,14 +48066,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -49364,14 +48126,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -49540,8 +48301,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -49550,7 +48310,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -49721,8 +48481,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -49749,7 +48508,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -49776,8 +48535,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -49809,15 +48567,14 @@ public: void setSharedPlacement(const ::Ifc4x3::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -49828,7 +48585,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -49839,12 +48596,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, ::Ifc4x3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -49936,14 +48692,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -50007,26 +48762,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -50072,14 +48825,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -50199,8 +48951,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcTransportationDevice { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -50209,7 +48960,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -50260,14 +49011,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -50297,15 +49047,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -50381,14 +49130,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -50578,14 +49326,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -50831,8 +49578,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -50842,7 +49588,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -51048,12 +49794,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -51161,14 +49906,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -51530,8 +50274,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -51560,7 +50303,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -51595,15 +50338,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -51664,14 +50406,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -51717,14 +50458,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -51773,14 +50513,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -51810,27 +50549,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v8_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v8_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -52012,14 +50749,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -52260,8 +50996,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -52271,19 +51006,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -52356,24 +51090,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -52567,14 +51299,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -52619,14 +51350,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -52691,15 +51421,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -52762,15 +51491,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -52848,15 +51576,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -52947,27 +51674,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -53040,14 +51765,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -53117,14 +51841,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53230,14 +51953,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -53287,14 +52009,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -53364,14 +52085,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -53411,27 +52131,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -53484,14 +52202,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -53552,14 +52269,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -53634,26 +52350,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -53688,24 +52402,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -53787,13 +52499,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -53872,14 +52583,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -53932,14 +52642,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -53985,14 +52694,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54094,14 +52802,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -54162,14 +52869,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -54214,26 +52920,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -54284,14 +52988,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -54336,14 +53039,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -54388,14 +53090,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -54453,14 +53154,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -54551,14 +53251,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -54628,14 +53327,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -54691,34 +53389,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -54774,14 +53469,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -54919,14 +53613,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -54985,14 +53678,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -55058,14 +53750,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -55111,14 +53802,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -55228,14 +53918,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_add1.cpp b/src/ifcparse/schemas/Ifc4x3_add1.cpp index c4c213ed21..fc80044f27 100644 --- a/src/ifcparse/schemas/Ifc4x3_add1.cpp +++ b/src/ifcparse/schemas/Ifc4x3_add1.cpp @@ -7211,662 +7211,662 @@ const ifcopenshell::select_type& Ifc4x3_add1::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[0]); } -void Ifc4x3_add1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcAbsorbedDoseMeasure Ifc4x3_add1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1]); } -void Ifc4x3_add1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcAccelerationMeasure Ifc4x3_add1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[42]); } -void Ifc4x3_add1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcAmountOfSubstanceMeasure Ifc4x3_add1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[45]); } -void Ifc4x3_add1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcAngularVelocityMeasure Ifc4x3_add1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_add1::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[57]); } -void Ifc4x3_add1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcArcIndex Ifc4x3_add1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[58]); } -void Ifc4x3_add1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcAreaDensityMeasure Ifc4x3_add1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[59]); } -void Ifc4x3_add1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcAreaMeasure Ifc4x3_add1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_add1::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[80]); } -void Ifc4x3_add1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcBinary Ifc4x3_add1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_add1::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[86]); } -void Ifc4x3_add1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcBoolean Ifc4x3_add1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_add1::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[101]); } -void Ifc4x3_add1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcBoxAlignment Ifc4x3_add1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_add1::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[145]); } -void Ifc4x3_add1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcCardinalPointReference Ifc4x3_add1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_add1::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[188]); } -void Ifc4x3_add1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcComplexNumber Ifc4x3_add1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[196]); } -void Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcCompoundPlaneAngleMeasure Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[226]); } -void Ifc4x3_add1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcContextDependentMeasure Ifc4x3_add1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[252]); } -void Ifc4x3_add1::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcCountMeasure Ifc4x3_add1::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[270]); } -void Ifc4x3_add1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcCurvatureMeasure Ifc4x3_add1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[290]); } -void Ifc4x3_add1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDate Ifc4x3_add1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[291]); } -void Ifc4x3_add1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDateTime Ifc4x3_add1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[292]); } -void Ifc4x3_add1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDayInMonthNumber Ifc4x3_add1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[293]); } -void Ifc4x3_add1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDayInWeekNumber Ifc4x3_add1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[302]); } -void Ifc4x3_add1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDescriptiveMeasure Ifc4x3_add1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[304]); } -void Ifc4x3_add1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDimensionCount Ifc4x3_add1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[343]); } -void Ifc4x3_add1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDoseEquivalentMeasure Ifc4x3_add1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[355]); } -void Ifc4x3_add1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDuration Ifc4x3_add1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[356]); } -void Ifc4x3_add1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcDynamicViscosityMeasure Ifc4x3_add1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[368]); } -void Ifc4x3_add1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcElectricCapacitanceMeasure Ifc4x3_add1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[369]); } -void Ifc4x3_add1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcElectricChargeMeasure Ifc4x3_add1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[370]); } -void Ifc4x3_add1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcElectricConductanceMeasure Ifc4x3_add1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[371]); } -void Ifc4x3_add1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcElectricCurrentMeasure Ifc4x3_add1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[387]); } -void Ifc4x3_add1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcElectricResistanceMeasure Ifc4x3_add1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[391]); } -void Ifc4x3_add1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcElectricVoltageMeasure Ifc4x3_add1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[406]); } -void Ifc4x3_add1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcEnergyMeasure Ifc4x3_add1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_add1::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[487]); } -void Ifc4x3_add1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcFontStyle Ifc4x3_add1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_add1::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[488]); } -void Ifc4x3_add1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcFontVariant Ifc4x3_add1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_add1::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[489]); } -void Ifc4x3_add1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcFontWeight Ifc4x3_add1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[493]); } -void Ifc4x3_add1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcForceMeasure Ifc4x3_add1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[494]); } -void Ifc4x3_add1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcFrequencyMeasure Ifc4x3_add1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_add1::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[517]); } -void Ifc4x3_add1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcGloballyUniqueId Ifc4x3_add1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[531]); } -void Ifc4x3_add1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcHeatFluxDensityMeasure Ifc4x3_add1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[532]); } -void Ifc4x3_add1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcHeatingValueMeasure Ifc4x3_add1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_add1::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[536]); } -void Ifc4x3_add1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcIdentifier Ifc4x3_add1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[537]); } -void Ifc4x3_add1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcIlluminanceMeasure Ifc4x3_add1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[549]); } -void Ifc4x3_add1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcInductanceMeasure Ifc4x3_add1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_add1::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[550]); } -void Ifc4x3_add1::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcInteger Ifc4x3_add1::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[551]); } -void Ifc4x3_add1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcIntegerCountRateMeasure Ifc4x3_add1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[560]); } -void Ifc4x3_add1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcIonConcentrationMeasure Ifc4x3_add1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[564]); } -void Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[571]); } -void Ifc4x3_add1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcKinematicViscosityMeasure Ifc4x3_add1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[573]); } -void Ifc4x3_add1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLabel Ifc4x3_add1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[581]); } -void Ifc4x3_add1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLanguageId Ifc4x3_add1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[584]); } -void Ifc4x3_add1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLengthMeasure Ifc4x3_add1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[610]); } -void Ifc4x3_add1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLineIndex Ifc4x3_add1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[604]); } -void Ifc4x3_add1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLinearForceMeasure Ifc4x3_add1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[605]); } -void Ifc4x3_add1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLinearMomentMeasure Ifc4x3_add1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[608]); } -void Ifc4x3_add1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLinearStiffnessMeasure Ifc4x3_add1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[609]); } -void Ifc4x3_add1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLinearVelocityMeasure Ifc4x3_add1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[616]); } -void Ifc4x3_add1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLogical Ifc4x3_add1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[620]); } -void Ifc4x3_add1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLuminousFluxMeasure Ifc4x3_add1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[621]); } -void Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[622]); } -void Ifc4x3_add1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcLuminousIntensityMeasure Ifc4x3_add1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[623]); } -void Ifc4x3_add1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMagneticFluxDensityMeasure Ifc4x3_add1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[624]); } -void Ifc4x3_add1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMagneticFluxMeasure Ifc4x3_add1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[633]); } -void Ifc4x3_add1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMassDensityMeasure Ifc4x3_add1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[634]); } -void Ifc4x3_add1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMassFlowRateMeasure Ifc4x3_add1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[635]); } -void Ifc4x3_add1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMassMeasure Ifc4x3_add1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[636]); } -void Ifc4x3_add1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMassPerLengthMeasure Ifc4x3_add1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[674]); } -void Ifc4x3_add1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcModulusOfElasticityMeasure Ifc4x3_add1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[675]); } -void Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[676]); } -void Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[678]); } -void Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[681]); } -void Ifc4x3_add1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMoistureDiffusivityMeasure Ifc4x3_add1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[682]); } -void Ifc4x3_add1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMolecularWeightMeasure Ifc4x3_add1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[683]); } -void Ifc4x3_add1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMomentOfInertiaMeasure Ifc4x3_add1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[684]); } -void Ifc4x3_add1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMonetaryMeasure Ifc4x3_add1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_add1::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[686]); } -void Ifc4x3_add1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcMonthInYearNumber Ifc4x3_add1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[697]); } -void Ifc4x3_add1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcNonNegativeLengthMeasure Ifc4x3_add1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[698]); } -void Ifc4x3_add1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcNormalisedRatioMeasure Ifc4x3_add1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[699]); } -void Ifc4x3_add1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcNumericMeasure Ifc4x3_add1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[739]); } -void Ifc4x3_add1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPHMeasure Ifc4x3_add1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_add1::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[725]); } -void Ifc4x3_add1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcParameterValue Ifc4x3_add1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[758]); } -void Ifc4x3_add1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPlanarForceMeasure Ifc4x3_add1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[760]); } -void Ifc4x3_add1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPlaneAngleMeasure Ifc4x3_add1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[776]); } -void Ifc4x3_add1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPositiveInteger Ifc4x3_add1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[777]); } -void Ifc4x3_add1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPositiveLengthMeasure Ifc4x3_add1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[778]); } -void Ifc4x3_add1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPositivePlaneAngleMeasure Ifc4x3_add1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[779]); } -void Ifc4x3_add1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPositiveRatioMeasure Ifc4x3_add1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[781]); } -void Ifc4x3_add1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPowerMeasure Ifc4x3_add1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[789]); } -void Ifc4x3_add1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPresentableText Ifc4x3_add1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[794]); } -void Ifc4x3_add1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcPressureMeasure Ifc4x3_add1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_add1::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[828]); } -void Ifc4x3_add1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_add1::IfcPropertySetDefinitionSet Ifc4x3_add1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_add1::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[852]); } -void Ifc4x3_add1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcRadioActivityMeasure Ifc4x3_add1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[869]); } -void Ifc4x3_add1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcRatioMeasure Ifc4x3_add1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_add1::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[872]); } -void Ifc4x3_add1::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcReal Ifc4x3_add1::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[975]); } -void Ifc4x3_add1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcRotationalFrequencyMeasure Ifc4x3_add1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[976]); } -void Ifc4x3_add1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcRotationalMassMeasure Ifc4x3_add1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[977]); } -void Ifc4x3_add1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcRotationalStiffnessMeasure Ifc4x3_add1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[991]); } -void Ifc4x3_add1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSectionModulusMeasure Ifc4x3_add1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[986]); } -void Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSectionalAreaIntegralMeasure Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1009]); } -void Ifc4x3_add1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcShearModulusMeasure Ifc4x3_add1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1035]); } -void Ifc4x3_add1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSolidAngleMeasure Ifc4x3_add1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1038]); } -void Ifc4x3_add1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSoundPowerLevelMeasure Ifc4x3_add1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1039]); } -void Ifc4x3_add1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSoundPowerMeasure Ifc4x3_add1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1040]); } -void Ifc4x3_add1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSoundPressureLevelMeasure Ifc4x3_add1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1041]); } -void Ifc4x3_add1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSoundPressureMeasure Ifc4x3_add1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1057]); } -void Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSpecificHeatCapacityMeasure Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1058]); } -void Ifc4x3_add1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSpecularExponent Ifc4x3_add1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_add1::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1060]); } -void Ifc4x3_add1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcSpecularRoughness Ifc4x3_add1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcStrippedOptional const ifcopenshell::type_declaration& Ifc4x3_add1::IfcStrippedOptional::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1074]); } -void Ifc4x3_add1::IfcStrippedOptional::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcStrippedOptional Ifc4x3_add1::IfcStrippedOptional::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcStrippedOptional::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1166]); } -void Ifc4x3_add1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTemperatureGradientMeasure Ifc4x3_add1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1167]); } -void Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_add1::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1179]); } -void Ifc4x3_add1::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcText Ifc4x3_add1::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1180]); } -void Ifc4x3_add1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTextAlignment Ifc4x3_add1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1181]); } -void Ifc4x3_add1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTextDecoration Ifc4x3_add1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1182]); } -void Ifc4x3_add1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTextFontName Ifc4x3_add1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1191]); } -void Ifc4x3_add1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTextTransformation Ifc4x3_add1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1199]); } -void Ifc4x3_add1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcThermalAdmittanceMeasure Ifc4x3_add1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1200]); } -void Ifc4x3_add1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcThermalConductivityMeasure Ifc4x3_add1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1201]); } -void Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1202]); } -void Ifc4x3_add1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcThermalResistanceMeasure Ifc4x3_add1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1203]); } -void Ifc4x3_add1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcThermalTransmittanceMeasure Ifc4x3_add1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1204]); } -void Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcThermodynamicTemperatureMeasure Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1206]); } -void Ifc4x3_add1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTime Ifc4x3_add1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1207]); } -void Ifc4x3_add1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTimeMeasure Ifc4x3_add1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1213]); } -void Ifc4x3_add1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTimeStamp Ifc4x3_add1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1217]); } -void Ifc4x3_add1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcTorqueMeasure Ifc4x3_add1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_add1::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1254]); } -void Ifc4x3_add1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcURIReference Ifc4x3_add1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1260]); } -void Ifc4x3_add1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcVaporPermeabilityMeasure Ifc4x3_add1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1280]); } -void Ifc4x3_add1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcVolumeMeasure Ifc4x3_add1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1281]); } -void Ifc4x3_add1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcVolumetricFlowRateMeasure Ifc4x3_add1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1286]); } -void Ifc4x3_add1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcWarpingConstantMeasure Ifc4x3_add1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_add1::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1287]); } -void Ifc4x3_add1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcWarpingMomentMeasure Ifc4x3_add1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWellKnownTextLiteral const ifcopenshell::type_declaration& Ifc4x3_add1::IfcWellKnownTextLiteral::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD1_types[1293]); } -void Ifc4x3_add1::IfcWellKnownTextLiteral::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add1::IfcWellKnownTextLiteral Ifc4x3_add1::IfcWellKnownTextLiteral::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add1::IfcWellKnownTextLiteral::operator std::string() const { return get_attribute_value(0); } @@ -7880,7 +7880,7 @@ void Ifc4x3_add1::IfcActionRequest::setLongDescription(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add1::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[2]); } -void Ifc4x3_add1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_add1::IfcActionRequest Ifc4x3_add1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_add1::IfcActorSelect Ifc4x3_add1::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcActorSelect>(); } @@ -7889,7 +7889,7 @@ void Ifc4x3_add1::IfcActor::setTheActor(const ::Ifc4x3_add1::IfcActorSelect& v) std::vector<::Ifc4x3_add1::IfcRelAssignsToActor> Ifc4x3_add1::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[901], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[6]); } -void Ifc4x3_add1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_add1::IfcActor Ifc4x3_add1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_add1::IfcRoleEnum::Value Ifc4x3_add1::IfcActorRole::Role() const { return ::Ifc4x3_add1::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7902,7 +7902,7 @@ void Ifc4x3_add1::IfcActorRole::setDescription(const std::optional< std::string std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[7]); } -void Ifc4x3_add1::IfcActorRole::initialize(::Ifc4x3_add1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_add1::IfcActorRole Ifc4x3_add1::IfcActorRole::initialize(::Ifc4x3_add1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > Ifc4x3_add1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7910,7 +7910,7 @@ void Ifc4x3_add1::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[9]); } -void Ifc4x3_add1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcActuator Ifc4x3_add1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_add1::IfcActuatorTypeEnum::Value Ifc4x3_add1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7918,7 +7918,7 @@ void Ifc4x3_add1::IfcActuatorType::setPredefinedType(const ::Ifc4x3_add1::IfcAct const ifcopenshell::entity& Ifc4x3_add1::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[10]); } -void Ifc4x3_add1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcActuatorType Ifc4x3_add1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > Ifc4x3_add1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -7932,13 +7932,13 @@ std::vector<::Ifc4x3_add1::IfcPerson> Ifc4x3_add1::IfcAddress::OfPerson() const std::vector<::Ifc4x3_add1::IfcOrganization> Ifc4x3_add1::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[716], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[12]); } -void Ifc4x3_add1::IfcAddress::initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_add1::IfcAddress Ifc4x3_add1::IfcAddress::initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_add1::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[14]); } -void Ifc4x3_add1::IfcAdvancedBrep::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_add1::IfcAdvancedBrep Ifc4x3_add1::IfcAdvancedBrep::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_add1::IfcClosedShell > Ifc4x3_add1::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add1::IfcClosedShell>(es); } @@ -7946,13 +7946,13 @@ void Ifc4x3_add1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[15]); } -void Ifc4x3_add1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_add1::IfcAdvancedBrepWithVoids Ifc4x3_add1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_add1::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[16]); } -void Ifc4x3_add1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_add1::IfcAdvancedFace Ifc4x3_add1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > Ifc4x3_add1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -7960,7 +7960,7 @@ void Ifc4x3_add1::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[17]); } -void Ifc4x3_add1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcAirTerminal Ifc4x3_add1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_add1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -7968,7 +7968,7 @@ void Ifc4x3_add1::IfcAirTerminalBox::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[18]); } -void Ifc4x3_add1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcAirTerminalBox Ifc4x3_add1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -7976,7 +7976,7 @@ void Ifc4x3_add1::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[19]); } -void Ifc4x3_add1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcAirTerminalBoxType Ifc4x3_add1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value Ifc4x3_add1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7984,7 +7984,7 @@ void Ifc4x3_add1::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[21]); } -void Ifc4x3_add1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcAirTerminalType Ifc4x3_add1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_add1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -7992,7 +7992,7 @@ void Ifc4x3_add1::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_add1::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[23]); } -void Ifc4x3_add1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcAirToAirHeatRecovery Ifc4x3_add1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -8000,7 +8000,7 @@ void Ifc4x3_add1::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[24]); } -void Ifc4x3_add1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcAirToAirHeatRecoveryType Ifc4x3_add1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > Ifc4x3_add1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8008,7 +8008,7 @@ void Ifc4x3_add1::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[26]); } -void Ifc4x3_add1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcAlarm Ifc4x3_add1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_add1::IfcAlarmTypeEnum::Value Ifc4x3_add1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_add1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8016,7 +8016,7 @@ void Ifc4x3_add1::IfcAlarmType::setPredefinedType(const ::Ifc4x3_add1::IfcAlarmT const ifcopenshell::entity& Ifc4x3_add1::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[27]); } -void Ifc4x3_add1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcAlarmType Ifc4x3_add1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > Ifc4x3_add1::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } @@ -8024,7 +8024,7 @@ void Ifc4x3_add1::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[29]); } -void Ifc4x3_add1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add1::IfcAlignment Ifc4x3_add1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3_add1::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8032,7 +8032,7 @@ void Ifc4x3_add1::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[30]); } -void Ifc4x3_add1::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance)); } +Ifc4x3_add1::IfcAlignmentCant Ifc4x3_add1::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3_add1::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8052,13 +8052,13 @@ void Ifc4x3_add1::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[31]); } -void Ifc4x3_add1::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_add1::IfcAlignmentCantSegment Ifc4x3_add1::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[33]); } -void Ifc4x3_add1::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcAlignmentHorizontal Ifc4x3_add1::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3_add1::IfcCartesianPoint Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcCartesianPoint>(); } @@ -8078,7 +8078,7 @@ void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[34]); } -void Ifc4x3_add1::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_add1::IfcAlignmentHorizontalSegment Ifc4x3_add1::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3_add1::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8088,7 +8088,7 @@ void Ifc4x3_add1::IfcAlignmentParameterSegment::setEndTag(const std::optional< s const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[36]); } -void Ifc4x3_add1::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3_add1::IfcAlignmentParameterSegment Ifc4x3_add1::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3_add1::IfcAlignmentParameterSegment Ifc4x3_add1::IfcAlignmentSegment::DesignParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcAlignmentParameterSegment>(); } @@ -8096,13 +8096,13 @@ void Ifc4x3_add1::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[37]); } -void Ifc4x3_add1::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters)); } +Ifc4x3_add1::IfcAlignmentSegment Ifc4x3_add1::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters));; return *this; } // Function implementations for IfcAlignmentVertical const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[39]); } -void Ifc4x3_add1::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcAlignmentVertical Ifc4x3_add1::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8122,7 +8122,7 @@ void Ifc4x3_add1::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[40]); } -void Ifc4x3_add1::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_add1::IfcAlignmentVerticalSegment Ifc4x3_add1::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > Ifc4x3_add1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8131,7 +8131,7 @@ void Ifc4x3_add1::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3 std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[926], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[46]); } -void Ifc4x3_add1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add1::IfcAnnotation Ifc4x3_add1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -8141,7 +8141,7 @@ void Ifc4x3_add1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[47]); } -void Ifc4x3_add1::IfcAnnotationFillArea::initialize(::Ifc4x3_add1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_add1::IfcAnnotationFillArea Ifc4x3_add1::IfcAnnotationFillArea::initialize(::Ifc4x3_add1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_add1::IfcOrganization Ifc4x3_add1::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcOrganization>(); } @@ -8155,7 +8155,7 @@ void Ifc4x3_add1::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_add1::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[49]); } -void Ifc4x3_add1::IfcApplication::initialize(::Ifc4x3_add1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_add1::IfcApplication Ifc4x3_add1::IfcApplication::initialize(::Ifc4x3_add1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8182,7 +8182,7 @@ void Ifc4x3_add1::IfcAppliedValue::setComponents(const std::optional< std::vecto std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[50]); } -void Ifc4x3_add1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_add1::IfcAppliedValue Ifc4x3_add1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_add1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8211,7 +8211,7 @@ std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::Is std::vector<::Ifc4x3_add1::IfcApprovalRelationship> Ifc4x3_add1::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[53], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[52]); } -void Ifc4x3_add1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_add1::IfcApproval Ifc4x3_add1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_add1::IfcApproval Ifc4x3_add1::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcApproval>(); } @@ -8221,7 +8221,7 @@ void Ifc4x3_add1::IfcApprovalRelationship::setRelatedApprovals(const std::vector const ifcopenshell::entity& Ifc4x3_add1::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[53]); } -void Ifc4x3_add1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_add1::IfcApprovalRelationship Ifc4x3_add1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -8229,7 +8229,7 @@ void Ifc4x3_add1::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[54]); } -void Ifc4x3_add1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_add1::IfcArbitraryClosedProfileDef Ifc4x3_add1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_add1::IfcBoundedCurve Ifc4x3_add1::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcBoundedCurve>(); } @@ -8237,7 +8237,7 @@ void Ifc4x3_add1::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_add1::IfcB const ifcopenshell::entity& Ifc4x3_add1::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[55]); } -void Ifc4x3_add1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_add1::IfcArbitraryOpenProfileDef Ifc4x3_add1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_add1::IfcCurve > Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add1::IfcCurve>(es); } @@ -8245,7 +8245,7 @@ void Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vec const ifcopenshell::entity& Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[56]); } -void Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_add1::IfcArbitraryProfileDefWithVoids Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_add1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8269,7 +8269,7 @@ void Ifc4x3_add1::IfcAsset::setDepreciatedValue(const ::Ifc4x3_add1::IfcCostValu const ifcopenshell::entity& Ifc4x3_add1::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[62]); } -void Ifc4x3_add1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add1::IfcCostValue v7_OriginalValue, ::Ifc4x3_add1::IfcCostValue v8_CurrentValue, ::Ifc4x3_add1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add1::IfcActorSelect v10_Owner, ::Ifc4x3_add1::IfcActorSelect v11_User, ::Ifc4x3_add1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_add1::IfcAsset Ifc4x3_add1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add1::IfcCostValue v7_OriginalValue, ::Ifc4x3_add1::IfcCostValue v8_CurrentValue, ::Ifc4x3_add1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add1::IfcActorSelect v10_Owner, ::Ifc4x3_add1::IfcActorSelect v11_User, ::Ifc4x3_add1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8299,7 +8299,7 @@ void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[63]); } -void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_add1::IfcAsymmetricIShapeProfileDef Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_add1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8307,7 +8307,7 @@ void Ifc4x3_add1::IfcAudioVisualAppliance::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_add1::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[64]); } -void Ifc4x3_add1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcAudioVisualAppliance Ifc4x3_add1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8315,7 +8315,7 @@ void Ifc4x3_add1::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[65]); } -void Ifc4x3_add1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcAudioVisualApplianceType Ifc4x3_add1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -8323,7 +8323,7 @@ void Ifc4x3_add1::IfcAxis1Placement::setAxis(const ::Ifc4x3_add1::IfcDirection& const ifcopenshell::entity& Ifc4x3_add1::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[67]); } -void Ifc4x3_add1::IfcAxis1Placement::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_add1::IfcAxis1Placement Ifc4x3_add1::IfcAxis1Placement::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -8331,7 +8331,7 @@ void Ifc4x3_add1::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_add1::IfcD const ifcopenshell::entity& Ifc4x3_add1::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[69]); } -void Ifc4x3_add1::IfcAxis2Placement2D::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_add1::IfcAxis2Placement2D Ifc4x3_add1::IfcAxis2Placement2D::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -8341,7 +8341,7 @@ void Ifc4x3_add1::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_add1::IfcD const ifcopenshell::entity& Ifc4x3_add1::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[70]); } -void Ifc4x3_add1::IfcAxis2Placement3D::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_add1::IfcAxis2Placement3D Ifc4x3_add1::IfcAxis2Placement3D::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -8351,7 +8351,7 @@ void Ifc4x3_add1::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[71]); } -void Ifc4x3_add1::IfcAxis2PlacementLinear::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_add1::IfcAxis2PlacementLinear Ifc4x3_add1::IfcAxis2PlacementLinear::initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_add1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8367,7 +8367,7 @@ void Ifc4x3_add1::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_add1::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[107]); } -void Ifc4x3_add1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_add1::IfcBSplineCurve Ifc4x3_add1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8379,7 +8379,7 @@ void Ifc4x3_add1::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[109]); } -void Ifc4x3_add1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_add1::IfcBSplineCurveWithKnots Ifc4x3_add1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_add1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8399,7 +8399,7 @@ void Ifc4x3_add1::IfcBSplineSurface::setSelfIntersect(const boost::logic::triboo const ifcopenshell::entity& Ifc4x3_add1::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[110]); } -void Ifc4x3_add1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_add1::IfcBSplineSurface Ifc4x3_add1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8415,7 +8415,7 @@ void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[112]); } -void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_add1::IfcBSplineSurfaceWithKnots Ifc4x3_add1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > Ifc4x3_add1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8423,7 +8423,7 @@ void Ifc4x3_add1::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[72]); } -void Ifc4x3_add1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcBeam Ifc4x3_add1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_add1::IfcBeamTypeEnum::Value Ifc4x3_add1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_add1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8431,7 +8431,7 @@ void Ifc4x3_add1::IfcBeamType::setPredefinedType(const ::Ifc4x3_add1::IfcBeamTyp const ifcopenshell::entity& Ifc4x3_add1::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[73]); } -void Ifc4x3_add1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcBeamType Ifc4x3_add1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > Ifc4x3_add1::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8439,7 +8439,7 @@ void Ifc4x3_add1::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[75]); } -void Ifc4x3_add1::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcBearing Ifc4x3_add1::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_add1::IfcBearingTypeEnum::Value Ifc4x3_add1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_add1::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8447,7 +8447,7 @@ void Ifc4x3_add1::IfcBearingType::setPredefinedType(const ::Ifc4x3_add1::IfcBear const ifcopenshell::entity& Ifc4x3_add1::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[76]); } -void Ifc4x3_add1::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcBearingType Ifc4x3_add1::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_add1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8457,7 +8457,7 @@ void Ifc4x3_add1::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v const ifcopenshell::entity& Ifc4x3_add1::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[81]); } -void Ifc4x3_add1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_add1::IfcBlobTexture Ifc4x3_add1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_add1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8469,7 +8469,7 @@ void Ifc4x3_add1::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_add1::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[82]); } -void Ifc4x3_add1::IfcBlock::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_add1::IfcBlock Ifc4x3_add1::IfcBlock::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > Ifc4x3_add1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8477,7 +8477,7 @@ void Ifc4x3_add1::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[83]); } -void Ifc4x3_add1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcBoiler Ifc4x3_add1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_add1::IfcBoilerTypeEnum::Value Ifc4x3_add1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_add1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8485,13 +8485,13 @@ void Ifc4x3_add1::IfcBoilerType::setPredefinedType(const ::Ifc4x3_add1::IfcBoile const ifcopenshell::entity& Ifc4x3_add1::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[84]); } -void Ifc4x3_add1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcBoilerType Ifc4x3_add1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_add1::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[87]); } -void Ifc4x3_add1::IfcBooleanClippingResult::initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_add1::IfcBooleanClippingResult Ifc4x3_add1::IfcBooleanClippingResult::initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_add1::IfcBooleanOperator::Value Ifc4x3_add1::IfcBooleanResult::Operator() const { return ::Ifc4x3_add1::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8503,13 +8503,13 @@ void Ifc4x3_add1::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_add1::IfcBoo const ifcopenshell::entity& Ifc4x3_add1::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[90]); } -void Ifc4x3_add1::IfcBooleanResult::initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_add1::IfcBooleanResult Ifc4x3_add1::IfcBooleanResult::initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_add1::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[91]); } -void Ifc4x3_add1::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcBorehole Ifc4x3_add1::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_add1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8517,13 +8517,13 @@ void Ifc4x3_add1::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[92]); } -void Ifc4x3_add1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcBoundaryCondition Ifc4x3_add1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_add1::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[93]); } -void Ifc4x3_add1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add1::IfcBoundaryCurve Ifc4x3_add1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8541,7 +8541,7 @@ void Ifc4x3_add1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(cons const ifcopenshell::entity& Ifc4x3_add1::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[94]); } -void Ifc4x3_add1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_add1::IfcBoundaryEdgeCondition Ifc4x3_add1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(); } @@ -8553,7 +8553,7 @@ void Ifc4x3_add1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(con const ifcopenshell::entity& Ifc4x3_add1::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[95]); } -void Ifc4x3_add1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_add1::IfcBoundaryFaceCondition Ifc4x3_add1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_add1::IfcTranslationalStiffnessSelect Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(); } @@ -8571,7 +8571,7 @@ void Ifc4x3_add1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[96]); } -void Ifc4x3_add1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_add1::IfcBoundaryNodeCondition Ifc4x3_add1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_add1::IfcWarpingStiffnessSelect Ifc4x3_add1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add1::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcWarpingStiffnessSelect>(); } @@ -8579,19 +8579,19 @@ void Ifc4x3_add1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::I const ifcopenshell::entity& Ifc4x3_add1::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[97]); } -void Ifc4x3_add1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_add1::IfcBoundaryNodeConditionWarping Ifc4x3_add1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x3_add1::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[98]); } -void Ifc4x3_add1::IfcBoundedCurve::initialize() { } +Ifc4x3_add1::IfcBoundedCurve Ifc4x3_add1::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_add1::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[99]); } -void Ifc4x3_add1::IfcBoundedSurface::initialize() { } +Ifc4x3_add1::IfcBoundedSurface Ifc4x3_add1::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_add1::IfcCartesianPoint Ifc4x3_add1::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCartesianPoint>(); } @@ -8605,7 +8605,7 @@ void Ifc4x3_add1::IfcBoundingBox::setZDim(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_add1::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[100]); } -void Ifc4x3_add1::IfcBoundingBox::initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_add1::IfcBoundingBox Ifc4x3_add1::IfcBoundingBox::initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_add1::IfcBoundingBox Ifc4x3_add1::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcBoundingBox>(); } @@ -8613,7 +8613,7 @@ void Ifc4x3_add1::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_add1::IfcBoundi const ifcopenshell::entity& Ifc4x3_add1::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[102]); } -void Ifc4x3_add1::IfcBoxedHalfSpace::initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_add1::IfcBoxedHalfSpace Ifc4x3_add1::IfcBoxedHalfSpace::initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > Ifc4x3_add1::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8621,7 +8621,7 @@ void Ifc4x3_add1::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[103]); } -void Ifc4x3_add1::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcBridge Ifc4x3_add1::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > Ifc4x3_add1::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } @@ -8629,7 +8629,7 @@ void Ifc4x3_add1::IfcBridgePart::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[104]); } -void Ifc4x3_add1::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcBridgePart Ifc4x3_add1::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_add1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8641,7 +8641,7 @@ void Ifc4x3_add1::IfcBuilding::setBuildingAddress(const ::Ifc4x3_add1::IfcPostal const ifcopenshell::entity& Ifc4x3_add1::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[113]); } -void Ifc4x3_add1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_add1::IfcBuilding Ifc4x3_add1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_add1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8649,7 +8649,7 @@ void Ifc4x3_add1::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[114]); } -void Ifc4x3_add1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcBuildingElementPart Ifc4x3_add1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8657,7 +8657,7 @@ void Ifc4x3_add1::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[115]); } -void Ifc4x3_add1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcBuildingElementPartType Ifc4x3_add1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_add1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8665,7 +8665,7 @@ void Ifc4x3_add1::IfcBuildingElementProxy::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_add1::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[117]); } -void Ifc4x3_add1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcBuildingElementProxy Ifc4x3_add1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8673,7 +8673,7 @@ void Ifc4x3_add1::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[118]); } -void Ifc4x3_add1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcBuildingElementProxyType Ifc4x3_add1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_add1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8681,7 +8681,7 @@ void Ifc4x3_add1::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add1::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[120]); } -void Ifc4x3_add1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_add1::IfcBuildingStorey Ifc4x3_add1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_add1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8691,19 +8691,19 @@ void Ifc4x3_add1::IfcBuildingSystem::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add1::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[121]); } -void Ifc4x3_add1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_add1::IfcBuildingSystem Ifc4x3_add1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_add1::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[123]); } -void Ifc4x3_add1::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcBuiltElement Ifc4x3_add1::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_add1::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[124]); } -void Ifc4x3_add1::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcBuiltElementType Ifc4x3_add1::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_add1::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8713,7 +8713,7 @@ void Ifc4x3_add1::IfcBuiltSystem::setLongName(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_add1::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[125]); } -void Ifc4x3_add1::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_add1::IfcBuiltSystem Ifc4x3_add1::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > Ifc4x3_add1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8721,7 +8721,7 @@ void Ifc4x3_add1::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[127]); } -void Ifc4x3_add1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcBurner Ifc4x3_add1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_add1::IfcBurnerTypeEnum::Value Ifc4x3_add1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_add1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8729,7 +8729,7 @@ void Ifc4x3_add1::IfcBurnerType::setPredefinedType(const ::Ifc4x3_add1::IfcBurne const ifcopenshell::entity& Ifc4x3_add1::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[128]); } -void Ifc4x3_add1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcBurnerType Ifc4x3_add1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_add1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8745,7 +8745,7 @@ void Ifc4x3_add1::IfcCShapeProfileDef::setInternalFilletRadius(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[265]); } -void Ifc4x3_add1::IfcCShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_add1::IfcCShapeProfileDef Ifc4x3_add1::IfcCShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_add1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8753,7 +8753,7 @@ void Ifc4x3_add1::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[130]); } -void Ifc4x3_add1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCableCarrierFitting Ifc4x3_add1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8761,7 +8761,7 @@ void Ifc4x3_add1::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[131]); } -void Ifc4x3_add1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCableCarrierFittingType Ifc4x3_add1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_add1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8769,7 +8769,7 @@ void Ifc4x3_add1::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[133]); } -void Ifc4x3_add1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCableCarrierSegment Ifc4x3_add1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8777,7 +8777,7 @@ void Ifc4x3_add1::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[134]); } -void Ifc4x3_add1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCableCarrierSegmentType Ifc4x3_add1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > Ifc4x3_add1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8785,7 +8785,7 @@ void Ifc4x3_add1::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[136]); } -void Ifc4x3_add1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCableFitting Ifc4x3_add1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value Ifc4x3_add1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8793,7 +8793,7 @@ void Ifc4x3_add1::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[137]); } -void Ifc4x3_add1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCableFittingType Ifc4x3_add1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > Ifc4x3_add1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8801,7 +8801,7 @@ void Ifc4x3_add1::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[139]); } -void Ifc4x3_add1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCableSegment Ifc4x3_add1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value Ifc4x3_add1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8809,7 +8809,7 @@ void Ifc4x3_add1::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[140]); } -void Ifc4x3_add1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCableSegmentType Ifc4x3_add1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_add1::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8817,7 +8817,7 @@ void Ifc4x3_add1::IfcCaissonFoundation::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[142]); } -void Ifc4x3_add1::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCaissonFoundation Ifc4x3_add1::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8825,7 +8825,7 @@ void Ifc4x3_add1::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[143]); } -void Ifc4x3_add1::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCaissonFoundationType Ifc4x3_add1::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_add1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8833,13 +8833,13 @@ void Ifc4x3_add1::IfcCartesianPoint::setCoordinates(const std::vector< double > const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[146]); } -void Ifc4x3_add1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_add1::IfcCartesianPoint Ifc4x3_add1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[147]); } -void Ifc4x3_add1::IfcCartesianPointList::initialize() { } +Ifc4x3_add1::IfcCartesianPointList Ifc4x3_add1::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_add1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8849,7 +8849,7 @@ void Ifc4x3_add1::IfcCartesianPointList2D::setTagList(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[148]); } -void Ifc4x3_add1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_add1::IfcCartesianPointList2D Ifc4x3_add1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_add1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8859,7 +8859,7 @@ void Ifc4x3_add1::IfcCartesianPointList3D::setTagList(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[149]); } -void Ifc4x3_add1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_add1::IfcCartesianPointList3D Ifc4x3_add1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -8873,13 +8873,13 @@ void Ifc4x3_add1::IfcCartesianTransformationOperator::setScale(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[150]); } -void Ifc4x3_add1::IfcCartesianTransformationOperator::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_add1::IfcCartesianTransformationOperator Ifc4x3_add1::IfcCartesianTransformationOperator::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[151]); } -void Ifc4x3_add1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_add1::IfcCartesianTransformationOperator2D Ifc4x3_add1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8887,7 +8887,7 @@ void Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::setScale2(cons const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[152]); } -void Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add1::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -8895,7 +8895,7 @@ void Ifc4x3_add1::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[153]); } -void Ifc4x3_add1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_add1::IfcCartesianTransformationOperator3D Ifc4x3_add1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8905,7 +8905,7 @@ void Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::setScale3(cons const ifcopenshell::entity& Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[154]); } -void Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_add1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8913,7 +8913,7 @@ void Ifc4x3_add1::IfcCenterLineProfileDef::setThickness(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[155]); } -void Ifc4x3_add1::IfcCenterLineProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_add1::IfcCenterLineProfileDef Ifc4x3_add1::IfcCenterLineProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > Ifc4x3_add1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -8921,7 +8921,7 @@ void Ifc4x3_add1::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[157]); } -void Ifc4x3_add1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcChiller Ifc4x3_add1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_add1::IfcChillerTypeEnum::Value Ifc4x3_add1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_add1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -8929,7 +8929,7 @@ void Ifc4x3_add1::IfcChillerType::setPredefinedType(const ::Ifc4x3_add1::IfcChil const ifcopenshell::entity& Ifc4x3_add1::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[158]); } -void Ifc4x3_add1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcChillerType Ifc4x3_add1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > Ifc4x3_add1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -8937,7 +8937,7 @@ void Ifc4x3_add1::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[160]); } -void Ifc4x3_add1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcChimney Ifc4x3_add1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_add1::IfcChimneyTypeEnum::Value Ifc4x3_add1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_add1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -8945,7 +8945,7 @@ void Ifc4x3_add1::IfcChimneyType::setPredefinedType(const ::Ifc4x3_add1::IfcChim const ifcopenshell::entity& Ifc4x3_add1::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[161]); } -void Ifc4x3_add1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcChimneyType Ifc4x3_add1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_add1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -8953,7 +8953,7 @@ void Ifc4x3_add1::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_add1::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[163]); } -void Ifc4x3_add1::IfcCircle::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add1::IfcCircle Ifc4x3_add1::IfcCircle::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_add1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -8961,7 +8961,7 @@ void Ifc4x3_add1::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[164]); } -void Ifc4x3_add1::IfcCircleHollowProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_add1::IfcCircleHollowProfileDef Ifc4x3_add1::IfcCircleHollowProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_add1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -8969,19 +8969,19 @@ void Ifc4x3_add1::IfcCircleProfileDef::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add1::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[165]); } -void Ifc4x3_add1::IfcCircleProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_add1::IfcCircleProfileDef Ifc4x3_add1::IfcCircleProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_add1::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[166]); } -void Ifc4x3_add1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcCivilElement Ifc4x3_add1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_add1::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[167]); } -void Ifc4x3_add1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcCivilElementType Ifc4x3_add1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_add1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9003,7 +9003,7 @@ std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClass std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[169], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[168]); } -void Ifc4x3_add1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_add1::IfcClassification Ifc4x3_add1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_add1::IfcClassificationReferenceSelect Ifc4x3_add1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add1::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcClassificationReferenceSelect>(); } @@ -9017,13 +9017,13 @@ std::vector<::Ifc4x3_add1::IfcRelAssociatesClassification> Ifc4x3_add1::IfcClass std::vector<::Ifc4x3_add1::IfcClassificationReference> Ifc4x3_add1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[169], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[169]); } -void Ifc4x3_add1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_add1::IfcClassificationReference Ifc4x3_add1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_add1::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[172]); } -void Ifc4x3_add1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_add1::IfcClosedShell Ifc4x3_add1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid double Ifc4x3_add1::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } @@ -9031,7 +9031,7 @@ void Ifc4x3_add1::IfcClothoid::setClothoidConstant(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_add1::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[173]); } -void Ifc4x3_add1::IfcClothoid::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3_add1::IfcClothoid Ifc4x3_add1::IfcClothoid::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > Ifc4x3_add1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9039,7 +9039,7 @@ void Ifc4x3_add1::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[174]); } -void Ifc4x3_add1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCoil Ifc4x3_add1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_add1::IfcCoilTypeEnum::Value Ifc4x3_add1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9047,7 +9047,7 @@ void Ifc4x3_add1::IfcCoilType::setPredefinedType(const ::Ifc4x3_add1::IfcCoilTyp const ifcopenshell::entity& Ifc4x3_add1::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[175]); } -void Ifc4x3_add1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCoilType Ifc4x3_add1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_add1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9059,7 +9059,7 @@ void Ifc4x3_add1::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3 const ifcopenshell::entity& Ifc4x3_add1::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[179]); } -void Ifc4x3_add1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_add1::IfcColourRgb Ifc4x3_add1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_add1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9067,7 +9067,7 @@ void Ifc4x3_add1::IfcColourRgbList::setColourList(const std::vector< std::vector const ifcopenshell::entity& Ifc4x3_add1::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[180]); } -void Ifc4x3_add1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_add1::IfcColourRgbList Ifc4x3_add1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_add1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9075,7 +9075,7 @@ void Ifc4x3_add1::IfcColourSpecification::setName(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_add1::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[181]); } -void Ifc4x3_add1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcColourSpecification Ifc4x3_add1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > Ifc4x3_add1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9083,7 +9083,7 @@ void Ifc4x3_add1::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[182]); } -void Ifc4x3_add1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcColumn Ifc4x3_add1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_add1::IfcColumnTypeEnum::Value Ifc4x3_add1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_add1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9091,7 +9091,7 @@ void Ifc4x3_add1::IfcColumnType::setPredefinedType(const ::Ifc4x3_add1::IfcColum const ifcopenshell::entity& Ifc4x3_add1::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[183]); } -void Ifc4x3_add1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcColumnType Ifc4x3_add1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_add1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9099,7 +9099,7 @@ void Ifc4x3_add1::IfcCommunicationsAppliance::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x3_add1::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[185]); } -void Ifc4x3_add1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCommunicationsAppliance Ifc4x3_add1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9107,7 +9107,7 @@ void Ifc4x3_add1::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[186]); } -void Ifc4x3_add1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCommunicationsApplianceType Ifc4x3_add1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_add1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9117,7 +9117,7 @@ void Ifc4x3_add1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[189]); } -void Ifc4x3_add1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_add1::IfcComplexProperty Ifc4x3_add1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_add1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9129,7 +9129,7 @@ void Ifc4x3_add1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std: const ifcopenshell::entity& Ifc4x3_add1::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[190]); } -void Ifc4x3_add1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_add1::IfcComplexPropertyTemplate Ifc4x3_add1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_add1::IfcSegment > Ifc4x3_add1::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcSegment>(es); } @@ -9139,13 +9139,13 @@ void Ifc4x3_add1::IfcCompositeCurve::setSelfIntersect(const boost::logic::triboo const ifcopenshell::entity& Ifc4x3_add1::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[192]); } -void Ifc4x3_add1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add1::IfcCompositeCurve Ifc4x3_add1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_add1::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[193]); } -void Ifc4x3_add1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add1::IfcCompositeCurveOnSurface Ifc4x3_add1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_add1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9155,7 +9155,7 @@ void Ifc4x3_add1::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[194]); } -void Ifc4x3_add1::IfcCompositeCurveSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_add1::IfcCompositeCurveSegment Ifc4x3_add1::IfcCompositeCurveSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_add1::IfcProfileDef > Ifc4x3_add1::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcProfileDef>(es); } @@ -9165,7 +9165,7 @@ void Ifc4x3_add1::IfcCompositeProfileDef::setLabel(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_add1::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[195]); } -void Ifc4x3_add1::IfcCompositeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_add1::IfcCompositeProfileDef Ifc4x3_add1::IfcCompositeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > Ifc4x3_add1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9173,7 +9173,7 @@ void Ifc4x3_add1::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[197]); } -void Ifc4x3_add1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCompressor Ifc4x3_add1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_add1::IfcCompressorTypeEnum::Value Ifc4x3_add1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_add1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9181,7 +9181,7 @@ void Ifc4x3_add1::IfcCompressorType::setPredefinedType(const ::Ifc4x3_add1::IfcC const ifcopenshell::entity& Ifc4x3_add1::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[198]); } -void Ifc4x3_add1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCompressorType Ifc4x3_add1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > Ifc4x3_add1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9189,7 +9189,7 @@ void Ifc4x3_add1::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[200]); } -void Ifc4x3_add1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCondenser Ifc4x3_add1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_add1::IfcCondenserTypeEnum::Value Ifc4x3_add1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_add1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9197,7 +9197,7 @@ void Ifc4x3_add1::IfcCondenserType::setPredefinedType(const ::Ifc4x3_add1::IfcCo const ifcopenshell::entity& Ifc4x3_add1::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[201]); } -void Ifc4x3_add1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCondenserType Ifc4x3_add1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_add1::IfcAxis2Placement Ifc4x3_add1::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcAxis2Placement>(); } @@ -9205,7 +9205,7 @@ void Ifc4x3_add1::IfcConic::setPosition(const ::Ifc4x3_add1::IfcAxis2Placement& const ifcopenshell::entity& Ifc4x3_add1::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[203]); } -void Ifc4x3_add1::IfcConic::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add1::IfcConic Ifc4x3_add1::IfcConic::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_add1::IfcFace > Ifc4x3_add1::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcFace>(es); } @@ -9213,7 +9213,7 @@ void Ifc4x3_add1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[204]); } -void Ifc4x3_add1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_add1::IfcConnectedFaceSet Ifc4x3_add1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_add1::IfcCurveOrEdgeCurve Ifc4x3_add1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurveOrEdgeCurve>(); } @@ -9223,13 +9223,13 @@ void Ifc4x3_add1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::I const ifcopenshell::entity& Ifc4x3_add1::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[205]); } -void Ifc4x3_add1::IfcConnectionCurveGeometry::initialize(::Ifc4x3_add1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_add1::IfcConnectionCurveGeometry Ifc4x3_add1::IfcConnectionCurveGeometry::initialize(::Ifc4x3_add1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_add1::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[206]); } -void Ifc4x3_add1::IfcConnectionGeometry::initialize() { } +Ifc4x3_add1::IfcConnectionGeometry Ifc4x3_add1::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9241,7 +9241,7 @@ void Ifc4x3_add1::IfcConnectionPointEccentricity::setEccentricityInZ(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[207]); } -void Ifc4x3_add1::IfcConnectionPointEccentricity::initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_add1::IfcConnectionPointEccentricity Ifc4x3_add1::IfcConnectionPointEccentricity::initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_add1::IfcPointOrVertexPoint Ifc4x3_add1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPointOrVertexPoint>(); } @@ -9251,7 +9251,7 @@ void Ifc4x3_add1::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::I const ifcopenshell::entity& Ifc4x3_add1::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[208]); } -void Ifc4x3_add1::IfcConnectionPointGeometry::initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_add1::IfcConnectionPointGeometry Ifc4x3_add1::IfcConnectionPointGeometry::initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_add1::IfcSurfaceOrFaceSurface Ifc4x3_add1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSurfaceOrFaceSurface>(); } @@ -9261,7 +9261,7 @@ void Ifc4x3_add1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_add1::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[209]); } -void Ifc4x3_add1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_add1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_add1::IfcConnectionSurfaceGeometry Ifc4x3_add1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_add1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_add1::IfcSolidOrShell Ifc4x3_add1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSolidOrShell>(); } @@ -9271,7 +9271,7 @@ void Ifc4x3_add1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const : const ifcopenshell::entity& Ifc4x3_add1::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[211]); } -void Ifc4x3_add1::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_add1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_add1::IfcConnectionVolumeGeometry Ifc4x3_add1::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_add1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_add1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9293,7 +9293,7 @@ std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcCon std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[956], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[212]); } -void Ifc4x3_add1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_add1::IfcConstraint Ifc4x3_add1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9301,7 +9301,7 @@ void Ifc4x3_add1::IfcConstructionEquipmentResource::setPredefinedType(const std: const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[214]); } -void Ifc4x3_add1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcConstructionEquipmentResource Ifc4x3_add1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9309,7 +9309,7 @@ void Ifc4x3_add1::IfcConstructionEquipmentResourceType::setPredefinedType(const const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[215]); } -void Ifc4x3_add1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcConstructionEquipmentResourceType Ifc4x3_add1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9317,7 +9317,7 @@ void Ifc4x3_add1::IfcConstructionMaterialResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[217]); } -void Ifc4x3_add1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcConstructionMaterialResource Ifc4x3_add1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9325,7 +9325,7 @@ void Ifc4x3_add1::IfcConstructionMaterialResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[218]); } -void Ifc4x3_add1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcConstructionMaterialResourceType Ifc4x3_add1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9333,7 +9333,7 @@ void Ifc4x3_add1::IfcConstructionProductResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[220]); } -void Ifc4x3_add1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcConstructionProductResource Ifc4x3_add1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9341,7 +9341,7 @@ void Ifc4x3_add1::IfcConstructionProductResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[221]); } -void Ifc4x3_add1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcConstructionProductResourceType Ifc4x3_add1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_add1::IfcResourceTime Ifc4x3_add1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add1::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcResourceTime>(); } @@ -9353,7 +9353,7 @@ void Ifc4x3_add1::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[223]); } -void Ifc4x3_add1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_add1::IfcConstructionResource Ifc4x3_add1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > Ifc4x3_add1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add1::IfcAppliedValue>(es); } @@ -9363,7 +9363,7 @@ void Ifc4x3_add1::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[224]); } -void Ifc4x3_add1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_add1::IfcConstructionResourceType Ifc4x3_add1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_add1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9381,7 +9381,7 @@ std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcContext::I std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[929], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[225]); } -void Ifc4x3_add1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_add1::IfcContext Ifc4x3_add1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_add1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9390,7 +9390,7 @@ void Ifc4x3_add1::IfcContextDependentUnit::setName(const std::string& v) { set_a std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[227]); } -void Ifc4x3_add1::IfcContextDependentUnit::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_add1::IfcContextDependentUnit Ifc4x3_add1::IfcContextDependentUnit::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_add1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9399,7 +9399,7 @@ void Ifc4x3_add1::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_add1::IfcRelAssignsToControl> Ifc4x3_add1::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[902], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[228]); } -void Ifc4x3_add1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_add1::IfcControl Ifc4x3_add1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > Ifc4x3_add1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9407,7 +9407,7 @@ void Ifc4x3_add1::IfcController::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[229]); } -void Ifc4x3_add1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcController Ifc4x3_add1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_add1::IfcControllerTypeEnum::Value Ifc4x3_add1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_add1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9415,7 +9415,7 @@ void Ifc4x3_add1::IfcControllerType::setPredefinedType(const ::Ifc4x3_add1::IfcC const ifcopenshell::entity& Ifc4x3_add1::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[230]); } -void Ifc4x3_add1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcControllerType Ifc4x3_add1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_add1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9426,7 +9426,7 @@ void Ifc4x3_add1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_add std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[232]); } -void Ifc4x3_add1::IfcConversionBasedUnit::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_add1::IfcConversionBasedUnit Ifc4x3_add1::IfcConversionBasedUnit::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_add1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9434,7 +9434,7 @@ void Ifc4x3_add1::IfcConversionBasedUnitWithOffset::setConversionOffset(const do const ifcopenshell::entity& Ifc4x3_add1::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[233]); } -void Ifc4x3_add1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_add1::IfcConversionBasedUnitWithOffset Ifc4x3_add1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_add1::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9442,7 +9442,7 @@ void Ifc4x3_add1::IfcConveyorSegment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[234]); } -void Ifc4x3_add1::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcConveyorSegment Ifc4x3_add1::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9450,7 +9450,7 @@ void Ifc4x3_add1::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[235]); } -void Ifc4x3_add1::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcConveyorSegmentType Ifc4x3_add1::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > Ifc4x3_add1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9458,7 +9458,7 @@ void Ifc4x3_add1::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[237]); } -void Ifc4x3_add1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCooledBeam Ifc4x3_add1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value Ifc4x3_add1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_add1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9466,7 +9466,7 @@ void Ifc4x3_add1::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_add1::IfcC const ifcopenshell::entity& Ifc4x3_add1::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[238]); } -void Ifc4x3_add1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCooledBeamType Ifc4x3_add1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_add1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9474,7 +9474,7 @@ void Ifc4x3_add1::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[240]); } -void Ifc4x3_add1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCoolingTower Ifc4x3_add1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value Ifc4x3_add1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9482,7 +9482,7 @@ void Ifc4x3_add1::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[241]); } -void Ifc4x3_add1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCoolingTowerType Ifc4x3_add1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect Ifc4x3_add1::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect>(); } @@ -9492,7 +9492,7 @@ void Ifc4x3_add1::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_add1::IfcC const ifcopenshell::entity& Ifc4x3_add1::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[243]); } -void Ifc4x3_add1::IfcCoordinateOperation::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_add1::IfcCoordinateOperation Ifc4x3_add1::IfcCoordinateOperation::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::optional< std::string > Ifc4x3_add1::IfcCoordinateReferenceSystem::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9504,7 +9504,7 @@ std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcCoordinateRef std::vector<::Ifc4x3_add1::IfcWellKnownText> Ifc4x3_add1::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1292], 1)); } const ifcopenshell::entity& Ifc4x3_add1::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[244]); } -void Ifc4x3_add1::IfcCoordinateReferenceSystem::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_add1::IfcCoordinateReferenceSystem Ifc4x3_add1::IfcCoordinateReferenceSystem::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcCosineSpiral double Ifc4x3_add1::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } @@ -9514,7 +9514,7 @@ void Ifc4x3_add1::IfcCosineSpiral::setConstantTerm(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add1::IfcCosineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[246]); } -void Ifc4x3_add1::IfcCosineSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); } } +Ifc4x3_add1::IfcCosineSpiral Ifc4x3_add1::IfcCosineSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > Ifc4x3_add1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9526,7 +9526,7 @@ void Ifc4x3_add1::IfcCostItem::setCostQuantities(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_add1::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[247]); } -void Ifc4x3_add1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_add1::IfcCostItem Ifc4x3_add1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > Ifc4x3_add1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9540,13 +9540,13 @@ void Ifc4x3_add1::IfcCostSchedule::setUpdateDate(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add1::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[249]); } -void Ifc4x3_add1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_add1::IfcCostSchedule Ifc4x3_add1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_add1::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[251]); } -void Ifc4x3_add1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_add1::IfcCostValue Ifc4x3_add1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > Ifc4x3_add1::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9554,7 +9554,7 @@ void Ifc4x3_add1::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[253]); } -void Ifc4x3_add1::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCourse Ifc4x3_add1::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_add1::IfcCourseTypeEnum::Value Ifc4x3_add1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_add1::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9562,7 +9562,7 @@ void Ifc4x3_add1::IfcCourseType::setPredefinedType(const ::Ifc4x3_add1::IfcCours const ifcopenshell::entity& Ifc4x3_add1::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[254]); } -void Ifc4x3_add1::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCourseType Ifc4x3_add1::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > Ifc4x3_add1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9572,7 +9572,7 @@ std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcCovering::CoversS std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[927], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[256]); } -void Ifc4x3_add1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCovering Ifc4x3_add1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_add1::IfcCoveringTypeEnum::Value Ifc4x3_add1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9580,7 +9580,7 @@ void Ifc4x3_add1::IfcCoveringType::setPredefinedType(const ::Ifc4x3_add1::IfcCov const ifcopenshell::entity& Ifc4x3_add1::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[257]); } -void Ifc4x3_add1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCoveringType Ifc4x3_add1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > Ifc4x3_add1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9588,7 +9588,7 @@ void Ifc4x3_add1::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[259]); } -void Ifc4x3_add1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcCrewResource Ifc4x3_add1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value Ifc4x3_add1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9596,7 +9596,7 @@ void Ifc4x3_add1::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[260]); } -void Ifc4x3_add1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcCrewResourceType Ifc4x3_add1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_add1::IfcAxis2Placement3D Ifc4x3_add1::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcAxis2Placement3D>(); } @@ -9604,7 +9604,7 @@ void Ifc4x3_add1::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_add1::IfcAxis2Pl const ifcopenshell::entity& Ifc4x3_add1::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[262]); } -void Ifc4x3_add1::IfcCsgPrimitive3D::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add1::IfcCsgPrimitive3D Ifc4x3_add1::IfcCsgPrimitive3D::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_add1::IfcCsgSelect Ifc4x3_add1::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCsgSelect>(); } @@ -9612,7 +9612,7 @@ void Ifc4x3_add1::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_add1::IfcCsg const ifcopenshell::entity& Ifc4x3_add1::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[264]); } -void Ifc4x3_add1::IfcCsgSolid::initialize(::Ifc4x3_add1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_add1::IfcCsgSolid Ifc4x3_add1::IfcCsgSolid::initialize(::Ifc4x3_add1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_add1::IfcMonetaryUnit Ifc4x3_add1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcMonetaryUnit>(); } @@ -9628,7 +9628,7 @@ void Ifc4x3_add1::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[266]); } -void Ifc4x3_add1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_add1::IfcCurrencyRelationship Ifc4x3_add1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > Ifc4x3_add1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9636,7 +9636,7 @@ void Ifc4x3_add1::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[267]); } -void Ifc4x3_add1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcCurtainWall Ifc4x3_add1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value Ifc4x3_add1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_add1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9644,13 +9644,13 @@ void Ifc4x3_add1::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[268]); } -void Ifc4x3_add1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcCurtainWallType Ifc4x3_add1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_add1::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[271]); } -void Ifc4x3_add1::IfcCurve::initialize() { } +Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_add1::IfcPlane Ifc4x3_add1::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPlane>(); } @@ -9662,7 +9662,7 @@ void Ifc4x3_add1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< :: const ifcopenshell::entity& Ifc4x3_add1::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[272]); } -void Ifc4x3_add1::IfcCurveBoundedPlane::initialize(::Ifc4x3_add1::IfcPlane v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_add1::IfcCurveBoundedPlane Ifc4x3_add1::IfcCurveBoundedPlane::initialize(::Ifc4x3_add1::IfcPlane v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -9674,7 +9674,7 @@ void Ifc4x3_add1::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_ const ifcopenshell::entity& Ifc4x3_add1::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[273]); } -void Ifc4x3_add1::IfcCurveBoundedSurface::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_add1::IfcCurveBoundedSurface Ifc4x3_add1::IfcCurveBoundedSurface::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3_add1::IfcPlacement Ifc4x3_add1::IfcCurveSegment::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcPlacement>(); } @@ -9688,7 +9688,7 @@ void Ifc4x3_add1::IfcCurveSegment::setParentCurve(const ::Ifc4x3_add1::IfcCurve& const ifcopenshell::entity& Ifc4x3_add1::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[279]); } -void Ifc4x3_add1::IfcCurveSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add1::IfcPlacement v2_Placement, ::Ifc4x3_add1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add1::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve)); } +Ifc4x3_add1::IfcCurveSegment Ifc4x3_add1::IfcCurveSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add1::IfcPlacement v2_Placement, ::Ifc4x3_add1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add1::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_add1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9702,7 +9702,7 @@ void Ifc4x3_add1::IfcCurveStyle::setModelOrDraughting(const std::optional< bool const ifcopenshell::entity& Ifc4x3_add1::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[280]); } -void Ifc4x3_add1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_add1::IfcCurveStyle Ifc4x3_add1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_add1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9712,7 +9712,7 @@ void Ifc4x3_add1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[281]); } -void Ifc4x3_add1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_add1::IfcCurveStyleFont Ifc4x3_add1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_add1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9724,7 +9724,7 @@ void Ifc4x3_add1::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_add1::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[282]); } -void Ifc4x3_add1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_add1::IfcCurveStyleFontAndScaling Ifc4x3_add1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_add1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9734,7 +9734,7 @@ void Ifc4x3_add1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doub const ifcopenshell::entity& Ifc4x3_add1::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[283]); } -void Ifc4x3_add1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_add1::IfcCurveStyleFontPattern Ifc4x3_add1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_add1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9742,7 +9742,7 @@ void Ifc4x3_add1::IfcCylindricalSurface::setRadius(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_add1::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[285]); } -void Ifc4x3_add1::IfcCylindricalSurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add1::IfcCylindricalSurface Ifc4x3_add1::IfcCylindricalSurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > Ifc4x3_add1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9750,7 +9750,7 @@ void Ifc4x3_add1::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[286]); } -void Ifc4x3_add1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDamper Ifc4x3_add1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_add1::IfcDamperTypeEnum::Value Ifc4x3_add1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_add1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9758,19 +9758,19 @@ void Ifc4x3_add1::IfcDamperType::setPredefinedType(const ::Ifc4x3_add1::IfcDampe const ifcopenshell::entity& Ifc4x3_add1::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[287]); } -void Ifc4x3_add1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDamperType Ifc4x3_add1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_add1::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[294]); } -void Ifc4x3_add1::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcDeepFoundation Ifc4x3_add1::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_add1::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[295]); } -void Ifc4x3_add1::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcDeepFoundationType Ifc4x3_add1::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -9782,7 +9782,7 @@ void Ifc4x3_add1::IfcDerivedProfileDef::setLabel(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add1::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[298]); } -void Ifc4x3_add1::IfcDerivedProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_add1::IfcDerivedProfileDef Ifc4x3_add1::IfcDerivedProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_add1::IfcDerivedUnitElement > Ifc4x3_add1::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcDerivedUnitElement>(es); } @@ -9796,7 +9796,7 @@ void Ifc4x3_add1::IfcDerivedUnit::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_add1::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[299]); } -void Ifc4x3_add1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_add1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } } +Ifc4x3_add1::IfcDerivedUnit Ifc4x3_add1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_add1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_add1::IfcNamedUnit Ifc4x3_add1::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcNamedUnit>(); } @@ -9806,7 +9806,7 @@ void Ifc4x3_add1::IfcDerivedUnitElement::setExponent(const int& v) { set_attribu const ifcopenshell::entity& Ifc4x3_add1::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[300]); } -void Ifc4x3_add1::IfcDerivedUnitElement::initialize(::Ifc4x3_add1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_add1::IfcDerivedUnitElement Ifc4x3_add1::IfcDerivedUnitElement::initialize(::Ifc4x3_add1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_add1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9826,7 +9826,7 @@ void Ifc4x3_add1::IfcDimensionalExponents::setLuminousIntensityExponent(const in const ifcopenshell::entity& Ifc4x3_add1::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[303]); } -void Ifc4x3_add1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_add1::IfcDimensionalExponents Ifc4x3_add1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_add1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9834,7 +9834,7 @@ void Ifc4x3_add1::IfcDirection::setDirectionRatios(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_add1::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[305]); } -void Ifc4x3_add1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -9846,13 +9846,13 @@ void Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[307]); } -void Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid const ifcopenshell::entity& Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[308]); } -void Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_add1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9860,7 +9860,7 @@ void Ifc4x3_add1::IfcDiscreteAccessory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[309]); } -void Ifc4x3_add1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDiscreteAccessory Ifc4x3_add1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9868,7 +9868,7 @@ void Ifc4x3_add1::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[310]); } -void Ifc4x3_add1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDiscreteAccessoryType Ifc4x3_add1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_add1::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9876,7 +9876,7 @@ void Ifc4x3_add1::IfcDistributionBoard::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[312]); } -void Ifc4x3_add1::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDistributionBoard Ifc4x3_add1::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9884,7 +9884,7 @@ void Ifc4x3_add1::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[313]); } -void Ifc4x3_add1::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDistributionBoardType Ifc4x3_add1::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_add1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9892,7 +9892,7 @@ void Ifc4x3_add1::IfcDistributionChamberElement::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[315]); } -void Ifc4x3_add1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDistributionChamberElement Ifc4x3_add1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9900,52 +9900,52 @@ void Ifc4x3_add1::IfcDistributionChamberElementType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[316]); } -void Ifc4x3_add1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDistributionChamberElementType Ifc4x3_add1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[318]); } -void Ifc4x3_add1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_add1::IfcDistributionCircuit Ifc4x3_add1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[937], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[319]); } -void Ifc4x3_add1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcDistributionControlElement Ifc4x3_add1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[320]); } -void Ifc4x3_add1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcDistributionControlElementType Ifc4x3_add1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_add1::IfcRelConnectsPortToElement> Ifc4x3_add1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[921], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[321]); } -void Ifc4x3_add1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcDistributionElement Ifc4x3_add1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[322]); } -void Ifc4x3_add1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcDistributionElementType Ifc4x3_add1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_add1::IfcRelFlowControlElements> Ifc4x3_add1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[937], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[323]); } -void Ifc4x3_add1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcDistributionFlowElement Ifc4x3_add1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[324]); } -void Ifc4x3_add1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcDistributionFlowElementType Ifc4x3_add1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > Ifc4x3_add1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -9957,7 +9957,7 @@ void Ifc4x3_add1::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[325]); } -void Ifc4x3_add1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_add1::IfcDistributionPort Ifc4x3_add1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_add1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9967,7 +9967,7 @@ void Ifc4x3_add1::IfcDistributionSystem::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[327]); } -void Ifc4x3_add1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_add1::IfcDistributionSystem Ifc4x3_add1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_add1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10011,7 +10011,7 @@ std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcD std::vector<::Ifc4x3_add1::IfcDocumentInformationRelationship> Ifc4x3_add1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[331], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[330]); } -void Ifc4x3_add1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_add1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_add1::IfcDocumentInformation Ifc4x3_add1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_add1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_add1::IfcDocumentInformation Ifc4x3_add1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcDocumentInformation>(); } @@ -10023,7 +10023,7 @@ void Ifc4x3_add1::IfcDocumentInformationRelationship::setRelationshipType(const const ifcopenshell::entity& Ifc4x3_add1::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[331]); } -void Ifc4x3_add1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_add1::IfcDocumentInformationRelationship Ifc4x3_add1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_add1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10034,7 +10034,7 @@ void Ifc4x3_add1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_add std::vector<::Ifc4x3_add1::IfcRelAssociatesDocument> Ifc4x3_add1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[912], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[332]); } -void Ifc4x3_add1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_add1::IfcDocumentReference Ifc4x3_add1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_add1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10050,7 +10050,7 @@ void Ifc4x3_add1::IfcDoor::setUserDefinedOperationType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add1::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[335]); } -void Ifc4x3_add1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_add1::IfcDoor Ifc4x3_add1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10082,7 +10082,7 @@ void Ifc4x3_add1::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[336]); } -void Ifc4x3_add1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_add1::IfcDoorLiningProperties Ifc4x3_add1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_add1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10098,7 +10098,7 @@ void Ifc4x3_add1::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[339]); } -void Ifc4x3_add1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_add1::IfcDoorPanelProperties Ifc4x3_add1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_add1::IfcDoorTypeEnum::Value Ifc4x3_add1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_add1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10112,19 +10112,19 @@ void Ifc4x3_add1::IfcDoorType::setUserDefinedOperationType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[340]); } -void Ifc4x3_add1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_add1::IfcDoorType Ifc4x3_add1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_add1::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[344]); } -void Ifc4x3_add1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add1::IfcDraughtingPreDefinedColour Ifc4x3_add1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[345]); } -void Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > Ifc4x3_add1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10132,7 +10132,7 @@ void Ifc4x3_add1::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[346]); } -void Ifc4x3_add1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDuctFitting Ifc4x3_add1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value Ifc4x3_add1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10140,7 +10140,7 @@ void Ifc4x3_add1::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[347]); } -void Ifc4x3_add1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDuctFittingType Ifc4x3_add1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_add1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10148,7 +10148,7 @@ void Ifc4x3_add1::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[349]); } -void Ifc4x3_add1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDuctSegment Ifc4x3_add1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value Ifc4x3_add1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10156,7 +10156,7 @@ void Ifc4x3_add1::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[350]); } -void Ifc4x3_add1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDuctSegmentType Ifc4x3_add1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_add1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10164,7 +10164,7 @@ void Ifc4x3_add1::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[352]); } -void Ifc4x3_add1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcDuctSilencer Ifc4x3_add1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value Ifc4x3_add1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10172,7 +10172,7 @@ void Ifc4x3_add1::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[353]); } -void Ifc4x3_add1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcDuctSilencerType Ifc4x3_add1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_add1::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10180,13 +10180,13 @@ void Ifc4x3_add1::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[357]); } -void Ifc4x3_add1::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcEarthworksCut Ifc4x3_add1::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_add1::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[359]); } -void Ifc4x3_add1::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcEarthworksElement Ifc4x3_add1::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_add1::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10194,7 +10194,7 @@ void Ifc4x3_add1::IfcEarthworksFill::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[360]); } -void Ifc4x3_add1::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcEarthworksFill Ifc4x3_add1::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_add1::IfcVertex Ifc4x3_add1::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcVertex>(); } @@ -10204,7 +10204,7 @@ void Ifc4x3_add1::IfcEdge::setEdgeEnd(const ::Ifc4x3_add1::IfcVertex& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[362]); } -void Ifc4x3_add1::IfcEdge::initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_add1::IfcEdge Ifc4x3_add1::IfcEdge::initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -10214,7 +10214,7 @@ void Ifc4x3_add1::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_add1::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[363]); } -void Ifc4x3_add1::IfcEdgeCurve::initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_add1::IfcEdgeCurve Ifc4x3_add1::IfcEdgeCurve::initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_add1::IfcOrientedEdge > Ifc4x3_add1::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcOrientedEdge>(es); } @@ -10222,7 +10222,7 @@ void Ifc4x3_add1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[364]); } -void Ifc4x3_add1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_add1::IfcEdgeLoop Ifc4x3_add1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_add1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10230,7 +10230,7 @@ void Ifc4x3_add1::IfcElectricAppliance::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[365]); } -void Ifc4x3_add1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricAppliance Ifc4x3_add1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value Ifc4x3_add1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10238,7 +10238,7 @@ void Ifc4x3_add1::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[366]); } -void Ifc4x3_add1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricApplianceType Ifc4x3_add1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_add1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10246,7 +10246,7 @@ void Ifc4x3_add1::IfcElectricDistributionBoard::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_add1::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[372]); } -void Ifc4x3_add1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricDistributionBoard Ifc4x3_add1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10254,7 +10254,7 @@ void Ifc4x3_add1::IfcElectricDistributionBoardType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_add1::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[373]); } -void Ifc4x3_add1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricDistributionBoardType Ifc4x3_add1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_add1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10262,7 +10262,7 @@ void Ifc4x3_add1::IfcElectricFlowStorageDevice::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_add1::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[375]); } -void Ifc4x3_add1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricFlowStorageDevice Ifc4x3_add1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10270,7 +10270,7 @@ void Ifc4x3_add1::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_add1::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[376]); } -void Ifc4x3_add1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricFlowStorageDeviceType Ifc4x3_add1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_add1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10278,7 +10278,7 @@ void Ifc4x3_add1::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_add1::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[378]); } -void Ifc4x3_add1::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricFlowTreatmentDevice Ifc4x3_add1::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10286,7 +10286,7 @@ void Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[379]); } -void Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_add1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10294,7 +10294,7 @@ void Ifc4x3_add1::IfcElectricGenerator::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[381]); } -void Ifc4x3_add1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricGenerator Ifc4x3_add1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10302,7 +10302,7 @@ void Ifc4x3_add1::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[382]); } -void Ifc4x3_add1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricGeneratorType Ifc4x3_add1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > Ifc4x3_add1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10310,7 +10310,7 @@ void Ifc4x3_add1::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[384]); } -void Ifc4x3_add1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricMotor Ifc4x3_add1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value Ifc4x3_add1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10318,7 +10318,7 @@ void Ifc4x3_add1::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[385]); } -void Ifc4x3_add1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricMotorType Ifc4x3_add1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_add1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10326,7 +10326,7 @@ void Ifc4x3_add1::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[388]); } -void Ifc4x3_add1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcElectricTimeControl Ifc4x3_add1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10334,7 +10334,7 @@ void Ifc4x3_add1::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[389]); } -void Ifc4x3_add1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElectricTimeControlType Ifc4x3_add1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_add1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10354,7 +10354,7 @@ std::vector<::Ifc4x3_add1::IfcRelCoversBldgElements> Ifc4x3_add1::IfcElement::Ha std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[898], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[392]); } -void Ifc4x3_add1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcElement Ifc4x3_add1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > Ifc4x3_add1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10364,7 +10364,7 @@ void Ifc4x3_add1::IfcElementAssembly::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[394]); } -void Ifc4x3_add1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcElementAssembly Ifc4x3_add1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value Ifc4x3_add1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10372,19 +10372,19 @@ void Ifc4x3_add1::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[395]); } -void Ifc4x3_add1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcElementAssemblyType Ifc4x3_add1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_add1::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[397]); } -void Ifc4x3_add1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcElementComponent Ifc4x3_add1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_add1::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[398]); } -void Ifc4x3_add1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcElementComponentType Ifc4x3_add1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_add1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10394,7 +10394,7 @@ void Ifc4x3_add1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[400]); } -void Ifc4x3_add1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_add1::IfcElementQuantity Ifc4x3_add1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_add1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10402,7 +10402,7 @@ void Ifc4x3_add1::IfcElementType::setElementType(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add1::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[401]); } -void Ifc4x3_add1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcElementType Ifc4x3_add1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_add1::IfcAxis2Placement3D Ifc4x3_add1::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcAxis2Placement3D>(); } @@ -10410,7 +10410,7 @@ void Ifc4x3_add1::IfcElementarySurface::setPosition(const ::Ifc4x3_add1::IfcAxis const ifcopenshell::entity& Ifc4x3_add1::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[393]); } -void Ifc4x3_add1::IfcElementarySurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add1::IfcElementarySurface Ifc4x3_add1::IfcElementarySurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_add1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10420,7 +10420,7 @@ void Ifc4x3_add1::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_add1::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[402]); } -void Ifc4x3_add1::IfcEllipse::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_add1::IfcEllipse Ifc4x3_add1::IfcEllipse::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_add1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10430,19 +10430,19 @@ void Ifc4x3_add1::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add1::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[403]); } -void Ifc4x3_add1::IfcEllipseProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_add1::IfcEllipseProfileDef Ifc4x3_add1::IfcEllipseProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_add1::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[404]); } -void Ifc4x3_add1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcEnergyConversionDevice Ifc4x3_add1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_add1::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[405]); } -void Ifc4x3_add1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcEnergyConversionDeviceType Ifc4x3_add1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > Ifc4x3_add1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10450,7 +10450,7 @@ void Ifc4x3_add1::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[407]); } -void Ifc4x3_add1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcEngine Ifc4x3_add1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_add1::IfcEngineTypeEnum::Value Ifc4x3_add1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_add1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10458,7 +10458,7 @@ void Ifc4x3_add1::IfcEngineType::setPredefinedType(const ::Ifc4x3_add1::IfcEngin const ifcopenshell::entity& Ifc4x3_add1::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[408]); } -void Ifc4x3_add1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcEngineType Ifc4x3_add1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_add1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10466,7 +10466,7 @@ void Ifc4x3_add1::IfcEvaporativeCooler::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[410]); } -void Ifc4x3_add1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcEvaporativeCooler Ifc4x3_add1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10474,7 +10474,7 @@ void Ifc4x3_add1::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[411]); } -void Ifc4x3_add1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcEvaporativeCoolerType Ifc4x3_add1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > Ifc4x3_add1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10482,7 +10482,7 @@ void Ifc4x3_add1::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[413]); } -void Ifc4x3_add1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcEvaporator Ifc4x3_add1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value Ifc4x3_add1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10490,7 +10490,7 @@ void Ifc4x3_add1::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_add1::IfcE const ifcopenshell::entity& Ifc4x3_add1::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[414]); } -void Ifc4x3_add1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcEvaporatorType Ifc4x3_add1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > Ifc4x3_add1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10504,7 +10504,7 @@ void Ifc4x3_add1::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_add1::IfcEventT const ifcopenshell::entity& Ifc4x3_add1::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[416]); } -void Ifc4x3_add1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_add1::IfcEvent Ifc4x3_add1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_add1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10518,7 +10518,7 @@ void Ifc4x3_add1::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[417]); } -void Ifc4x3_add1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_add1::IfcEventTime Ifc4x3_add1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_add1::IfcEventTypeEnum::Value Ifc4x3_add1::IfcEventType::PredefinedType() const { return ::Ifc4x3_add1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10530,7 +10530,7 @@ void Ifc4x3_add1::IfcEventType::setUserDefinedEventTriggerType(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[419]); } -void Ifc4x3_add1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_add1::IfcEventType Ifc4x3_add1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_add1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10542,13 +10542,13 @@ void Ifc4x3_add1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[421]); } -void Ifc4x3_add1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_add1::IfcExtendedProperties Ifc4x3_add1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_add1::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[422]); } -void Ifc4x3_add1::IfcExternalInformation::initialize() { } +Ifc4x3_add1::IfcExternalInformation Ifc4x3_add1::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_add1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10561,7 +10561,7 @@ void Ifc4x3_add1::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[426]); } -void Ifc4x3_add1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add1::IfcExternalReference Ifc4x3_add1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_add1::IfcExternalReference Ifc4x3_add1::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcExternalReference>(); } @@ -10571,7 +10571,7 @@ void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[427]); } -void Ifc4x3_add1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_add1::IfcExternalReferenceRelationship Ifc4x3_add1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10580,31 +10580,31 @@ void Ifc4x3_add1::IfcExternalSpatialElement::setPredefinedType(const std::option std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[945], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[428]); } -void Ifc4x3_add1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcExternalSpatialElement Ifc4x3_add1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_add1::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[430]); } -void Ifc4x3_add1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_add1::IfcExternalSpatialStructureElement Ifc4x3_add1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_add1::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[423]); } -void Ifc4x3_add1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add1::IfcExternallyDefinedHatchStyle Ifc4x3_add1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[424]); } -void Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_add1::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[425]); } -void Ifc4x3_add1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add1::IfcExternallyDefinedTextFont Ifc4x3_add1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -10614,7 +10614,7 @@ void Ifc4x3_add1::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add1::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[431]); } -void Ifc4x3_add1::IfcExtrudedAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_add1::IfcExtrudedAreaSolid Ifc4x3_add1::IfcExtrudedAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -10622,7 +10622,7 @@ void Ifc4x3_add1::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[432]); } -void Ifc4x3_add1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_add1::IfcExtrudedAreaSolidTapered Ifc4x3_add1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_add1::IfcFaceBound > Ifc4x3_add1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcFaceBound>(es); } @@ -10631,7 +10631,7 @@ void Ifc4x3_add1::IfcFace::setBounds(const std::vector< ::Ifc4x3_add1::IfcFaceBo std::vector<::Ifc4x3_add1::IfcTextureMap> Ifc4x3_add1::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1196], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[433]); } -void Ifc4x3_add1::IfcFace::initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_add1::IfcFace Ifc4x3_add1::IfcFace::initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet > Ifc4x3_add1::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcConnectedFaceSet>(es); } @@ -10639,7 +10639,7 @@ void Ifc4x3_add1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[434]); } -void Ifc4x3_add1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_add1::IfcFaceBasedSurfaceModel Ifc4x3_add1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_add1::IfcLoop Ifc4x3_add1::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcLoop>(); } @@ -10649,13 +10649,13 @@ void Ifc4x3_add1::IfcFaceBound::setOrientation(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_add1::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[435]); } -void Ifc4x3_add1::IfcFaceBound::initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_add1::IfcFaceBound Ifc4x3_add1::IfcFaceBound::initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_add1::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[436]); } -void Ifc4x3_add1::IfcFaceOuterBound::initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_add1::IfcFaceOuterBound Ifc4x3_add1::IfcFaceOuterBound::initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -10665,13 +10665,13 @@ void Ifc4x3_add1::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_add1::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[437]); } -void Ifc4x3_add1::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_add1::IfcFaceSurface Ifc4x3_add1::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_add1::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[438]); } -void Ifc4x3_add1::IfcFacetedBrep::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_add1::IfcFacetedBrep Ifc4x3_add1::IfcFacetedBrep::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_add1::IfcClosedShell > Ifc4x3_add1::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add1::IfcClosedShell>(es); } @@ -10679,13 +10679,13 @@ void Ifc4x3_add1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[439]); } -void Ifc4x3_add1::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_add1::IfcFacetedBrepWithVoids Ifc4x3_add1::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_add1::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[440]); } -void Ifc4x3_add1::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_add1::IfcFacility Ifc4x3_add1::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_add1::IfcFacilityUsageEnum::Value Ifc4x3_add1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_add1::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } @@ -10693,7 +10693,7 @@ void Ifc4x3_add1::IfcFacilityPart::setUsageType(const ::Ifc4x3_add1::IfcFacility const ifcopenshell::entity& Ifc4x3_add1::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[441]); } -void Ifc4x3_add1::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); } +Ifc4x3_add1::IfcFacilityPart Ifc4x3_add1::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; return *this; } // Function implementations for IfcFacilityPartCommon std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_add1::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } @@ -10701,7 +10701,7 @@ void Ifc4x3_add1::IfcFacilityPartCommon::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcFacilityPartCommon::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[442]); } -void Ifc4x3_add1::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcFacilityPartCommon Ifc4x3_add1::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10719,7 +10719,7 @@ void Ifc4x3_add1::IfcFailureConnectionCondition::setCompressionFailureZ(const st const ifcopenshell::entity& Ifc4x3_add1::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[445]); } -void Ifc4x3_add1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_add1::IfcFailureConnectionCondition Ifc4x3_add1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > Ifc4x3_add1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10727,7 +10727,7 @@ void Ifc4x3_add1::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[446]); } -void Ifc4x3_add1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFan Ifc4x3_add1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_add1::IfcFanTypeEnum::Value Ifc4x3_add1::IfcFanType::PredefinedType() const { return ::Ifc4x3_add1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10735,7 +10735,7 @@ void Ifc4x3_add1::IfcFanType::setPredefinedType(const ::Ifc4x3_add1::IfcFanTypeE const ifcopenshell::entity& Ifc4x3_add1::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[447]); } -void Ifc4x3_add1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFanType Ifc4x3_add1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > Ifc4x3_add1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10743,7 +10743,7 @@ void Ifc4x3_add1::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[449]); } -void Ifc4x3_add1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFastener Ifc4x3_add1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_add1::IfcFastenerTypeEnum::Value Ifc4x3_add1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_add1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10751,27 +10751,27 @@ void Ifc4x3_add1::IfcFastenerType::setPredefinedType(const ::Ifc4x3_add1::IfcFas const ifcopenshell::entity& Ifc4x3_add1::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[450]); } -void Ifc4x3_add1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFastenerType Ifc4x3_add1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_add1::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[452]); } -void Ifc4x3_add1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFeatureElement Ifc4x3_add1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_add1::IfcRelProjectsElement> Ifc4x3_add1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[941], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[453]); } -void Ifc4x3_add1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFeatureElementAddition Ifc4x3_add1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_add1::IfcRelVoidsElement> Ifc4x3_add1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[948], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[454]); } -void Ifc4x3_add1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFeatureElementSubtraction Ifc4x3_add1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_add1::IfcFillStyleSelect > Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add1::IfcFillStyleSelect>(es); } @@ -10781,7 +10781,7 @@ void Ifc4x3_add1::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bo const ifcopenshell::entity& Ifc4x3_add1::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[455]); } -void Ifc4x3_add1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3_add1::IfcFillAreaStyle Ifc4x3_add1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_add1::IfcCurveStyle Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurveStyle>(); } @@ -10797,7 +10797,7 @@ void Ifc4x3_add1::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[456]); } -void Ifc4x3_add1::IfcFillAreaStyleHatching::initialize(::Ifc4x3_add1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_add1::IfcFillAreaStyleHatching Ifc4x3_add1::IfcFillAreaStyleHatching::initialize(::Ifc4x3_add1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_add1::IfcVector > Ifc4x3_add1::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcVector>(es); } @@ -10809,7 +10809,7 @@ void Ifc4x3_add1::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[457]); } -void Ifc4x3_add1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_add1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_add1::IfcFillAreaStyleTiles Ifc4x3_add1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_add1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > Ifc4x3_add1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10817,7 +10817,7 @@ void Ifc4x3_add1::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[459]); } -void Ifc4x3_add1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFilter Ifc4x3_add1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_add1::IfcFilterTypeEnum::Value Ifc4x3_add1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_add1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10825,7 +10825,7 @@ void Ifc4x3_add1::IfcFilterType::setPredefinedType(const ::Ifc4x3_add1::IfcFilte const ifcopenshell::entity& Ifc4x3_add1::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[460]); } -void Ifc4x3_add1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFilterType Ifc4x3_add1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_add1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10833,7 +10833,7 @@ void Ifc4x3_add1::IfcFireSuppressionTerminal::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x3_add1::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[462]); } -void Ifc4x3_add1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFireSuppressionTerminal Ifc4x3_add1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10841,7 +10841,7 @@ void Ifc4x3_add1::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[463]); } -void Ifc4x3_add1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFireSuppressionTerminalType Ifc4x3_add1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -10849,31 +10849,31 @@ void Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[465]); } -void Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_add1::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[466]); } -void Ifc4x3_add1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowController Ifc4x3_add1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[467]); } -void Ifc4x3_add1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowControllerType Ifc4x3_add1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_add1::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[469]); } -void Ifc4x3_add1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowFitting Ifc4x3_add1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[470]); } -void Ifc4x3_add1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowFittingType Ifc4x3_add1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_add1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10881,7 +10881,7 @@ void Ifc4x3_add1::IfcFlowInstrument::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[471]); } -void Ifc4x3_add1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFlowInstrument Ifc4x3_add1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -10889,7 +10889,7 @@ void Ifc4x3_add1::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[472]); } -void Ifc4x3_add1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFlowInstrumentType Ifc4x3_add1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > Ifc4x3_add1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -10897,7 +10897,7 @@ void Ifc4x3_add1::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[474]); } -void Ifc4x3_add1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFlowMeter Ifc4x3_add1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value Ifc4x3_add1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_add1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -10905,67 +10905,67 @@ void Ifc4x3_add1::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_add1::IfcFl const ifcopenshell::entity& Ifc4x3_add1::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[475]); } -void Ifc4x3_add1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFlowMeterType Ifc4x3_add1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_add1::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[477]); } -void Ifc4x3_add1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowMovingDevice Ifc4x3_add1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[478]); } -void Ifc4x3_add1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowMovingDeviceType Ifc4x3_add1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_add1::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[479]); } -void Ifc4x3_add1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowSegment Ifc4x3_add1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[480]); } -void Ifc4x3_add1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowSegmentType Ifc4x3_add1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_add1::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[481]); } -void Ifc4x3_add1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowStorageDevice Ifc4x3_add1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[482]); } -void Ifc4x3_add1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowStorageDeviceType Ifc4x3_add1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_add1::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[483]); } -void Ifc4x3_add1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowTerminal Ifc4x3_add1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[484]); } -void Ifc4x3_add1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowTerminalType Ifc4x3_add1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_add1::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[485]); } -void Ifc4x3_add1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFlowTreatmentDevice Ifc4x3_add1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_add1::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[486]); } -void Ifc4x3_add1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFlowTreatmentDeviceType Ifc4x3_add1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > Ifc4x3_add1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -10973,7 +10973,7 @@ void Ifc4x3_add1::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[490]); } -void Ifc4x3_add1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFooting Ifc4x3_add1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_add1::IfcFootingTypeEnum::Value Ifc4x3_add1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_add1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -10981,19 +10981,19 @@ void Ifc4x3_add1::IfcFootingType::setPredefinedType(const ::Ifc4x3_add1::IfcFoot const ifcopenshell::entity& Ifc4x3_add1::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[491]); } -void Ifc4x3_add1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcFootingType Ifc4x3_add1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_add1::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[495]); } -void Ifc4x3_add1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcFurnishingElement Ifc4x3_add1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_add1::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[496]); } -void Ifc4x3_add1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcFurnishingElementType Ifc4x3_add1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > Ifc4x3_add1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11001,7 +11001,7 @@ void Ifc4x3_add1::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[497]); } -void Ifc4x3_add1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcFurniture Ifc4x3_add1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value Ifc4x3_add1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_add1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11011,7 +11011,7 @@ void Ifc4x3_add1::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[498]); } -void Ifc4x3_add1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcFurnitureType Ifc4x3_add1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicCRS std::optional< std::string > Ifc4x3_add1::IfcGeographicCRS::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -11023,7 +11023,7 @@ void Ifc4x3_add1::IfcGeographicCRS::setUnit(const ::Ifc4x3_add1::IfcNamedUnit& v const ifcopenshell::entity& Ifc4x3_add1::IfcGeographicCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[500]); } -void Ifc4x3_add1::IfcGeographicCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add1::IfcNamedUnit v5_Unit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, (v5_Unit)); } +Ifc4x3_add1::IfcGeographicCRS Ifc4x3_add1::IfcGeographicCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add1::IfcNamedUnit v5_Unit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, (v5_Unit));; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > Ifc4x3_add1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11031,7 +11031,7 @@ void Ifc4x3_add1::IfcGeographicElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[501]); } -void Ifc4x3_add1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcGeographicElement Ifc4x3_add1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value Ifc4x3_add1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11039,13 +11039,13 @@ void Ifc4x3_add1::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[502]); } -void Ifc4x3_add1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcGeographicElementType Ifc4x3_add1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_add1::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[504]); } -void Ifc4x3_add1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_add1::IfcGeometricCurveSet Ifc4x3_add1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_add1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11061,13 +11061,13 @@ std::vector<::Ifc4x3_add1::IfcGeometricRepresentationSubContext> Ifc4x3_add1::If std::vector<::Ifc4x3_add1::IfcCoordinateOperation> Ifc4x3_add1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[243], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[506]); } -void Ifc4x3_add1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_add1::IfcGeometricRepresentationContext Ifc4x3_add1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_add1::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[507]); } -void Ifc4x3_add1::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_add1::IfcGeometricRepresentationItem Ifc4x3_add1::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_add1::IfcGeometricRepresentationContext Ifc4x3_add1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcGeometricRepresentationContext>(); } @@ -11081,7 +11081,7 @@ void Ifc4x3_add1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView const ifcopenshell::entity& Ifc4x3_add1::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[508]); } -void Ifc4x3_add1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_add1::IfcGeometricRepresentationSubContext Ifc4x3_add1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > Ifc4x3_add1::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcGeometricSetSelect>(es); } @@ -11089,31 +11089,31 @@ void Ifc4x3_add1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[509]); } -void Ifc4x3_add1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_add1::IfcGeometricSet Ifc4x3_add1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_add1::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[511]); } -void Ifc4x3_add1::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcGeomodel Ifc4x3_add1::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_add1::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[512]); } -void Ifc4x3_add1::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcGeoslice Ifc4x3_add1::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_add1::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[513]); } -void Ifc4x3_add1::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcGeotechnicalAssembly Ifc4x3_add1::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_add1::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[514]); } -void Ifc4x3_add1::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcGeotechnicalElement Ifc4x3_add1::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_add1::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } @@ -11121,7 +11121,7 @@ void Ifc4x3_add1::IfcGeotechnicalStratum::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[515]); } -void Ifc4x3_add1::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcGeotechnicalStratum Ifc4x3_add1::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3_add1::IfcBoundedCurve Ifc4x3_add1::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcBoundedCurve>(); } @@ -11131,7 +11131,7 @@ void Ifc4x3_add1::IfcGradientCurve::setEndPoint(const ::Ifc4x3_add1::IfcPlacemen const ifcopenshell::entity& Ifc4x3_add1::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[519]); } -void Ifc4x3_add1::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_add1::IfcGradientCurve Ifc4x3_add1::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_add1::IfcGridAxis > Ifc4x3_add1::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add1::IfcGridAxis>(es); } @@ -11145,7 +11145,7 @@ void Ifc4x3_add1::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[520]); } -void Ifc4x3_add1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcGrid Ifc4x3_add1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_add1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11161,7 +11161,7 @@ std::vector<::Ifc4x3_add1::IfcGrid> Ifc4x3_add1::IfcGridAxis::PartOfU() const { std::vector<::Ifc4x3_add1::IfcVirtualGridIntersection> Ifc4x3_add1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1277], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[521]); } -void Ifc4x3_add1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_add1::IfcGridAxis Ifc4x3_add1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_add1::IfcVirtualGridIntersection Ifc4x3_add1::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcVirtualGridIntersection>(); } @@ -11171,7 +11171,7 @@ void Ifc4x3_add1::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[522]); } -void Ifc4x3_add1::IfcGridPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_add1::IfcGridPlacement Ifc4x3_add1::IfcGridPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup @@ -11179,7 +11179,7 @@ std::vector<::Ifc4x3_add1::IfcRelAssignsToGroup> Ifc4x3_add1::IfcGroup::IsGroupe std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[525]); } -void Ifc4x3_add1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_add1::IfcGroup Ifc4x3_add1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -11189,7 +11189,7 @@ void Ifc4x3_add1::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attri const ifcopenshell::entity& Ifc4x3_add1::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[526]); } -void Ifc4x3_add1::IfcHalfSpaceSolid::initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_add1::IfcHalfSpaceSolid Ifc4x3_add1::IfcHalfSpaceSolid::initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_add1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11197,7 +11197,7 @@ void Ifc4x3_add1::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[528]); } -void Ifc4x3_add1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcHeatExchanger Ifc4x3_add1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value Ifc4x3_add1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11205,7 +11205,7 @@ void Ifc4x3_add1::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[529]); } -void Ifc4x3_add1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcHeatExchangerType Ifc4x3_add1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > Ifc4x3_add1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11213,7 +11213,7 @@ void Ifc4x3_add1::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[533]); } -void Ifc4x3_add1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcHumidifier Ifc4x3_add1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value Ifc4x3_add1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_add1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11221,7 +11221,7 @@ void Ifc4x3_add1::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_add1::IfcH const ifcopenshell::entity& Ifc4x3_add1::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[534]); } -void Ifc4x3_add1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcHumidifierType Ifc4x3_add1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_add1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11241,7 +11241,7 @@ void Ifc4x3_add1::IfcIShapeProfileDef::setFlangeSlope(const std::optional< doubl const ifcopenshell::entity& Ifc4x3_add1::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[563]); } -void Ifc4x3_add1::IfcIShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_add1::IfcIShapeProfileDef Ifc4x3_add1::IfcIShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_add1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11249,7 +11249,7 @@ void Ifc4x3_add1::IfcImageTexture::setURLReference(const std::string& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[538]); } -void Ifc4x3_add1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_add1::IfcImageTexture Ifc4x3_add1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_add1::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11257,7 +11257,7 @@ void Ifc4x3_add1::IfcImpactProtectionDevice::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[539]); } -void Ifc4x3_add1::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcImpactProtectionDevice Ifc4x3_add1::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add1::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11265,7 +11265,7 @@ void Ifc4x3_add1::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[540]); } -void Ifc4x3_add1::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcImpactProtectionDeviceType Ifc4x3_add1::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_add1::IfcTessellatedFaceSet Ifc4x3_add1::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcTessellatedFaceSet>(); } @@ -11279,7 +11279,7 @@ void Ifc4x3_add1::IfcIndexedColourMap::setColourIndex(const std::vector< int > / const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[542]); } -void Ifc4x3_add1::IfcIndexedColourMap::initialize(::Ifc4x3_add1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_add1::IfcIndexedColourMap Ifc4x3_add1::IfcIndexedColourMap::initialize(::Ifc4x3_add1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_add1::IfcCartesianPointList Ifc4x3_add1::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCartesianPointList>(); } @@ -11291,7 +11291,7 @@ void Ifc4x3_add1::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< boo const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[543]); } -void Ifc4x3_add1::IfcIndexedPolyCurve::initialize(::Ifc4x3_add1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_add1::IfcIndexedPolyCurve Ifc4x3_add1::IfcIndexedPolyCurve::initialize(::Ifc4x3_add1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11301,7 +11301,7 @@ std::vector<::Ifc4x3_add1::IfcPolygonalFaceSet> Ifc4x3_add1::IfcIndexedPolygonal std::vector<::Ifc4x3_add1::IfcTextureCoordinateIndices> Ifc4x3_add1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1194], 1)); } const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[544]); } -void Ifc4x3_add1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_add1::IfcIndexedPolygonalFace Ifc4x3_add1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11309,7 +11309,7 @@ void Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const s const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[545]); } -void Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedPolygonalTextureMap std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices > Ifc4x3_add1::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add1::IfcTextureCoordinateIndices>(es); } @@ -11317,7 +11317,7 @@ void Ifc4x3_add1::IfcIndexedPolygonalTextureMap::setTexCoordIndices(const std::v const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedPolygonalTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[546]); } -void Ifc4x3_add1::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices)); } +Ifc4x3_add1::IfcIndexedPolygonalTextureMap Ifc4x3_add1::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_add1::IfcTessellatedFaceSet Ifc4x3_add1::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcTessellatedFaceSet>(); } @@ -11327,7 +11327,7 @@ void Ifc4x3_add1::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_add1::IfcTex const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[547]); } -void Ifc4x3_add1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_add1::IfcIndexedTextureMap Ifc4x3_add1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_add1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11335,7 +11335,7 @@ void Ifc4x3_add1::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[548]); } -void Ifc4x3_add1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_add1::IfcIndexedTriangleTextureMap Ifc4x3_add1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > Ifc4x3_add1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11343,7 +11343,7 @@ void Ifc4x3_add1::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[552]); } -void Ifc4x3_add1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcInterceptor Ifc4x3_add1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value Ifc4x3_add1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_add1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11351,13 +11351,13 @@ void Ifc4x3_add1::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[553]); } -void Ifc4x3_add1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcInterceptorType Ifc4x3_add1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_add1::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[557]); } -void Ifc4x3_add1::IfcIntersectionCurve::initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_add1::IfcIntersectionCurve Ifc4x3_add1::IfcIntersectionCurve::initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > Ifc4x3_add1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11375,7 +11375,7 @@ void Ifc4x3_add1::IfcInventory::setOriginalValue(const ::Ifc4x3_add1::IfcCostVal const ifcopenshell::entity& Ifc4x3_add1::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[558]); } -void Ifc4x3_add1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add1::IfcCostValue v10_CurrentValue, ::Ifc4x3_add1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_add1::IfcInventory Ifc4x3_add1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add1::IfcCostValue v10_CurrentValue, ::Ifc4x3_add1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue > Ifc4x3_add1::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add1::IfcIrregularTimeSeriesValue>(es); } @@ -11383,7 +11383,7 @@ void Ifc4x3_add1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[561]); } -void Ifc4x3_add1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_add1::IfcIrregularTimeSeries Ifc4x3_add1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_add1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11393,7 +11393,7 @@ void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< const ifcopenshell::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[562]); } -void Ifc4x3_add1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_add1::IfcIrregularTimeSeriesValue Ifc4x3_add1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11401,7 +11401,7 @@ void Ifc4x3_add1::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[565]); } -void Ifc4x3_add1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcJunctionBox Ifc4x3_add1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value Ifc4x3_add1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11409,7 +11409,7 @@ void Ifc4x3_add1::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[566]); } -void Ifc4x3_add1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcJunctionBoxType Ifc4x3_add1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > Ifc4x3_add1::IfcKerb::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcKerbTypeEnum::FromString(get_attribute_value(8)); } @@ -11417,7 +11417,7 @@ void Ifc4x3_add1::IfcKerb::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[568]); } -void Ifc4x3_add1::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcKerb Ifc4x3_add1::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcKerbType ::Ifc4x3_add1::IfcKerbTypeEnum::Value Ifc4x3_add1::IfcKerbType::PredefinedType() const { return ::Ifc4x3_add1::IfcKerbTypeEnum::FromString(get_attribute_value(9)); } @@ -11425,7 +11425,7 @@ void Ifc4x3_add1::IfcKerbType::setPredefinedType(const ::Ifc4x3_add1::IfcKerbTyp const ifcopenshell::entity& Ifc4x3_add1::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[569]); } -void Ifc4x3_add1::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcKerbTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcKerbType Ifc4x3_add1::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcKerbTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_add1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11443,7 +11443,7 @@ void Ifc4x3_add1::IfcLShapeProfileDef::setLegSlope(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add1::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[619]); } -void Ifc4x3_add1::IfcLShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_add1::IfcLShapeProfileDef Ifc4x3_add1::IfcLShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > Ifc4x3_add1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11451,7 +11451,7 @@ void Ifc4x3_add1::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[574]); } -void Ifc4x3_add1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcLaborResource Ifc4x3_add1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value Ifc4x3_add1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11459,7 +11459,7 @@ void Ifc4x3_add1::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[575]); } -void Ifc4x3_add1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcLaborResourceType Ifc4x3_add1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_add1::IfcTimeOrRatioSelect Ifc4x3_add1::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcTimeOrRatioSelect>(); } @@ -11469,7 +11469,7 @@ void Ifc4x3_add1::IfcLagTime::setDurationType(const ::Ifc4x3_add1::IfcTaskDurati const ifcopenshell::entity& Ifc4x3_add1::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[577]); } -void Ifc4x3_add1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_add1::IfcLagTime Ifc4x3_add1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > Ifc4x3_add1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11477,7 +11477,7 @@ void Ifc4x3_add1::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[578]); } -void Ifc4x3_add1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcLamp Ifc4x3_add1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_add1::IfcLampTypeEnum::Value Ifc4x3_add1::IfcLampType::PredefinedType() const { return ::Ifc4x3_add1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11485,7 +11485,7 @@ void Ifc4x3_add1::IfcLampType::setPredefinedType(const ::Ifc4x3_add1::IfcLampTyp const ifcopenshell::entity& Ifc4x3_add1::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[579]); } -void Ifc4x3_add1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcLampType Ifc4x3_add1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_add1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11505,7 +11505,7 @@ std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryInfor std::vector<::Ifc4x3_add1::IfcLibraryReference> Ifc4x3_add1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[586], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[585]); } -void Ifc4x3_add1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_add1::IfcLibraryInformation Ifc4x3_add1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_add1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11518,7 +11518,7 @@ void Ifc4x3_add1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_add1: std::vector<::Ifc4x3_add1::IfcRelAssociatesLibrary> Ifc4x3_add1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[913], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[586]); } -void Ifc4x3_add1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_add1::IfcLibraryReference Ifc4x3_add1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_add1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11530,7 +11530,7 @@ void Ifc4x3_add1::IfcLightDistributionData::setLuminousIntensity(const std::vect const ifcopenshell::entity& Ifc4x3_add1::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[589]); } -void Ifc4x3_add1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_add1::IfcLightDistributionData Ifc4x3_add1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > Ifc4x3_add1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11538,7 +11538,7 @@ void Ifc4x3_add1::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[592]); } -void Ifc4x3_add1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcLightFixture Ifc4x3_add1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value Ifc4x3_add1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_add1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11546,7 +11546,7 @@ void Ifc4x3_add1::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[593]); } -void Ifc4x3_add1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcLightFixtureType Ifc4x3_add1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value Ifc4x3_add1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_add1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11556,7 +11556,7 @@ void Ifc4x3_add1::IfcLightIntensityDistribution::setDistributionData(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[595]); } -void Ifc4x3_add1::IfcLightIntensityDistribution::initialize(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_add1::IfcLightIntensityDistribution Ifc4x3_add1::IfcLightIntensityDistribution::initialize(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_add1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11570,13 +11570,13 @@ void Ifc4x3_add1::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_add1::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[596]); } -void Ifc4x3_add1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_add1::IfcLightSource Ifc4x3_add1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_add1::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[597]); } -void Ifc4x3_add1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_add1::IfcLightSourceAmbient Ifc4x3_add1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -11584,7 +11584,7 @@ void Ifc4x3_add1::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[598]); } -void Ifc4x3_add1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_add1::IfcLightSourceDirectional Ifc4x3_add1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_add1::IfcAxis2Placement3D Ifc4x3_add1::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcAxis2Placement3D>(); } @@ -11602,7 +11602,7 @@ void Ifc4x3_add1::IfcLightSourceGoniometric::setLightDistributionDataSource(cons const ifcopenshell::entity& Ifc4x3_add1::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[599]); } -void Ifc4x3_add1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_add1::IfcLightSourceGoniometric Ifc4x3_add1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_add1::IfcCartesianPoint Ifc4x3_add1::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcCartesianPoint>(); } @@ -11618,7 +11618,7 @@ void Ifc4x3_add1::IfcLightSourcePositional::setQuadricAttenuation(const double& const ifcopenshell::entity& Ifc4x3_add1::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[600]); } -void Ifc4x3_add1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_add1::IfcLightSourcePositional Ifc4x3_add1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -11632,7 +11632,7 @@ void Ifc4x3_add1::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[601]); } -void Ifc4x3_add1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_add1::IfcLightSourceSpot Ifc4x3_add1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_add1::IfcCartesianPoint Ifc4x3_add1::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCartesianPoint>(); } @@ -11642,13 +11642,13 @@ void Ifc4x3_add1::IfcLine::setDir(const ::Ifc4x3_add1::IfcVector& v) { set_attri const ifcopenshell::entity& Ifc4x3_add1::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[602]); } -void Ifc4x3_add1::IfcLine::initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_add1::IfcLine Ifc4x3_add1::IfcLine::initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3_add1::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[603]); } -void Ifc4x3_add1::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcLinearElement Ifc4x3_add1::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_add1::IfcAxis2PlacementLinear Ifc4x3_add1::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcAxis2PlacementLinear>(); } @@ -11658,13 +11658,13 @@ void Ifc4x3_add1::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[606]); } -void Ifc4x3_add1::IfcLinearPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add1::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition)); } +Ifc4x3_add1::IfcLinearPlacement Ifc4x3_add1::IfcLinearPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add1::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement const ifcopenshell::entity& Ifc4x3_add1::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[607]); } -void Ifc4x3_add1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcLinearPositioningElement Ifc4x3_add1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_add1::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11672,7 +11672,7 @@ void Ifc4x3_add1::IfcLiquidTerminal::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[611]); } -void Ifc4x3_add1::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcLiquidTerminal Ifc4x3_add1::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11680,7 +11680,7 @@ void Ifc4x3_add1::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[612]); } -void Ifc4x3_add1::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcLiquidTerminalType Ifc4x3_add1::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_add1::IfcAxis2Placement Ifc4x3_add1::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcAxis2Placement>(); } @@ -11688,13 +11688,13 @@ void Ifc4x3_add1::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[615]); } -void Ifc4x3_add1::IfcLocalPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_add1::IfcLocalPlacement Ifc4x3_add1::IfcLocalPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_add1::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[618]); } -void Ifc4x3_add1::IfcLoop::initialize() { } +Ifc4x3_add1::IfcLoop Ifc4x3_add1::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_add1::IfcClosedShell Ifc4x3_add1::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcClosedShell>(); } @@ -11702,7 +11702,7 @@ void Ifc4x3_add1::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_add1::IfcClosedS const ifcopenshell::entity& Ifc4x3_add1::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[625]); } -void Ifc4x3_add1::IfcManifoldSolidBrep::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_add1::IfcManifoldSolidBrep Ifc4x3_add1::IfcManifoldSolidBrep::initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_add1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11720,7 +11720,7 @@ void Ifc4x3_add1::IfcMapConversion::setScale(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[626]); } -void Ifc4x3_add1::IfcMapConversion::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4x3_add1::IfcMapConversion Ifc4x3_add1::IfcMapConversion::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMapConversionScaled double Ifc4x3_add1::IfcMapConversionScaled::ScaleX() const { double v = get_attribute_value(8); return v; } @@ -11732,7 +11732,7 @@ void Ifc4x3_add1::IfcMapConversionScaled::setScaleZ(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_add1::IfcMapConversionScaled::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[627]); } -void Ifc4x3_add1::IfcMapConversionScaled::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_ScaleX, double v10_ScaleY, double v11_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_ScaleX));set_attribute_value(9, (v10_ScaleY));set_attribute_value(10, (v11_ScaleZ)); } +Ifc4x3_add1::IfcMapConversionScaled Ifc4x3_add1::IfcMapConversionScaled::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_ScaleX, double v10_ScaleY, double v11_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_ScaleX));set_attribute_value(9, (v10_ScaleY));set_attribute_value(10, (v11_ScaleZ));; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_add1::IfcRepresentationMap Ifc4x3_add1::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcRepresentationMap>(); } @@ -11742,7 +11742,7 @@ void Ifc4x3_add1::IfcMappedItem::setMappingTarget(const ::Ifc4x3_add1::IfcCartes const ifcopenshell::entity& Ifc4x3_add1::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[628]); } -void Ifc4x3_add1::IfcMappedItem::initialize(::Ifc4x3_add1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_add1::IfcMappedItem Ifc4x3_add1::IfcMappedItem::initialize(::Ifc4x3_add1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > Ifc4x3_add1::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11750,7 +11750,7 @@ void Ifc4x3_add1::IfcMarineFacility::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[629]); } -void Ifc4x3_add1::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcMarineFacility Ifc4x3_add1::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcMarinePart std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > Ifc4x3_add1::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } @@ -11758,7 +11758,7 @@ void Ifc4x3_add1::IfcMarinePart::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcMarinePart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[631]); } -void Ifc4x3_add1::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcMarinePart Ifc4x3_add1::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_add1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11773,7 +11773,7 @@ std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::Is std::vector<::Ifc4x3_add1::IfcMaterialRelationship> Ifc4x3_add1::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[654], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[637]); } -void Ifc4x3_add1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_add1::IfcMaterial Ifc4x3_add1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_add1::IfcClassificationSelect > Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcClassificationSelect>(es); } @@ -11783,7 +11783,7 @@ void Ifc4x3_add1::IfcMaterialClassificationRelationship::setClassifiedMaterial(c const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[638]); } -void Ifc4x3_add1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_add1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_add1::IfcMaterialClassificationRelationship Ifc4x3_add1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_add1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11800,7 +11800,7 @@ void Ifc4x3_add1::IfcMaterialConstituent::setCategory(const std::optional< std:: std::vector<::Ifc4x3_add1::IfcMaterialConstituentSet> Ifc4x3_add1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[640], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[639]); } -void Ifc4x3_add1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_add1::IfcMaterialConstituent Ifc4x3_add1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_add1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11812,7 +11812,7 @@ void Ifc4x3_add1::IfcMaterialConstituentSet::setMaterialConstituents(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[640]); } -void Ifc4x3_add1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_add1::IfcMaterialConstituentSet Ifc4x3_add1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11821,7 +11821,7 @@ std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcMat std::vector<::Ifc4x3_add1::IfcMaterialProperties> Ifc4x3_add1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[653], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[641]); } -void Ifc4x3_add1::IfcMaterialDefinition::initialize() { } +Ifc4x3_add1::IfcMaterialDefinition Ifc4x3_add1::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_add1::IfcMaterial Ifc4x3_add1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcMaterial>(); } @@ -11829,7 +11829,7 @@ void Ifc4x3_add1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(co const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[642]); } -void Ifc4x3_add1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations, ::Ifc4x3_add1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_add1::IfcMaterialDefinitionRepresentation Ifc4x3_add1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations, ::Ifc4x3_add1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_add1::IfcMaterial Ifc4x3_add1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcMaterial>(); } @@ -11850,7 +11850,7 @@ void Ifc4x3_add1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_add1::IfcMaterialLayerSet> Ifc4x3_add1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[644], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[643]); } -void Ifc4x3_add1::IfcMaterialLayer::initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_add1::IfcMaterialLayer Ifc4x3_add1::IfcMaterialLayer::initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_add1::IfcMaterialLayer > Ifc4x3_add1::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcMaterialLayer>(es); } @@ -11862,7 +11862,7 @@ void Ifc4x3_add1::IfcMaterialLayerSet::setDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[644]); } -void Ifc4x3_add1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_add1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_add1::IfcMaterialLayerSet Ifc4x3_add1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_add1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_add1::IfcMaterialLayerSet Ifc4x3_add1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcMaterialLayerSet>(); } @@ -11878,7 +11878,7 @@ void Ifc4x3_add1::IfcMaterialLayerSetUsage::setReferenceExtent(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[645]); } -void Ifc4x3_add1::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_add1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_add1::IfcMaterialLayerSetUsage Ifc4x3_add1::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_add1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value Ifc4x3_add1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_add1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -11888,7 +11888,7 @@ void Ifc4x3_add1::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[646]); } -void Ifc4x3_add1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_add1::IfcMaterialLayerWithOffsets Ifc4x3_add1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_add1::IfcMaterial > Ifc4x3_add1::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcMaterial>(es); } @@ -11896,7 +11896,7 @@ void Ifc4x3_add1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[647]); } -void Ifc4x3_add1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_add1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_add1::IfcMaterialList Ifc4x3_add1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_add1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11915,7 +11915,7 @@ void Ifc4x3_add1::IfcMaterialProfile::setCategory(const std::optional< std::stri std::vector<::Ifc4x3_add1::IfcMaterialProfileSet> Ifc4x3_add1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[649], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[648]); } -void Ifc4x3_add1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_add1::IfcMaterialProfile Ifc4x3_add1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_add1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11929,7 +11929,7 @@ void Ifc4x3_add1::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[649]); } -void Ifc4x3_add1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_add1::IfcMaterialProfileSet Ifc4x3_add1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_add1::IfcMaterialProfileSet Ifc4x3_add1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcMaterialProfileSet>(); } @@ -11941,7 +11941,7 @@ void Ifc4x3_add1::IfcMaterialProfileSetUsage::setReferenceExtent(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[650]); } -void Ifc4x3_add1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_add1::IfcMaterialProfileSetUsage Ifc4x3_add1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_add1::IfcMaterialProfileSet Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcMaterialProfileSet>(); } @@ -11951,7 +11951,7 @@ void Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[651]); } -void Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_add1::IfcMaterialProfileSetUsageTapering Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_add1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -11959,7 +11959,7 @@ void Ifc4x3_add1::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vect const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[652]); } -void Ifc4x3_add1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_add1::IfcMaterialProfileWithOffsets Ifc4x3_add1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_add1::IfcMaterialDefinition Ifc4x3_add1::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcMaterialDefinition>(); } @@ -11967,7 +11967,7 @@ void Ifc4x3_add1::IfcMaterialProperties::setMaterial(const ::Ifc4x3_add1::IfcMat const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[653]); } -void Ifc4x3_add1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_add1::IfcMaterialProperties Ifc4x3_add1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_add1::IfcMaterial Ifc4x3_add1::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcMaterial>(); } @@ -11979,14 +11979,14 @@ void Ifc4x3_add1::IfcMaterialRelationship::setMaterialExpression(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[654]); } -void Ifc4x3_add1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); } } +Ifc4x3_add1::IfcMaterialRelationship Ifc4x3_add1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_add1::IfcRelAssociatesMaterial> Ifc4x3_add1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[914], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[656]); } -void Ifc4x3_add1::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_add1::IfcMaterialUsageDefinition Ifc4x3_add1::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_add1::IfcValue Ifc4x3_add1::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcValue>(); } @@ -11996,7 +11996,7 @@ void Ifc4x3_add1::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_add1::IfcU const ifcopenshell::entity& Ifc4x3_add1::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[658]); } -void Ifc4x3_add1::IfcMeasureWithUnit::initialize(::Ifc4x3_add1::IfcValue v1_ValueComponent, ::Ifc4x3_add1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_add1::IfcMeasureWithUnit Ifc4x3_add1::IfcMeasureWithUnit::initialize(::Ifc4x3_add1::IfcValue v1_ValueComponent, ::Ifc4x3_add1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_add1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12008,7 +12008,7 @@ void Ifc4x3_add1::IfcMechanicalFastener::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[659]); } -void Ifc4x3_add1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcMechanicalFastener Ifc4x3_add1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12020,7 +12020,7 @@ void Ifc4x3_add1::IfcMechanicalFastenerType::setNominalLength(const std::optiona const ifcopenshell::entity& Ifc4x3_add1::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[660]); } -void Ifc4x3_add1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_add1::IfcMechanicalFastenerType Ifc4x3_add1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_add1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12028,7 +12028,7 @@ void Ifc4x3_add1::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[662]); } -void Ifc4x3_add1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcMedicalDevice Ifc4x3_add1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12036,7 +12036,7 @@ void Ifc4x3_add1::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[663]); } -void Ifc4x3_add1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcMedicalDeviceType Ifc4x3_add1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > Ifc4x3_add1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12044,7 +12044,7 @@ void Ifc4x3_add1::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[665]); } -void Ifc4x3_add1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcMember Ifc4x3_add1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_add1::IfcMemberTypeEnum::Value Ifc4x3_add1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_add1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12052,7 +12052,7 @@ void Ifc4x3_add1::IfcMemberType::setPredefinedType(const ::Ifc4x3_add1::IfcMembe const ifcopenshell::entity& Ifc4x3_add1::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[666]); } -void Ifc4x3_add1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcMemberType Ifc4x3_add1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_add1::IfcBenchmarkEnum::Value Ifc4x3_add1::IfcMetric::Benchmark() const { return ::Ifc4x3_add1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12066,13 +12066,13 @@ void Ifc4x3_add1::IfcMetric::setReferencePath(const ::Ifc4x3_add1::IfcReference& const ifcopenshell::entity& Ifc4x3_add1::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[668]); } -void Ifc4x3_add1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_add1::IfcMetric Ifc4x3_add1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_add1::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[670]); } -void Ifc4x3_add1::IfcMirroredProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_add1::IfcMirroredProfileDef Ifc4x3_add1::IfcMirroredProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12080,7 +12080,7 @@ void Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::setPredefinedType(const const ifcopenshell::entity& Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[671]); } -void Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcMobileTelecommunicationsAppliance Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12088,7 +12088,7 @@ void Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(co const ifcopenshell::entity& Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[672]); } -void Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_add1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12096,7 +12096,7 @@ void Ifc4x3_add1::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attri const ifcopenshell::entity& Ifc4x3_add1::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[685]); } -void Ifc4x3_add1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_add1::IfcMonetaryUnit Ifc4x3_add1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_add1::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12104,7 +12104,7 @@ void Ifc4x3_add1::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[687]); } -void Ifc4x3_add1::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcMooringDevice Ifc4x3_add1::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value Ifc4x3_add1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12112,7 +12112,7 @@ void Ifc4x3_add1::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[688]); } -void Ifc4x3_add1::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcMooringDeviceType Ifc4x3_add1::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_add1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12120,7 +12120,7 @@ void Ifc4x3_add1::IfcMotorConnection::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[690]); } -void Ifc4x3_add1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcMotorConnection Ifc4x3_add1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value Ifc4x3_add1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12128,7 +12128,7 @@ void Ifc4x3_add1::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[691]); } -void Ifc4x3_add1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcMotorConnectionType Ifc4x3_add1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_add1::IfcDimensionalExponents Ifc4x3_add1::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcDimensionalExponents>(); } @@ -12138,7 +12138,7 @@ void Ifc4x3_add1::IfcNamedUnit::setUnitType(const ::Ifc4x3_add1::IfcUnitEnum::Va const ifcopenshell::entity& Ifc4x3_add1::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[693]); } -void Ifc4x3_add1::IfcNamedUnit::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_add1::IfcNamedUnit Ifc4x3_add1::IfcNamedUnit::initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > Ifc4x3_add1::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12146,7 +12146,7 @@ void Ifc4x3_add1::IfcNavigationElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[694]); } -void Ifc4x3_add1::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcNavigationElement Ifc4x3_add1::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value Ifc4x3_add1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12154,7 +12154,7 @@ void Ifc4x3_add1::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[695]); } -void Ifc4x3_add1::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcNavigationElementType Ifc4x3_add1::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_add1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12166,7 +12166,7 @@ std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcObject::IsTypedB std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[933], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[700]); } -void Ifc4x3_add1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_add1::IfcObject Ifc4x3_add1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12179,7 +12179,7 @@ std::vector<::Ifc4x3_add1::IfcRelAggregates> Ifc4x3_add1::IfcObjectDefinition::D std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[908], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[701]); } -void Ifc4x3_add1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcObjectDefinition Ifc4x3_add1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_add1::IfcObjectPlacement Ifc4x3_add1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcObjectPlacement>(); } @@ -12189,7 +12189,7 @@ std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcObjectPlacement::PlacesOb std::vector<::Ifc4x3_add1::IfcObjectPlacement> Ifc4x3_add1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[704], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[704]); } -void Ifc4x3_add1::IfcObjectPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_add1::IfcObjectPlacement Ifc4x3_add1::IfcObjectPlacement::initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_add1::IfcConstraint > > Ifc4x3_add1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add1::IfcConstraint>(es); } @@ -12203,7 +12203,7 @@ void Ifc4x3_add1::IfcObjective::setUserDefinedQualifier(const std::optional< std const ifcopenshell::entity& Ifc4x3_add1::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[702]); } -void Ifc4x3_add1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_add1::IfcObjective Ifc4x3_add1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > Ifc4x3_add1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12211,7 +12211,7 @@ void Ifc4x3_add1::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[706]); } -void Ifc4x3_add1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_add1::IfcOccupant Ifc4x3_add1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -12219,7 +12219,7 @@ void Ifc4x3_add1::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_add1::IfcCurve& v const ifcopenshell::entity& Ifc4x3_add1::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[708]); } -void Ifc4x3_add1::IfcOffsetCurve::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_add1::IfcOffsetCurve Ifc4x3_add1::IfcOffsetCurve::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_add1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12229,7 +12229,7 @@ void Ifc4x3_add1::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_add1::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[709]); } -void Ifc4x3_add1::IfcOffsetCurve2D::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_add1::IfcOffsetCurve2D Ifc4x3_add1::IfcOffsetCurve2D::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_add1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12241,7 +12241,7 @@ void Ifc4x3_add1::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_add1::IfcDire const ifcopenshell::entity& Ifc4x3_add1::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[710]); } -void Ifc4x3_add1::IfcOffsetCurve3D::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_add1::IfcOffsetCurve3D Ifc4x3_add1::IfcOffsetCurve3D::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression > Ifc4x3_add1::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add1::IfcPointByDistanceExpression>(es); } @@ -12251,7 +12251,7 @@ void Ifc4x3_add1::IfcOffsetCurveByDistances::setTag(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_add1::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[711]); } -void Ifc4x3_add1::IfcOffsetCurveByDistances::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_add1::IfcOffsetCurveByDistances Ifc4x3_add1::IfcOffsetCurveByDistances::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_add1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12267,13 +12267,13 @@ void Ifc4x3_add1::IfcOpenCrossProfileDef::setOffsetPoint(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[712]); } -void Ifc4x3_add1::IfcOpenCrossProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add1::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint)); } +Ifc4x3_add1::IfcOpenCrossProfileDef Ifc4x3_add1::IfcOpenCrossProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add1::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint));; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_add1::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[715]); } -void Ifc4x3_add1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_add1::IfcOpenShell Ifc4x3_add1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > Ifc4x3_add1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12282,7 +12282,7 @@ void Ifc4x3_add1::IfcOpeningElement::setPredefinedType(const std::optional< ::If std::vector<::Ifc4x3_add1::IfcRelFillsElement> Ifc4x3_add1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[936], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[713]); } -void Ifc4x3_add1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcOpeningElement Ifc4x3_add1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_add1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12301,7 +12301,7 @@ std::vector<::Ifc4x3_add1::IfcOrganizationRelationship> Ifc4x3_add1::IfcOrganiza std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[738], 1)); } const ifcopenshell::entity& Ifc4x3_add1::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[716]); } -void Ifc4x3_add1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_add1::IfcOrganization Ifc4x3_add1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_add1::IfcOrganization Ifc4x3_add1::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcOrganization>(); } @@ -12311,7 +12311,7 @@ void Ifc4x3_add1::IfcOrganizationRelationship::setRelatedOrganizations(const std const ifcopenshell::entity& Ifc4x3_add1::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[717]); } -void Ifc4x3_add1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_add1::IfcOrganizationRelationship Ifc4x3_add1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_add1::IfcEdge Ifc4x3_add1::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcEdge>(); } @@ -12321,13 +12321,13 @@ void Ifc4x3_add1::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute const ifcopenshell::entity& Ifc4x3_add1::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[718]); } -void Ifc4x3_add1::IfcOrientedEdge::initialize(::Ifc4x3_add1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_add1::IfcOrientedEdge Ifc4x3_add1::IfcOrientedEdge::initialize(::Ifc4x3_add1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_add1::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[719]); } -void Ifc4x3_add1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add1::IfcOuterBoundaryCurve Ifc4x3_add1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > Ifc4x3_add1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12335,7 +12335,7 @@ void Ifc4x3_add1::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[720]); } -void Ifc4x3_add1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcOutlet Ifc4x3_add1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_add1::IfcOutletTypeEnum::Value Ifc4x3_add1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_add1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12343,7 +12343,7 @@ void Ifc4x3_add1::IfcOutletType::setPredefinedType(const ::Ifc4x3_add1::IfcOutle const ifcopenshell::entity& Ifc4x3_add1::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[721]); } -void Ifc4x3_add1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcOutletType Ifc4x3_add1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_add1::IfcPersonAndOrganization Ifc4x3_add1::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPersonAndOrganization>(); } @@ -12365,7 +12365,7 @@ void Ifc4x3_add1::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute const ifcopenshell::entity& Ifc4x3_add1::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[723]); } -void Ifc4x3_add1::IfcOwnerHistory::initialize(::Ifc4x3_add1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_add1::IfcOwnerHistory Ifc4x3_add1::IfcOwnerHistory::initialize(::Ifc4x3_add1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_add1::IfcAxis2Placement2D Ifc4x3_add1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add1::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcAxis2Placement2D>(); } @@ -12373,7 +12373,7 @@ void Ifc4x3_add1::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[724]); } -void Ifc4x3_add1::IfcParameterizedProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_add1::IfcParameterizedProfileDef Ifc4x3_add1::IfcParameterizedProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_add1::IfcOrientedEdge > Ifc4x3_add1::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcOrientedEdge>(es); } @@ -12381,7 +12381,7 @@ void Ifc4x3_add1::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_add1::IfcOrie const ifcopenshell::entity& Ifc4x3_add1::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[726]); } -void Ifc4x3_add1::IfcPath::initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_add1::IfcPath Ifc4x3_add1::IfcPath::initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > Ifc4x3_add1::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } @@ -12389,7 +12389,7 @@ void Ifc4x3_add1::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[727]); } -void Ifc4x3_add1::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcPavement Ifc4x3_add1::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPavementType ::Ifc4x3_add1::IfcPavementTypeEnum::Value Ifc4x3_add1::IfcPavementType::PredefinedType() const { return ::Ifc4x3_add1::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } @@ -12397,7 +12397,7 @@ void Ifc4x3_add1::IfcPavementType::setPredefinedType(const ::Ifc4x3_add1::IfcPav const ifcopenshell::entity& Ifc4x3_add1::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[728]); } -void Ifc4x3_add1::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcPavementType Ifc4x3_add1::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -12407,7 +12407,7 @@ void Ifc4x3_add1::IfcPcurve::setReferenceCurve(const ::Ifc4x3_add1::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_add1::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[730]); } -void Ifc4x3_add1::IfcPcurve::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_add1::IfcPcurve Ifc4x3_add1::IfcPcurve::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_add1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12417,7 +12417,7 @@ void Ifc4x3_add1::IfcPerformanceHistory::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[731]); } -void Ifc4x3_add1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add1::IfcPerformanceHistory Ifc4x3_add1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12433,7 +12433,7 @@ void Ifc4x3_add1::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::If const ifcopenshell::entity& Ifc4x3_add1::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[734]); } -void Ifc4x3_add1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_add1::IfcPermeableCoveringProperties Ifc4x3_add1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > Ifc4x3_add1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12445,7 +12445,7 @@ void Ifc4x3_add1::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[735]); } -void Ifc4x3_add1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_add1::IfcPermit Ifc4x3_add1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_add1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12468,7 +12468,7 @@ void Ifc4x3_add1::IfcPerson::setAddresses(const std::optional< std::vector< ::If std::vector<::Ifc4x3_add1::IfcPersonAndOrganization> Ifc4x3_add1::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[738], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[737]); } -void Ifc4x3_add1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_add1::IfcPerson Ifc4x3_add1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_add1::IfcPerson Ifc4x3_add1::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPerson>(); } @@ -12480,7 +12480,7 @@ void Ifc4x3_add1::IfcPersonAndOrganization::setRoles(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_add1::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[738]); } -void Ifc4x3_add1::IfcPersonAndOrganization::initialize(::Ifc4x3_add1::IfcPerson v1_ThePerson, ::Ifc4x3_add1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_add1::IfcPersonAndOrganization Ifc4x3_add1::IfcPersonAndOrganization::initialize(::Ifc4x3_add1::IfcPerson v1_ThePerson, ::Ifc4x3_add1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > Ifc4x3_add1::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcPhysicalQuantity>(es); } @@ -12494,7 +12494,7 @@ void Ifc4x3_add1::IfcPhysicalComplexQuantity::setUsage(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add1::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[740]); } -void Ifc4x3_add1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_add1::IfcPhysicalComplexQuantity Ifc4x3_add1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_add1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12506,7 +12506,7 @@ std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPhy std::vector<::Ifc4x3_add1::IfcPhysicalComplexQuantity> Ifc4x3_add1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[740], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[742]); } -void Ifc4x3_add1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_add1::IfcPhysicalQuantity Ifc4x3_add1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_add1::IfcNamedUnit Ifc4x3_add1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add1::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcNamedUnit>(); } @@ -12514,7 +12514,7 @@ void Ifc4x3_add1::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_add1::IfcNam const ifcopenshell::entity& Ifc4x3_add1::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[743]); } -void Ifc4x3_add1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_add1::IfcPhysicalSimpleQuantity Ifc4x3_add1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > Ifc4x3_add1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12524,7 +12524,7 @@ void Ifc4x3_add1::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[744]); } -void Ifc4x3_add1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_add1::IfcPile Ifc4x3_add1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_add1::IfcPileTypeEnum::Value Ifc4x3_add1::IfcPileType::PredefinedType() const { return ::Ifc4x3_add1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12532,7 +12532,7 @@ void Ifc4x3_add1::IfcPileType::setPredefinedType(const ::Ifc4x3_add1::IfcPileTyp const ifcopenshell::entity& Ifc4x3_add1::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[746]); } -void Ifc4x3_add1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcPileType Ifc4x3_add1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > Ifc4x3_add1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12540,7 +12540,7 @@ void Ifc4x3_add1::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[748]); } -void Ifc4x3_add1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcPipeFitting Ifc4x3_add1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value Ifc4x3_add1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12548,7 +12548,7 @@ void Ifc4x3_add1::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[749]); } -void Ifc4x3_add1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcPipeFittingType Ifc4x3_add1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_add1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12556,7 +12556,7 @@ void Ifc4x3_add1::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[751]); } -void Ifc4x3_add1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcPipeSegment Ifc4x3_add1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value Ifc4x3_add1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12564,7 +12564,7 @@ void Ifc4x3_add1::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[752]); } -void Ifc4x3_add1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcPipeSegmentType Ifc4x3_add1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_add1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12578,7 +12578,7 @@ void Ifc4x3_add1::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bi const ifcopenshell::entity& Ifc4x3_add1::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[754]); } -void Ifc4x3_add1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_add1::IfcPixelTexture Ifc4x3_add1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_add1::IfcPoint Ifc4x3_add1::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPoint>(); } @@ -12586,7 +12586,7 @@ void Ifc4x3_add1::IfcPlacement::setLocation(const ::Ifc4x3_add1::IfcPoint& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[755]); } -void Ifc4x3_add1::IfcPlacement::initialize(::Ifc4x3_add1::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_add1::IfcPlacement Ifc4x3_add1::IfcPlacement::initialize(::Ifc4x3_add1::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_add1::IfcAxis2Placement Ifc4x3_add1::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcAxis2Placement>(); } @@ -12594,7 +12594,7 @@ void Ifc4x3_add1::IfcPlanarBox::setPlacement(const ::Ifc4x3_add1::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_add1::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[756]); } -void Ifc4x3_add1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_add1::IfcPlanarBox Ifc4x3_add1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_add1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12604,13 +12604,13 @@ void Ifc4x3_add1::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x3_add1::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[757]); } -void Ifc4x3_add1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_add1::IfcPlanarExtent Ifc4x3_add1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_add1::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[759]); } -void Ifc4x3_add1::IfcPlane::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add1::IfcPlane Ifc4x3_add1::IfcPlane::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > Ifc4x3_add1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12618,7 +12618,7 @@ void Ifc4x3_add1::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[761]); } -void Ifc4x3_add1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcPlate Ifc4x3_add1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_add1::IfcPlateTypeEnum::Value Ifc4x3_add1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_add1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12626,13 +12626,13 @@ void Ifc4x3_add1::IfcPlateType::setPredefinedType(const ::Ifc4x3_add1::IfcPlateT const ifcopenshell::entity& Ifc4x3_add1::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[762]); } -void Ifc4x3_add1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcPlateType Ifc4x3_add1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_add1::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[764]); } -void Ifc4x3_add1::IfcPoint::initialize() { } +Ifc4x3_add1::IfcPoint Ifc4x3_add1::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3_add1::IfcCurveMeasureSelect Ifc4x3_add1::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurveMeasureSelect>(); } @@ -12648,7 +12648,7 @@ void Ifc4x3_add1::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[765]); } -void Ifc4x3_add1::IfcPointByDistanceExpression::initialize(::Ifc4x3_add1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add1::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3_add1::IfcPointByDistanceExpression Ifc4x3_add1::IfcPointByDistanceExpression::initialize(::Ifc4x3_add1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add1::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -12658,7 +12658,7 @@ void Ifc4x3_add1::IfcPointOnCurve::setPointParameter(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add1::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[766]); } -void Ifc4x3_add1::IfcPointOnCurve::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_add1::IfcPointOnCurve Ifc4x3_add1::IfcPointOnCurve::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -12670,7 +12670,7 @@ void Ifc4x3_add1::IfcPointOnSurface::setPointParameterV(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[767]); } -void Ifc4x3_add1::IfcPointOnSurface::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_add1::IfcPointOnSurface Ifc4x3_add1::IfcPointOnSurface::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_add1::IfcCartesianPoint > Ifc4x3_add1::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcCartesianPoint>(es); } @@ -12678,7 +12678,7 @@ void Ifc4x3_add1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_add1::IfcC const ifcopenshell::entity& Ifc4x3_add1::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[772]); } -void Ifc4x3_add1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_add1::IfcPolyLoop Ifc4x3_add1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_add1::IfcAxis2Placement3D Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcAxis2Placement3D>(); } @@ -12688,7 +12688,7 @@ void Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[769]); } -void Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_add1::IfcPolygonalBoundedHalfSpace Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_add1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12700,7 +12700,7 @@ void Ifc4x3_add1::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vect const ifcopenshell::entity& Ifc4x3_add1::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[770]); } -void Ifc4x3_add1::IfcPolygonalFaceSet::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_add1::IfcPolygonalFaceSet Ifc4x3_add1::IfcPolygonalFaceSet::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_add1::IfcCartesianPoint > Ifc4x3_add1::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcCartesianPoint>(es); } @@ -12708,7 +12708,7 @@ void Ifc4x3_add1::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_add1::IfcCa const ifcopenshell::entity& Ifc4x3_add1::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[771]); } -void Ifc4x3_add1::IfcPolyline::initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_add1::IfcPolyline Ifc4x3_add1::IfcPolyline::initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPolynomialCurve ::Ifc4x3_add1::IfcPlacement Ifc4x3_add1::IfcPolynomialCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPlacement>(); } @@ -12722,7 +12722,7 @@ void Ifc4x3_add1::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add1::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[773]); } -void Ifc4x3_add1::IfcPolynomialCurve::initialize(::Ifc4x3_add1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); } } +Ifc4x3_add1::IfcPolynomialCurve Ifc4x3_add1::IfcPolynomialCurve::initialize(::Ifc4x3_add1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; return *this; } // Function implementations for IfcPort @@ -12731,7 +12731,7 @@ std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedF std::vector<::Ifc4x3_add1::IfcRelConnectsPorts> Ifc4x3_add1::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[920], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[774]); } -void Ifc4x3_add1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcPort Ifc4x3_add1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12739,7 +12739,7 @@ std::vector<::Ifc4x3_add1::IfcRelContainedInSpatialStructure> Ifc4x3_add1::IfcPo std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[775]); } -void Ifc4x3_add1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcPositioningElement Ifc4x3_add1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_add1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12759,19 +12759,19 @@ void Ifc4x3_add1::IfcPostalAddress::setCountry(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[780]); } -void Ifc4x3_add1::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_add1::IfcPostalAddress Ifc4x3_add1::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_add1::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[782]); } -void Ifc4x3_add1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add1::IfcPreDefinedColour Ifc4x3_add1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_add1::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[783]); } -void Ifc4x3_add1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add1::IfcPreDefinedCurveFont Ifc4x3_add1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_add1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12779,31 +12779,31 @@ void Ifc4x3_add1::IfcPreDefinedItem::setName(const std::string& v) { set_attribu const ifcopenshell::entity& Ifc4x3_add1::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[784]); } -void Ifc4x3_add1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add1::IfcPreDefinedItem Ifc4x3_add1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_add1::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[785]); } -void Ifc4x3_add1::IfcPreDefinedProperties::initialize() { } +Ifc4x3_add1::IfcPreDefinedProperties Ifc4x3_add1::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_add1::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[786]); } -void Ifc4x3_add1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcPreDefinedPropertySet Ifc4x3_add1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_add1::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[787]); } -void Ifc4x3_add1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add1::IfcPreDefinedTextFont Ifc4x3_add1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_add1::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[790]); } -void Ifc4x3_add1::IfcPresentationItem::initialize() { } +Ifc4x3_add1::IfcPresentationItem Ifc4x3_add1::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_add1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12817,7 +12817,7 @@ void Ifc4x3_add1::IfcPresentationLayerAssignment::setIdentifier(const std::optio const ifcopenshell::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[791]); } -void Ifc4x3_add1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_add1::IfcPresentationLayerAssignment Ifc4x3_add1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12831,7 +12831,7 @@ void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vecto const ifcopenshell::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[792]); } -void Ifc4x3_add1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_add1::IfcPresentationLayerWithStyle Ifc4x3_add1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_add1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12839,7 +12839,7 @@ void Ifc4x3_add1::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[793]); } -void Ifc4x3_add1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcPresentationStyle Ifc4x3_add1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > Ifc4x3_add1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12847,7 +12847,7 @@ void Ifc4x3_add1::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[795]); } -void Ifc4x3_add1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add1::IfcProcedure Ifc4x3_add1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_add1::IfcProcedureTypeEnum::Value Ifc4x3_add1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_add1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12855,7 +12855,7 @@ void Ifc4x3_add1::IfcProcedureType::setPredefinedType(const ::Ifc4x3_add1::IfcPr const ifcopenshell::entity& Ifc4x3_add1::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[796]); } -void Ifc4x3_add1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcProcedureType Ifc4x3_add1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_add1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12868,7 +12868,7 @@ std::vector<::Ifc4x3_add1::IfcRelSequence> Ifc4x3_add1::IfcProcess::IsSuccessorF std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[798]); } -void Ifc4x3_add1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_add1::IfcProcess Ifc4x3_add1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_add1::IfcObjectPlacement Ifc4x3_add1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcObjectPlacement>(); } @@ -12881,7 +12881,7 @@ std::vector<::Ifc4x3_add1::IfcRelPositions> Ifc4x3_add1::IfcProduct::PositionedR std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[800]); } -void Ifc4x3_add1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcProduct Ifc4x3_add1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -12889,7 +12889,7 @@ std::vector<::Ifc4x3_add1::IfcProduct> Ifc4x3_add1::IfcProductDefinitionShape::S std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1006], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[801]); } -void Ifc4x3_add1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_add1::IfcProductDefinitionShape Ifc4x3_add1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_add1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12901,7 +12901,7 @@ void Ifc4x3_add1::IfcProductRepresentation::setRepresentations(const std::vector const ifcopenshell::entity& Ifc4x3_add1::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[802]); } -void Ifc4x3_add1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_add1::IfcProductRepresentation Ifc4x3_add1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_add1::IfcProfileTypeEnum::Value Ifc4x3_add1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_add1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -12913,7 +12913,7 @@ std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPro std::vector<::Ifc4x3_add1::IfcProfileProperties> Ifc4x3_add1::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[806], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[805]); } -void Ifc4x3_add1::IfcProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -12921,19 +12921,19 @@ void Ifc4x3_add1::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[806]); } -void Ifc4x3_add1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_add1::IfcProfileProperties Ifc4x3_add1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_add1::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[808]); } -void Ifc4x3_add1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_add1::IfcProject Ifc4x3_add1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_add1::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[813]); } -void Ifc4x3_add1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_add1::IfcProjectLibrary Ifc4x3_add1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > Ifc4x3_add1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -12945,7 +12945,7 @@ void Ifc4x3_add1::IfcProjectOrder::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add1::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[814]); } -void Ifc4x3_add1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_add1::IfcProjectOrder Ifc4x3_add1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -12961,7 +12961,7 @@ void Ifc4x3_add1::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_add1::IfcNamedUnit& const ifcopenshell::entity& Ifc4x3_add1::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[809]); } -void Ifc4x3_add1::IfcProjectedCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add1::IfcNamedUnit v7_MapUnit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_add1::IfcProjectedCRS Ifc4x3_add1::IfcProjectedCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add1::IfcNamedUnit v7_MapUnit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > Ifc4x3_add1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12969,7 +12969,7 @@ void Ifc4x3_add1::IfcProjectionElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[811]); } -void Ifc4x3_add1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcProjectionElement Ifc4x3_add1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_add1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12985,14 +12985,14 @@ std::vector<::Ifc4x3_add1::IfcResourceConstraintRelationship> Ifc4x3_add1::IfcPr std::vector<::Ifc4x3_add1::IfcResourceApprovalRelationship> Ifc4x3_add1::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[955], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[816]); } -void Ifc4x3_add1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3_add1::IfcProperty Ifc4x3_add1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[817]); } -void Ifc4x3_add1::IfcPropertyAbstraction::initialize() { } +Ifc4x3_add1::IfcPropertyAbstraction Ifc4x3_add1::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_add1::IfcValue Ifc4x3_add1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcValue>(); } @@ -13006,7 +13006,7 @@ void Ifc4x3_add1::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[818]); } -void Ifc4x3_add1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_UpperBoundValue, ::Ifc4x3_add1::IfcValue v4_LowerBoundValue, ::Ifc4x3_add1::IfcUnit v5_Unit, ::Ifc4x3_add1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_add1::IfcPropertyBoundedValue Ifc4x3_add1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_UpperBoundValue, ::Ifc4x3_add1::IfcValue v4_LowerBoundValue, ::Ifc4x3_add1::IfcUnit v5_Unit, ::Ifc4x3_add1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13014,7 +13014,7 @@ std::vector<::Ifc4x3_add1::IfcRelDeclares> Ifc4x3_add1::IfcPropertyDefinition::H std::vector<::Ifc4x3_add1::IfcRelAssociates> Ifc4x3_add1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[908], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[819]); } -void Ifc4x3_add1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcPropertyDefinition Ifc4x3_add1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_add1::IfcProperty Ifc4x3_add1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcProperty>(); } @@ -13026,7 +13026,7 @@ void Ifc4x3_add1::IfcPropertyDependencyRelationship::setExpression(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[820]); } -void Ifc4x3_add1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty v3_DependingProperty, ::Ifc4x3_add1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_add1::IfcPropertyDependencyRelationship Ifc4x3_add1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty v3_DependingProperty, ::Ifc4x3_add1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcValue>(es); } @@ -13036,7 +13036,7 @@ void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationReference(const ::If const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[821]); } -void Ifc4x3_add1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_add1::IfcPropertyEnumeratedValue Ifc4x3_add1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_add1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13048,7 +13048,7 @@ void Ifc4x3_add1::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_add1::IfcUnit& const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[822]); } -void Ifc4x3_add1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_add1::IfcValue > v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_add1::IfcPropertyEnumeration Ifc4x3_add1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_add1::IfcValue > v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcValue>(es); } @@ -13058,7 +13058,7 @@ void Ifc4x3_add1::IfcPropertyListValue::setUnit(const ::Ifc4x3_add1::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[823]); } -void Ifc4x3_add1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_ListValues, ::Ifc4x3_add1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_add1::IfcPropertyListValue Ifc4x3_add1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_ListValues, ::Ifc4x3_add1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_add1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13068,7 +13068,7 @@ void Ifc4x3_add1::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[824]); } -void Ifc4x3_add1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_add1::IfcPropertyReferenceValue Ifc4x3_add1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_add1::IfcProperty > Ifc4x3_add1::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcProperty>(es); } @@ -13076,7 +13076,7 @@ void Ifc4x3_add1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[825]); } -void Ifc4x3_add1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_add1::IfcPropertySet Ifc4x3_add1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13085,7 +13085,7 @@ std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetD std::vector<::Ifc4x3_add1::IfcRelDefinesByProperties> Ifc4x3_add1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[933], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[826]); } -void Ifc4x3_add1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcPropertySetDefinition Ifc4x3_add1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13098,7 +13098,7 @@ void Ifc4x3_add1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vec std::vector<::Ifc4x3_add1::IfcRelDefinesByTemplate> Ifc4x3_add1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[934], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[829]); } -void Ifc4x3_add1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_add1::IfcPropertySetTemplate Ifc4x3_add1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_add1::IfcValue Ifc4x3_add1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcValue>(); } @@ -13108,7 +13108,7 @@ void Ifc4x3_add1::IfcPropertySingleValue::setUnit(const ::Ifc4x3_add1::IfcUnit& const ifcopenshell::entity& Ifc4x3_add1::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[831]); } -void Ifc4x3_add1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_NominalValue, ::Ifc4x3_add1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_add1::IfcPropertySingleValue Ifc4x3_add1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_NominalValue, ::Ifc4x3_add1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcValue>(es); } @@ -13126,7 +13126,7 @@ void Ifc4x3_add1::IfcPropertyTableValue::setCurveInterpolation(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[832]); } -void Ifc4x3_add1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_add1::IfcPropertyTableValue Ifc4x3_add1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13134,13 +13134,13 @@ std::vector<::Ifc4x3_add1::IfcComplexPropertyTemplate> Ifc4x3_add1::IfcPropertyT std::vector<::Ifc4x3_add1::IfcPropertySetTemplate> Ifc4x3_add1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[829], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[833]); } -void Ifc4x3_add1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcPropertyTemplate Ifc4x3_add1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_add1::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[834]); } -void Ifc4x3_add1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcPropertyTemplateDefinition Ifc4x3_add1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_add1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13148,7 +13148,7 @@ void Ifc4x3_add1::IfcProtectiveDevice::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add1::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[835]); } -void Ifc4x3_add1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcProtectiveDevice Ifc4x3_add1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13156,7 +13156,7 @@ void Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[836]); } -void Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13164,7 +13164,7 @@ void Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[837]); } -void Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13172,7 +13172,7 @@ void Ifc4x3_add1::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[839]); } -void Ifc4x3_add1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcProtectiveDeviceType Ifc4x3_add1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > Ifc4x3_add1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13180,7 +13180,7 @@ void Ifc4x3_add1::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[841]); } -void Ifc4x3_add1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcPump Ifc4x3_add1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_add1::IfcPumpTypeEnum::Value Ifc4x3_add1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_add1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13188,7 +13188,7 @@ void Ifc4x3_add1::IfcPumpType::setPredefinedType(const ::Ifc4x3_add1::IfcPumpTyp const ifcopenshell::entity& Ifc4x3_add1::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[842]); } -void Ifc4x3_add1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcPumpType Ifc4x3_add1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_add1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13198,7 +13198,7 @@ void Ifc4x3_add1::IfcQuantityArea::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[844]); } -void Ifc4x3_add1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityArea Ifc4x3_add1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount int Ifc4x3_add1::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } @@ -13208,7 +13208,7 @@ void Ifc4x3_add1::IfcQuantityCount::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[845]); } -void Ifc4x3_add1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityCount Ifc4x3_add1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_add1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13218,7 +13218,7 @@ void Ifc4x3_add1::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[846]); } -void Ifc4x3_add1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityLength Ifc4x3_add1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityNumber double Ifc4x3_add1::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } @@ -13228,13 +13228,13 @@ void Ifc4x3_add1::IfcQuantityNumber::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityNumber::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[847]); } -void Ifc4x3_add1::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityNumber Ifc4x3_add1::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_add1::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[848]); } -void Ifc4x3_add1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcQuantitySet Ifc4x3_add1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_add1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13244,7 +13244,7 @@ void Ifc4x3_add1::IfcQuantityTime::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[849]); } -void Ifc4x3_add1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityTime Ifc4x3_add1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_add1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13254,7 +13254,7 @@ void Ifc4x3_add1::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[850]); } -void Ifc4x3_add1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityVolume Ifc4x3_add1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_add1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13264,7 +13264,7 @@ void Ifc4x3_add1::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[851]); } -void Ifc4x3_add1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add1::IfcQuantityWeight Ifc4x3_add1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > Ifc4x3_add1::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13272,7 +13272,7 @@ void Ifc4x3_add1::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[853]); } -void Ifc4x3_add1::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcRail Ifc4x3_add1::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_add1::IfcRailTypeEnum::Value Ifc4x3_add1::IfcRailType::PredefinedType() const { return ::Ifc4x3_add1::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13280,7 +13280,7 @@ void Ifc4x3_add1::IfcRailType::setPredefinedType(const ::Ifc4x3_add1::IfcRailTyp const ifcopenshell::entity& Ifc4x3_add1::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[857]); } -void Ifc4x3_add1::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcRailType Ifc4x3_add1::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > Ifc4x3_add1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13288,7 +13288,7 @@ void Ifc4x3_add1::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[854]); } -void Ifc4x3_add1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcRailing Ifc4x3_add1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_add1::IfcRailingTypeEnum::Value Ifc4x3_add1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_add1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13296,7 +13296,7 @@ void Ifc4x3_add1::IfcRailingType::setPredefinedType(const ::Ifc4x3_add1::IfcRail const ifcopenshell::entity& Ifc4x3_add1::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[855]); } -void Ifc4x3_add1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcRailingType Ifc4x3_add1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > Ifc4x3_add1::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } @@ -13304,7 +13304,7 @@ void Ifc4x3_add1::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[859]); } -void Ifc4x3_add1::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcRailway Ifc4x3_add1::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRailwayPart std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > Ifc4x3_add1::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } @@ -13312,7 +13312,7 @@ void Ifc4x3_add1::IfcRailwayPart::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcRailwayPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[860]); } -void Ifc4x3_add1::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcRailwayPart Ifc4x3_add1::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > Ifc4x3_add1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13320,7 +13320,7 @@ void Ifc4x3_add1::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[863]); } -void Ifc4x3_add1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcRamp Ifc4x3_add1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > Ifc4x3_add1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13328,7 +13328,7 @@ void Ifc4x3_add1::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[864]); } -void Ifc4x3_add1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcRampFlight Ifc4x3_add1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value Ifc4x3_add1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_add1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13336,7 +13336,7 @@ void Ifc4x3_add1::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_add1::IfcR const ifcopenshell::entity& Ifc4x3_add1::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[865]); } -void Ifc4x3_add1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcRampFlightType Ifc4x3_add1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_add1::IfcRampTypeEnum::Value Ifc4x3_add1::IfcRampType::PredefinedType() const { return ::Ifc4x3_add1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13344,7 +13344,7 @@ void Ifc4x3_add1::IfcRampType::setPredefinedType(const ::Ifc4x3_add1::IfcRampTyp const ifcopenshell::entity& Ifc4x3_add1::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[867]); } -void Ifc4x3_add1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcRampType Ifc4x3_add1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13352,7 +13352,7 @@ void Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::ve const ifcopenshell::entity& Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[870]); } -void Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_add1::IfcRationalBSplineCurveWithKnots Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13360,7 +13360,7 @@ void Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[871]); } -void Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_add1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13372,7 +13372,7 @@ void Ifc4x3_add1::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[873]); } -void Ifc4x3_add1::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_add1::IfcRectangleHollowProfileDef Ifc4x3_add1::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_add1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13382,7 +13382,7 @@ void Ifc4x3_add1::IfcRectangleProfileDef::setYDim(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_add1::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[874]); } -void Ifc4x3_add1::IfcRectangleProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_add1::IfcRectangleProfileDef Ifc4x3_add1::IfcRectangleProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_add1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13394,7 +13394,7 @@ void Ifc4x3_add1::IfcRectangularPyramid::setHeight(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_add1::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[875]); } -void Ifc4x3_add1::IfcRectangularPyramid::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_add1::IfcRectangularPyramid Ifc4x3_add1::IfcRectangularPyramid::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -13414,7 +13414,7 @@ void Ifc4x3_add1::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[876]); } -void Ifc4x3_add1::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_add1::IfcRectangularTrimmedSurface Ifc4x3_add1::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value Ifc4x3_add1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_add1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13436,7 +13436,7 @@ void Ifc4x3_add1::IfcRecurrencePattern::setTimePeriods(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add1::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[877]); } -void Ifc4x3_add1::IfcRecurrencePattern::initialize(::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_add1::IfcRecurrencePattern Ifc4x3_add1::IfcRecurrencePattern::initialize(::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_add1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13452,7 +13452,7 @@ void Ifc4x3_add1::IfcReference::setInnerReference(const ::Ifc4x3_add1::IfcRefere const ifcopenshell::entity& Ifc4x3_add1::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[879]); } -void Ifc4x3_add1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_add1::IfcReference Ifc4x3_add1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > Ifc4x3_add1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13460,7 +13460,7 @@ void Ifc4x3_add1::IfcReferent::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[880]); } -void Ifc4x3_add1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add1::IfcReferent Ifc4x3_add1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_add1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13470,7 +13470,7 @@ void Ifc4x3_add1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[883]); } -void Ifc4x3_add1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_add1::IfcRegularTimeSeries Ifc4x3_add1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_add1::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13478,7 +13478,7 @@ void Ifc4x3_add1::IfcReinforcedSoil::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[884]); } -void Ifc4x3_add1::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcReinforcedSoil Ifc4x3_add1::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_add1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13496,7 +13496,7 @@ void Ifc4x3_add1::IfcReinforcementBarProperties::setBarCount(const std::optional const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[886]); } -void Ifc4x3_add1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_add1::IfcReinforcementBarProperties Ifc4x3_add1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_add1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13506,7 +13506,7 @@ void Ifc4x3_add1::IfcReinforcementDefinitionProperties::setReinforcementSectionD const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[887]); } -void Ifc4x3_add1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_add1::IfcReinforcementDefinitionProperties Ifc4x3_add1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_add1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13522,7 +13522,7 @@ void Ifc4x3_add1::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[888]); } -void Ifc4x3_add1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_add1::IfcReinforcingBar Ifc4x3_add1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value Ifc4x3_add1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13542,7 +13542,7 @@ void Ifc4x3_add1::IfcReinforcingBarType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[891]); } -void Ifc4x3_add1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_add1::IfcReinforcingBarType Ifc4x3_add1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_add1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13550,13 +13550,13 @@ void Ifc4x3_add1::IfcReinforcingElement::setSteelGrade(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[893]); } -void Ifc4x3_add1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_add1::IfcReinforcingElement Ifc4x3_add1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[894]); } -void Ifc4x3_add1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcReinforcingElementType Ifc4x3_add1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_add1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13580,7 +13580,7 @@ void Ifc4x3_add1::IfcReinforcingMesh::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[895]); } -void Ifc4x3_add1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_add1::IfcReinforcingMesh Ifc4x3_add1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13608,7 +13608,7 @@ void Ifc4x3_add1::IfcReinforcingMeshType::setBendingParameters(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[896]); } -void Ifc4x3_add1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_add1::IfcReinforcingMeshType Ifc4x3_add1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_add1::IfcElement Ifc4x3_add1::IfcRelAdheresToElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcElement>(); } @@ -13618,7 +13618,7 @@ void Ifc4x3_add1::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::v const ifcopenshell::entity& Ifc4x3_add1::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[898]); } -void Ifc4x3_add1::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures)); } +Ifc4x3_add1::IfcRelAdheresToElement Ifc4x3_add1::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures));; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_add1::IfcObjectDefinition Ifc4x3_add1::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcObjectDefinition>(); } @@ -13628,7 +13628,7 @@ void Ifc4x3_add1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[899]); } -void Ifc4x3_add1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_add1::IfcRelAggregates Ifc4x3_add1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_add1::IfcObjectDefinition > Ifc4x3_add1::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcObjectDefinition>(es); } @@ -13638,7 +13638,7 @@ void Ifc4x3_add1::IfcRelAssigns::setRelatedObjectsType(const std::optional< bool const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[900]); } -void Ifc4x3_add1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); } } +Ifc4x3_add1::IfcRelAssigns Ifc4x3_add1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_add1::IfcActor Ifc4x3_add1::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcActor>(); } @@ -13648,7 +13648,7 @@ void Ifc4x3_add1::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_add1::IfcAc const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[901]); } -void Ifc4x3_add1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcActor v7_RelatingActor, ::Ifc4x3_add1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_add1::IfcRelAssignsToActor Ifc4x3_add1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcActor v7_RelatingActor, ::Ifc4x3_add1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_add1::IfcControl Ifc4x3_add1::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcControl>(); } @@ -13656,7 +13656,7 @@ void Ifc4x3_add1::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[902]); } -void Ifc4x3_add1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_add1::IfcRelAssignsToControl Ifc4x3_add1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_add1::IfcGroup Ifc4x3_add1::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcGroup>(); } @@ -13664,7 +13664,7 @@ void Ifc4x3_add1::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[903]); } -void Ifc4x3_add1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_add1::IfcRelAssignsToGroup Ifc4x3_add1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_add1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13672,7 +13672,7 @@ void Ifc4x3_add1::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[904]); } -void Ifc4x3_add1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_add1::IfcRelAssignsToGroupByFactor Ifc4x3_add1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_add1::IfcProcessSelect Ifc4x3_add1::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcProcessSelect>(); } @@ -13682,7 +13682,7 @@ void Ifc4x3_add1::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[905]); } -void Ifc4x3_add1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_add1::IfcRelAssignsToProcess Ifc4x3_add1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_add1::IfcProductSelect Ifc4x3_add1::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcProductSelect>(); } @@ -13690,7 +13690,7 @@ void Ifc4x3_add1::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[906]); } -void Ifc4x3_add1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_add1::IfcRelAssignsToProduct Ifc4x3_add1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_add1::IfcResourceSelect Ifc4x3_add1::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add1::IfcResourceSelect>(); } @@ -13698,7 +13698,7 @@ void Ifc4x3_add1::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[907]); } -void Ifc4x3_add1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_add1::IfcRelAssignsToResource Ifc4x3_add1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcDefinitionSelect>(es); } @@ -13706,7 +13706,7 @@ void Ifc4x3_add1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[908]); } -void Ifc4x3_add1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_add1::IfcRelAssociates Ifc4x3_add1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_add1::IfcApproval Ifc4x3_add1::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcApproval>(); } @@ -13714,7 +13714,7 @@ void Ifc4x3_add1::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[909]); } -void Ifc4x3_add1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_add1::IfcRelAssociatesApproval Ifc4x3_add1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_add1::IfcClassificationSelect Ifc4x3_add1::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcClassificationSelect>(); } @@ -13722,7 +13722,7 @@ void Ifc4x3_add1::IfcRelAssociatesClassification::setRelatingClassification(cons const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[910]); } -void Ifc4x3_add1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_add1::IfcRelAssociatesClassification Ifc4x3_add1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_add1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13732,7 +13732,7 @@ void Ifc4x3_add1::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[911]); } -void Ifc4x3_add1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_add1::IfcRelAssociatesConstraint Ifc4x3_add1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_add1::IfcDocumentSelect Ifc4x3_add1::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcDocumentSelect>(); } @@ -13740,7 +13740,7 @@ void Ifc4x3_add1::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[912]); } -void Ifc4x3_add1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_add1::IfcRelAssociatesDocument Ifc4x3_add1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_add1::IfcLibrarySelect Ifc4x3_add1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcLibrarySelect>(); } @@ -13748,7 +13748,7 @@ void Ifc4x3_add1::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[913]); } -void Ifc4x3_add1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_add1::IfcRelAssociatesLibrary Ifc4x3_add1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_add1::IfcMaterialSelect Ifc4x3_add1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcMaterialSelect>(); } @@ -13756,7 +13756,7 @@ void Ifc4x3_add1::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[914]); } -void Ifc4x3_add1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_add1::IfcRelAssociatesMaterial Ifc4x3_add1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -13764,13 +13764,13 @@ void Ifc4x3_add1::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[915]); } -void Ifc4x3_add1::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_add1::IfcRelAssociatesProfileDef Ifc4x3_add1::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[917]); } -void Ifc4x3_add1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcRelConnects Ifc4x3_add1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_add1::IfcConnectionGeometry Ifc4x3_add1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcConnectionGeometry>(); } @@ -13782,7 +13782,7 @@ void Ifc4x3_add1::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[918]); } -void Ifc4x3_add1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_add1::IfcRelConnectsElements Ifc4x3_add1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_add1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13796,7 +13796,7 @@ void Ifc4x3_add1::IfcRelConnectsPathElements::setRelatingConnectionType(const :: const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[919]); } -void Ifc4x3_add1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_add1::IfcRelConnectsPathElements Ifc4x3_add1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_add1::IfcPort Ifc4x3_add1::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcPort>(); } @@ -13806,7 +13806,7 @@ void Ifc4x3_add1::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[921]); } -void Ifc4x3_add1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_add1::IfcRelConnectsPortToElement Ifc4x3_add1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_add1::IfcPort Ifc4x3_add1::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcPort>(); } @@ -13818,7 +13818,7 @@ void Ifc4x3_add1::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[920]); } -void Ifc4x3_add1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcPort v6_RelatedPort, ::Ifc4x3_add1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_add1::IfcRelConnectsPorts Ifc4x3_add1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcPort v6_RelatedPort, ::Ifc4x3_add1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect Ifc4x3_add1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect>(); } @@ -13828,7 +13828,7 @@ void Ifc4x3_add1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[922]); } -void Ifc4x3_add1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_add1::IfcRelConnectsStructuralActivity Ifc4x3_add1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_add1::IfcStructuralMember Ifc4x3_add1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcStructuralMember>(); } @@ -13846,7 +13846,7 @@ void Ifc4x3_add1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(c const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[923]); } -void Ifc4x3_add1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_add1::IfcRelConnectsStructuralMember Ifc4x3_add1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_add1::IfcConnectionGeometry Ifc4x3_add1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add1::IfcConnectionGeometry>(); } @@ -13854,7 +13854,7 @@ void Ifc4x3_add1::IfcRelConnectsWithEccentricity::setConnectionConstraint(const const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[924]); } -void Ifc4x3_add1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_add1::IfcRelConnectsWithEccentricity Ifc4x3_add1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_add1::IfcElement > Ifc4x3_add1::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add1::IfcElement>(es); } @@ -13864,7 +13864,7 @@ void Ifc4x3_add1::IfcRelConnectsWithRealizingElements::setConnectionType(const s const ifcopenshell::entity& Ifc4x3_add1::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[925]); } -void Ifc4x3_add1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_add1::IfcRelConnectsWithRealizingElements Ifc4x3_add1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_add1::IfcProduct > Ifc4x3_add1::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcProduct>(es); } @@ -13874,7 +13874,7 @@ void Ifc4x3_add1::IfcRelContainedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_add1::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[926]); } -void Ifc4x3_add1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProduct > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_add1::IfcRelContainedInSpatialStructure Ifc4x3_add1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProduct > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_add1::IfcElement Ifc4x3_add1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcElement>(); } @@ -13884,7 +13884,7 @@ void Ifc4x3_add1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vecto const ifcopenshell::entity& Ifc4x3_add1::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[927]); } -void Ifc4x3_add1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_add1::IfcRelCoversBldgElements Ifc4x3_add1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_add1::IfcSpace Ifc4x3_add1::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcSpace>(); } @@ -13894,7 +13894,7 @@ void Ifc4x3_add1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[928]); } -void Ifc4x3_add1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_add1::IfcRelCoversSpaces Ifc4x3_add1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_add1::IfcContext Ifc4x3_add1::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcContext>(); } @@ -13904,19 +13904,19 @@ void Ifc4x3_add1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[929]); } -void Ifc4x3_add1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_add1::IfcRelDeclares Ifc4x3_add1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_add1::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[930]); } -void Ifc4x3_add1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcRelDecomposes Ifc4x3_add1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_add1::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[931]); } -void Ifc4x3_add1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcRelDefines Ifc4x3_add1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_add1::IfcObject > Ifc4x3_add1::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcObject>(es); } @@ -13926,7 +13926,7 @@ void Ifc4x3_add1::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[932]); } -void Ifc4x3_add1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_add1::IfcRelDefinesByObject Ifc4x3_add1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_add1::IfcObjectDefinition > Ifc4x3_add1::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcObjectDefinition>(es); } @@ -13936,7 +13936,7 @@ void Ifc4x3_add1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_add1::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[933]); } -void Ifc4x3_add1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_add1::IfcRelDefinesByProperties Ifc4x3_add1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > Ifc4x3_add1::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcPropertySetDefinition>(es); } @@ -13946,7 +13946,7 @@ void Ifc4x3_add1::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[934]); } -void Ifc4x3_add1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_add1::IfcRelDefinesByTemplate Ifc4x3_add1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_add1::IfcObject > Ifc4x3_add1::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcObject>(es); } @@ -13956,7 +13956,7 @@ void Ifc4x3_add1::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_add1::IfcT const ifcopenshell::entity& Ifc4x3_add1::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[935]); } -void Ifc4x3_add1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_add1::IfcRelDefinesByType Ifc4x3_add1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_add1::IfcOpeningElement Ifc4x3_add1::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcOpeningElement>(); } @@ -13966,7 +13966,7 @@ void Ifc4x3_add1::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[936]); } -void Ifc4x3_add1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_add1::IfcRelFillsElement Ifc4x3_add1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_add1::IfcDistributionControlElement > Ifc4x3_add1::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcDistributionControlElement>(es); } @@ -13976,7 +13976,7 @@ void Ifc4x3_add1::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[937]); } -void Ifc4x3_add1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_add1::IfcRelFlowControlElements Ifc4x3_add1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_add1::IfcInterferenceSelect Ifc4x3_add1::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcInterferenceSelect>(); } @@ -13994,7 +13994,7 @@ void Ifc4x3_add1::IfcRelInterferesElements::setInterferenceSpace(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[938]); } -void Ifc4x3_add1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add1::IfcSpatialZone v10_InterferenceSpace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, (v10_InterferenceSpace)); } +Ifc4x3_add1::IfcRelInterferesElements Ifc4x3_add1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add1::IfcSpatialZone v10_InterferenceSpace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, (v10_InterferenceSpace));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_add1::IfcObjectDefinition Ifc4x3_add1::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcObjectDefinition>(); } @@ -14004,7 +14004,7 @@ void Ifc4x3_add1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[939]); } -void Ifc4x3_add1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_add1::IfcRelNests Ifc4x3_add1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_add1::IfcPositioningElement Ifc4x3_add1::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcPositioningElement>(); } @@ -14014,7 +14014,7 @@ void Ifc4x3_add1::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[940]); } -void Ifc4x3_add1::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add1::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_add1::IfcRelPositions Ifc4x3_add1::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add1::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_add1::IfcElement Ifc4x3_add1::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcElement>(); } @@ -14024,7 +14024,7 @@ void Ifc4x3_add1::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[941]); } -void Ifc4x3_add1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_add1::IfcRelProjectsElement Ifc4x3_add1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_add1::IfcSpatialReferenceSelect > Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add1::IfcSpatialReferenceSelect>(es); } @@ -14034,7 +14034,7 @@ void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[942]); } -void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_add1::IfcRelReferencedInSpatialStructure Ifc4x3_add1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_add1::IfcProcess Ifc4x3_add1::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcProcess>(); } @@ -14050,7 +14050,7 @@ void Ifc4x3_add1::IfcRelSequence::setUserDefinedSequenceType(const std::optional const ifcopenshell::entity& Ifc4x3_add1::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[943]); } -void Ifc4x3_add1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcProcess v5_RelatingProcess, ::Ifc4x3_add1::IfcProcess v6_RelatedProcess, ::Ifc4x3_add1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_add1::IfcRelSequence Ifc4x3_add1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcProcess v5_RelatingProcess, ::Ifc4x3_add1::IfcProcess v6_RelatedProcess, ::Ifc4x3_add1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_add1::IfcSystem Ifc4x3_add1::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcSystem>(); } @@ -14060,7 +14060,7 @@ void Ifc4x3_add1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector const ifcopenshell::entity& Ifc4x3_add1::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[944]); } -void Ifc4x3_add1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_add1::IfcRelServicesBuildings Ifc4x3_add1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_add1::IfcSpaceBoundarySelect Ifc4x3_add1::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcSpaceBoundarySelect>(); } @@ -14076,7 +14076,7 @@ void Ifc4x3_add1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[945]); } -void Ifc4x3_add1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_add1::IfcRelSpaceBoundary Ifc4x3_add1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel>(); } @@ -14085,7 +14085,7 @@ void Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_ std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel> Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[946], 9)); } const ifcopenshell::entity& Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[946]); } -void Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_add1::IfcRelSpaceBoundary1stLevel Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel>(); } @@ -14094,7 +14094,7 @@ void Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const :: std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[947], 10)); } const ifcopenshell::entity& Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[947]); } -void Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_add1::IfcElement Ifc4x3_add1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcElement>(); } @@ -14104,13 +14104,13 @@ void Ifc4x3_add1::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[948]); } -void Ifc4x3_add1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_add1::IfcRelVoidsElement Ifc4x3_add1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_add1::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[916]); } -void Ifc4x3_add1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcRelationship Ifc4x3_add1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14118,7 +14118,7 @@ void Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::setParamLength(const d const ifcopenshell::entity& Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[949]); } -void Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_add1::IfcRepresentationContext Ifc4x3_add1::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcRepresentationContext>(); } @@ -14135,7 +14135,7 @@ std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepre std::vector<::Ifc4x3_add1::IfcProductRepresentation> Ifc4x3_add1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[802], 2)); } const ifcopenshell::entity& Ifc4x3_add1::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[950]); } -void Ifc4x3_add1::IfcRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add1::IfcRepresentation Ifc4x3_add1::IfcRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_add1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14146,7 +14146,7 @@ void Ifc4x3_add1::IfcRepresentationContext::setContextType(const std::optional< std::vector<::Ifc4x3_add1::IfcRepresentation> Ifc4x3_add1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[950], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[951]); } -void Ifc4x3_add1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_add1::IfcRepresentationContext Ifc4x3_add1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14154,7 +14154,7 @@ std::vector<::Ifc4x3_add1::IfcPresentationLayerAssignment> Ifc4x3_add1::IfcRepre std::vector<::Ifc4x3_add1::IfcStyledItem> Ifc4x3_add1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1117], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[952]); } -void Ifc4x3_add1::IfcRepresentationItem::initialize() { } +Ifc4x3_add1::IfcRepresentationItem Ifc4x3_add1::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_add1::IfcAxis2Placement Ifc4x3_add1::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcAxis2Placement>(); } @@ -14166,7 +14166,7 @@ std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcRepresentationMap::Ha std::vector<::Ifc4x3_add1::IfcMappedItem> Ifc4x3_add1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[628], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[953]); } -void Ifc4x3_add1::IfcRepresentationMap::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_add1::IfcRepresentationMap Ifc4x3_add1::IfcRepresentationMap::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_add1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14177,7 +14177,7 @@ void Ifc4x3_add1::IfcResource::setLongDescription(const std::optional< std::stri std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[907], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[954]); } -void Ifc4x3_add1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_add1::IfcResource Ifc4x3_add1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcResourceObjectSelect>(es); } @@ -14187,7 +14187,7 @@ void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatingApproval(const ::I const ifcopenshell::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[955]); } -void Ifc4x3_add1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_add1::IfcResourceApprovalRelationship Ifc4x3_add1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_add1::IfcConstraint Ifc4x3_add1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcConstraint>(); } @@ -14197,7 +14197,7 @@ void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatedResourceObjects(c const ifcopenshell::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[956]); } -void Ifc4x3_add1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_add1::IfcResourceConstraintRelationship Ifc4x3_add1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14207,7 +14207,7 @@ void Ifc4x3_add1::IfcResourceLevelRelationship::setDescription(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[957]); } -void Ifc4x3_add1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_add1::IfcResourceLevelRelationship Ifc4x3_add1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14243,7 +14243,7 @@ void Ifc4x3_add1::IfcResourceTime::setCompletion(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add1::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[960]); } -void Ifc4x3_add1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_add1::IfcResourceTime Ifc4x3_add1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_add1::IfcAxis1Placement Ifc4x3_add1::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcAxis1Placement>(); } @@ -14253,7 +14253,7 @@ void Ifc4x3_add1::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add1::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[961]); } -void Ifc4x3_add1::IfcRevolvedAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_add1::IfcRevolvedAreaSolid Ifc4x3_add1::IfcRevolvedAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -14261,7 +14261,7 @@ void Ifc4x3_add1::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[962]); } -void Ifc4x3_add1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_add1::IfcRevolvedAreaSolidTapered Ifc4x3_add1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_add1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14271,7 +14271,7 @@ void Ifc4x3_add1::IfcRightCircularCone::setBottomRadius(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[963]); } -void Ifc4x3_add1::IfcRightCircularCone::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_add1::IfcRightCircularCone Ifc4x3_add1::IfcRightCircularCone::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_add1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14281,7 +14281,7 @@ void Ifc4x3_add1::IfcRightCircularCylinder::setRadius(const double& v) { set_att const ifcopenshell::entity& Ifc4x3_add1::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[964]); } -void Ifc4x3_add1::IfcRightCircularCylinder::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_add1::IfcRightCircularCylinder Ifc4x3_add1::IfcRightCircularCylinder::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRigidOperation ::Ifc4x3_add1::IfcMeasureValue Ifc4x3_add1::IfcRigidOperation::FirstCoordinate() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcMeasureValue>(); } @@ -14293,7 +14293,7 @@ void Ifc4x3_add1::IfcRigidOperation::setHeight(const double& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_add1::IfcRigidOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[965]); } -void Ifc4x3_add1::IfcRigidOperation::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add1::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add1::IfcMeasureValue v4_SecondCoordinate, double v5_Height) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_FirstCoordinate));set_attribute_value(3, (v4_SecondCoordinate));set_attribute_value(4, (v5_Height)); } +Ifc4x3_add1::IfcRigidOperation Ifc4x3_add1::IfcRigidOperation::initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add1::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add1::IfcMeasureValue v4_SecondCoordinate, double v5_Height) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_FirstCoordinate));set_attribute_value(3, (v4_SecondCoordinate));set_attribute_value(4, (v5_Height));; return *this; } // Function implementations for IfcRoad std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > Ifc4x3_add1::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } @@ -14301,7 +14301,7 @@ void Ifc4x3_add1::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[966]); } -void Ifc4x3_add1::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcRoad Ifc4x3_add1::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRoadPart std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > Ifc4x3_add1::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } @@ -14309,7 +14309,7 @@ void Ifc4x3_add1::IfcRoadPart::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcRoadPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[967]); } -void Ifc4x3_add1::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcRoadPart Ifc4x3_add1::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > Ifc4x3_add1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14317,7 +14317,7 @@ void Ifc4x3_add1::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[971]); } -void Ifc4x3_add1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcRoof Ifc4x3_add1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_add1::IfcRoofTypeEnum::Value Ifc4x3_add1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_add1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14325,7 +14325,7 @@ void Ifc4x3_add1::IfcRoofType::setPredefinedType(const ::Ifc4x3_add1::IfcRoofTyp const ifcopenshell::entity& Ifc4x3_add1::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[972]); } -void Ifc4x3_add1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcRoofType Ifc4x3_add1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_add1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14339,7 +14339,7 @@ void Ifc4x3_add1::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_add1::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[974]); } -void Ifc4x3_add1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add1::IfcRoot Ifc4x3_add1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_add1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14347,7 +14347,7 @@ void Ifc4x3_add1::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_add1::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[979]); } -void Ifc4x3_add1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_add1::IfcRoundedRectangleProfileDef Ifc4x3_add1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > Ifc4x3_add1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14357,7 +14357,7 @@ void Ifc4x3_add1::IfcSIUnit::setName(const ::Ifc4x3_add1::IfcSIUnitName::Value& const ifcopenshell::entity& Ifc4x3_add1::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1025]); } -void Ifc4x3_add1::IfcSIUnit::initialize(::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_add1::IfcSIUnit Ifc4x3_add1::IfcSIUnit::initialize(::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_add1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14365,7 +14365,7 @@ void Ifc4x3_add1::IfcSanitaryTerminal::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add1::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[980]); } -void Ifc4x3_add1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSanitaryTerminal Ifc4x3_add1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14373,7 +14373,7 @@ void Ifc4x3_add1::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[981]); } -void Ifc4x3_add1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSanitaryTerminalType Ifc4x3_add1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_add1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14385,13 +14385,13 @@ void Ifc4x3_add1::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optiona const ifcopenshell::entity& Ifc4x3_add1::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[983]); } -void Ifc4x3_add1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_add1::IfcSchedulingTime Ifc4x3_add1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_add1::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[984]); } -void Ifc4x3_add1::IfcSeamCurve::initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_add1::IfcSeamCurve Ifc4x3_add1::IfcSeamCurve::initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSecondOrderPolynomialSpiral double Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } @@ -14403,7 +14403,7 @@ void Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::opt const ifcopenshell::entity& Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[985]); } -void Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_add1::IfcSecondOrderPolynomialSpiral Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_add1::IfcSectionTypeEnum::Value Ifc4x3_add1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14415,7 +14415,7 @@ void Ifc4x3_add1::IfcSectionProperties::setEndProfile(const ::Ifc4x3_add1::IfcPr const ifcopenshell::entity& Ifc4x3_add1::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[992]); } -void Ifc4x3_add1::IfcSectionProperties::initialize(::Ifc4x3_add1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add1::IfcProfileDef v2_StartProfile, ::Ifc4x3_add1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_add1::IfcSectionProperties Ifc4x3_add1::IfcSectionProperties::initialize(::Ifc4x3_add1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add1::IfcProfileDef v2_StartProfile, ::Ifc4x3_add1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_add1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14433,7 +14433,7 @@ void Ifc4x3_add1::IfcSectionReinforcementProperties::setCrossSectionReinforcemen const ifcopenshell::entity& Ifc4x3_add1::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[993]); } -void Ifc4x3_add1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_add1::IfcSectionReinforcementProperties Ifc4x3_add1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -14443,7 +14443,7 @@ void Ifc4x3_add1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[987]); } -void Ifc4x3_add1::IfcSectionedSolid::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_add1::IfcSectionedSolid Ifc4x3_add1::IfcSectionedSolid::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > Ifc4x3_add1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add1::IfcAxis2PlacementLinear>(es); } @@ -14451,7 +14451,7 @@ void Ifc4x3_add1::IfcSectionedSolidHorizontal::setCrossSectionPositions(const st const ifcopenshell::entity& Ifc4x3_add1::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[988]); } -void Ifc4x3_add1::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_add1::IfcSectionedSolidHorizontal Ifc4x3_add1::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_add1::IfcCompositeCurve Ifc4x3_add1::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCompositeCurve>(); } @@ -14463,7 +14463,7 @@ void Ifc4x3_add1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_add1::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[989]); } -void Ifc4x3_add1::IfcSectionedSpine::initialize(::Ifc4x3_add1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_add1::IfcSectionedSpine Ifc4x3_add1::IfcSectionedSpine::initialize(::Ifc4x3_add1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -14475,7 +14475,7 @@ void Ifc4x3_add1::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[990]); } -void Ifc4x3_add1::IfcSectionedSurface::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections)); } +Ifc4x3_add1::IfcSectionedSurface Ifc4x3_add1::IfcSectionedSurface::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));; return *this; } // Function implementations for IfcSegment ::Ifc4x3_add1::IfcTransitionCode::Value Ifc4x3_add1::IfcSegment::Transition() const { return ::Ifc4x3_add1::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14484,7 +14484,7 @@ void Ifc4x3_add1::IfcSegment::setTransition(const ::Ifc4x3_add1::IfcTransitionCo std::vector<::Ifc4x3_add1::IfcCompositeCurve> Ifc4x3_add1::IfcSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[192], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[995]); } -void Ifc4x3_add1::IfcSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3_add1::IfcSegment Ifc4x3_add1::IfcSegment::initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3_add1::IfcBoundedCurve Ifc4x3_add1::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcBoundedCurve>(); } @@ -14494,7 +14494,7 @@ void Ifc4x3_add1::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[996]); } -void Ifc4x3_add1::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_add1::IfcSegmentedReferenceCurve Ifc4x3_add1::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > Ifc4x3_add1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14502,7 +14502,7 @@ void Ifc4x3_add1::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[998]); } -void Ifc4x3_add1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSensor Ifc4x3_add1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_add1::IfcSensorTypeEnum::Value Ifc4x3_add1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_add1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14510,7 +14510,7 @@ void Ifc4x3_add1::IfcSensorType::setPredefinedType(const ::Ifc4x3_add1::IfcSenso const ifcopenshell::entity& Ifc4x3_add1::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[999]); } -void Ifc4x3_add1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSensorType Ifc4x3_add1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSeventhOrderPolynomialSpiral double Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } @@ -14532,7 +14532,7 @@ void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setConstantTerm(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1002]); } -void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); } } +Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_add1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14540,7 +14540,7 @@ void Ifc4x3_add1::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1003]); } -void Ifc4x3_add1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcShadingDevice Ifc4x3_add1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value Ifc4x3_add1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14548,7 +14548,7 @@ void Ifc4x3_add1::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1004]); } -void Ifc4x3_add1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcShadingDeviceType Ifc4x3_add1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_add1::IfcShapeModel > Ifc4x3_add1::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcShapeModel>(es); } @@ -14565,20 +14565,20 @@ void Ifc4x3_add1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3 std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1006]); } -void Ifc4x3_add1::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_add1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_add1::IfcShapeAspect Ifc4x3_add1::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_add1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_add1::IfcShapeAspect> Ifc4x3_add1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1006], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1007]); } -void Ifc4x3_add1::IfcShapeModel::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add1::IfcShapeModel Ifc4x3_add1::IfcShapeModel::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_add1::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1008]); } -void Ifc4x3_add1::IfcShapeRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add1::IfcShapeRepresentation Ifc4x3_add1::IfcShapeRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_add1::IfcShell > Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcShell>(es); } @@ -14586,7 +14586,7 @@ void Ifc4x3_add1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< const ifcopenshell::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1011]); } -void Ifc4x3_add1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_add1::IfcShellBasedSurfaceModel Ifc4x3_add1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > Ifc4x3_add1::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14594,7 +14594,7 @@ void Ifc4x3_add1::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1012]); } -void Ifc4x3_add1::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSign Ifc4x3_add1::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_add1::IfcSignTypeEnum::Value Ifc4x3_add1::IfcSignType::PredefinedType() const { return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14602,7 +14602,7 @@ void Ifc4x3_add1::IfcSignType::setPredefinedType(const ::Ifc4x3_add1::IfcSignTyp const ifcopenshell::entity& Ifc4x3_add1::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1016]); } -void Ifc4x3_add1::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSignType Ifc4x3_add1::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > Ifc4x3_add1::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14610,7 +14610,7 @@ void Ifc4x3_add1::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1013]); } -void Ifc4x3_add1::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSignal Ifc4x3_add1::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_add1::IfcSignalTypeEnum::Value Ifc4x3_add1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_add1::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14618,13 +14618,13 @@ void Ifc4x3_add1::IfcSignalType::setPredefinedType(const ::Ifc4x3_add1::IfcSigna const ifcopenshell::entity& Ifc4x3_add1::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1014]); } -void Ifc4x3_add1::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSignalType Ifc4x3_add1::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_add1::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1018]); } -void Ifc4x3_add1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3_add1::IfcSimpleProperty Ifc4x3_add1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_add1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14646,7 +14646,7 @@ void Ifc4x3_add1::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1019]); } -void Ifc4x3_add1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_add1::IfcSimplePropertyTemplate Ifc4x3_add1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSineSpiral double Ifc4x3_add1::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } @@ -14658,7 +14658,7 @@ void Ifc4x3_add1::IfcSineSpiral::setConstantTerm(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add1::IfcSineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1022]); } -void Ifc4x3_add1::IfcSineSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_add1::IfcSineSpiral Ifc4x3_add1::IfcSineSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14674,7 +14674,7 @@ void Ifc4x3_add1::IfcSite::setSiteAddress(const ::Ifc4x3_add1::IfcPostalAddress& const ifcopenshell::entity& Ifc4x3_add1::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1024]); } -void Ifc4x3_add1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_add1::IfcSite Ifc4x3_add1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > Ifc4x3_add1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14682,7 +14682,7 @@ void Ifc4x3_add1::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1028]); } -void Ifc4x3_add1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSlab Ifc4x3_add1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_add1::IfcSlabTypeEnum::Value Ifc4x3_add1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_add1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14690,7 +14690,7 @@ void Ifc4x3_add1::IfcSlabType::setPredefinedType(const ::Ifc4x3_add1::IfcSlabTyp const ifcopenshell::entity& Ifc4x3_add1::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1029]); } -void Ifc4x3_add1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSlabType Ifc4x3_add1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14702,7 +14702,7 @@ void Ifc4x3_add1::IfcSlippageConnectionCondition::setSlippageZ(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1031]); } -void Ifc4x3_add1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_add1::IfcSlippageConnectionCondition Ifc4x3_add1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_add1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14710,7 +14710,7 @@ void Ifc4x3_add1::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1032]); } -void Ifc4x3_add1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSolarDevice Ifc4x3_add1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value Ifc4x3_add1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14718,13 +14718,13 @@ void Ifc4x3_add1::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1033]); } -void Ifc4x3_add1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSolarDeviceType Ifc4x3_add1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_add1::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1036]); } -void Ifc4x3_add1::IfcSolidModel::initialize() { } +Ifc4x3_add1::IfcSolidModel Ifc4x3_add1::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > Ifc4x3_add1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14736,7 +14736,7 @@ std::vector<::Ifc4x3_add1::IfcRelCoversSpaces> Ifc4x3_add1::IfcSpace::HasCoverin std::vector<::Ifc4x3_add1::IfcRelSpaceBoundary> Ifc4x3_add1::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[945], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1042]); } -void Ifc4x3_add1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_add1::IfcSpace Ifc4x3_add1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_add1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14744,7 +14744,7 @@ void Ifc4x3_add1::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1044]); } -void Ifc4x3_add1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSpaceHeater Ifc4x3_add1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14752,7 +14752,7 @@ void Ifc4x3_add1::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1045]); } -void Ifc4x3_add1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSpaceHeaterType Ifc4x3_add1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_add1::IfcSpaceTypeEnum::Value Ifc4x3_add1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14762,7 +14762,7 @@ void Ifc4x3_add1::IfcSpaceType::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add1::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1047]); } -void Ifc4x3_add1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_add1::IfcSpaceType Ifc4x3_add1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_add1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14775,7 +14775,7 @@ std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElem std::vector<::Ifc4x3_add1::IfcRelInterferesElements> Ifc4x3_add1::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[938], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1049]); } -void Ifc4x3_add1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_add1::IfcSpatialElement Ifc4x3_add1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_add1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14783,7 +14783,7 @@ void Ifc4x3_add1::IfcSpatialElementType::setElementType(const std::optional< std const ifcopenshell::entity& Ifc4x3_add1::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1050]); } -void Ifc4x3_add1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcSpatialElementType Ifc4x3_add1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > Ifc4x3_add1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14791,13 +14791,13 @@ void Ifc4x3_add1::IfcSpatialStructureElement::setCompositionType(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1052]); } -void Ifc4x3_add1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_add1::IfcSpatialStructureElement Ifc4x3_add1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_add1::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1053]); } -void Ifc4x3_add1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcSpatialStructureElementType Ifc4x3_add1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_add1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14805,7 +14805,7 @@ void Ifc4x3_add1::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1054]); } -void Ifc4x3_add1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSpatialZone Ifc4x3_add1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value Ifc4x3_add1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14815,7 +14815,7 @@ void Ifc4x3_add1::IfcSpatialZoneType::setLongName(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_add1::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1055]); } -void Ifc4x3_add1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_add1::IfcSpatialZoneType Ifc4x3_add1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_add1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14823,7 +14823,7 @@ void Ifc4x3_add1::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_add1::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1061]); } -void Ifc4x3_add1::IfcSphere::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add1::IfcSphere Ifc4x3_add1::IfcSphere::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_add1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14831,7 +14831,7 @@ void Ifc4x3_add1::IfcSphericalSurface::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add1::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1062]); } -void Ifc4x3_add1::IfcSphericalSurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add1::IfcSphericalSurface Ifc4x3_add1::IfcSphericalSurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSpiral ::Ifc4x3_add1::IfcAxis2Placement Ifc4x3_add1::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcAxis2Placement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcAxis2Placement>(); } @@ -14839,7 +14839,7 @@ void Ifc4x3_add1::IfcSpiral::setPosition(const ::Ifc4x3_add1::IfcAxis2Placement& const ifcopenshell::entity& Ifc4x3_add1::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1063]); } -void Ifc4x3_add1::IfcSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add1::IfcSpiral Ifc4x3_add1::IfcSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > Ifc4x3_add1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14847,7 +14847,7 @@ void Ifc4x3_add1::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1064]); } -void Ifc4x3_add1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcStackTerminal Ifc4x3_add1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value Ifc4x3_add1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14855,7 +14855,7 @@ void Ifc4x3_add1::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1065]); } -void Ifc4x3_add1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcStackTerminalType Ifc4x3_add1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > Ifc4x3_add1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14863,7 +14863,7 @@ void Ifc4x3_add1::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1067]); } -void Ifc4x3_add1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcStair Ifc4x3_add1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_add1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14879,7 +14879,7 @@ void Ifc4x3_add1::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1068]); } -void Ifc4x3_add1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_add1::IfcStairFlight Ifc4x3_add1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value Ifc4x3_add1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_add1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14887,7 +14887,7 @@ void Ifc4x3_add1::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1069]); } -void Ifc4x3_add1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcStairFlightType Ifc4x3_add1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_add1::IfcStairTypeEnum::Value Ifc4x3_add1::IfcStairType::PredefinedType() const { return ::Ifc4x3_add1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14895,7 +14895,7 @@ void Ifc4x3_add1::IfcStairType::setPredefinedType(const ::Ifc4x3_add1::IfcStairT const ifcopenshell::entity& Ifc4x3_add1::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1071]); } -void Ifc4x3_add1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcStairType Ifc4x3_add1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_add1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -14903,7 +14903,7 @@ void Ifc4x3_add1::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1075]); } -void Ifc4x3_add1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_add1::IfcStructuralAction Ifc4x3_add1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_add1::IfcStructuralLoad Ifc4x3_add1::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcStructuralLoad>(); } @@ -14914,7 +14914,7 @@ void Ifc4x3_add1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_add1::I std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[922], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1076]); } -void Ifc4x3_add1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_add1::IfcStructuralActivity Ifc4x3_add1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value Ifc4x3_add1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -14930,7 +14930,7 @@ void Ifc4x3_add1::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1078]); } -void Ifc4x3_add1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_add1::IfcStructuralAnalysisModel Ifc4x3_add1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_add1::IfcBoundaryCondition Ifc4x3_add1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add1::IfcBoundaryCondition>(); } @@ -14939,7 +14939,7 @@ void Ifc4x3_add1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_ad std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[923], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1079]); } -void Ifc4x3_add1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_add1::IfcStructuralConnection Ifc4x3_add1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_add1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14947,7 +14947,7 @@ void Ifc4x3_add1::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1080]); } -void Ifc4x3_add1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcStructuralConnectionCondition Ifc4x3_add1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -14957,7 +14957,7 @@ void Ifc4x3_add1::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1081]); } -void Ifc4x3_add1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcStructuralCurveAction Ifc4x3_add1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcStructuralCurveConnection::AxisDirection() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -14965,7 +14965,7 @@ void Ifc4x3_add1::IfcStructuralCurveConnection::setAxisDirection(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1083]); } -void Ifc4x3_add1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection)); } +Ifc4x3_add1::IfcStructuralCurveConnection Ifc4x3_add1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -14975,13 +14975,13 @@ void Ifc4x3_add1::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_add1::IfcDire const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1084]); } -void Ifc4x3_add1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_add1::IfcStructuralCurveMember Ifc4x3_add1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1086]); } -void Ifc4x3_add1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_add1::IfcStructuralCurveMemberVarying Ifc4x3_add1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -14989,20 +14989,20 @@ void Ifc4x3_add1::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1087]); } -void Ifc4x3_add1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcStructuralCurveReaction Ifc4x3_add1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralActivity> Ifc4x3_add1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[922], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1088]); } -void Ifc4x3_add1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcStructuralItem Ifc4x3_add1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1089]); } -void Ifc4x3_add1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcStructuralLinearAction Ifc4x3_add1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_add1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15010,7 +15010,7 @@ void Ifc4x3_add1::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1090]); } -void Ifc4x3_add1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcStructuralLoad Ifc4x3_add1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_add1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -15018,7 +15018,7 @@ void Ifc4x3_add1::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1091]); } -void Ifc4x3_add1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_add1::IfcStructuralLoadCase Ifc4x3_add1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_add1::IfcStructuralLoadOrResult > Ifc4x3_add1::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add1::IfcStructuralLoadOrResult>(es); } @@ -15028,7 +15028,7 @@ void Ifc4x3_add1::IfcStructuralLoadConfiguration::setLocations(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1092]); } -void Ifc4x3_add1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_add1::IfcStructuralLoadConfiguration Ifc4x3_add1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_add1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15046,7 +15046,7 @@ std::vector<::Ifc4x3_add1::IfcStructuralResultGroup> Ifc4x3_add1::IfcStructuralL std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1078], 7)); } const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1093]); } -void Ifc4x3_add1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_add1::IfcStructuralLoadGroup Ifc4x3_add1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15064,13 +15064,13 @@ void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1094]); } -void Ifc4x3_add1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_add1::IfcStructuralLoadLinearForce Ifc4x3_add1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1095]); } -void Ifc4x3_add1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcStructuralLoadOrResult Ifc4x3_add1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15082,7 +15082,7 @@ void Ifc4x3_add1::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optio const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1096]); } -void Ifc4x3_add1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_add1::IfcStructuralLoadPlanarForce Ifc4x3_add1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15100,7 +15100,7 @@ void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacement const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1097]); } -void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_add1::IfcStructuralLoadSingleDisplacement Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15108,7 +15108,7 @@ void Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(c const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1098]); } -void Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15126,7 +15126,7 @@ void Ifc4x3_add1::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1099]); } -void Ifc4x3_add1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_add1::IfcStructuralLoadSingleForce Ifc4x3_add1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15134,13 +15134,13 @@ void Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const st const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1100]); } -void Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_add1::IfcStructuralLoadSingleForceWarping Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1101]); } -void Ifc4x3_add1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add1::IfcStructuralLoadStatic Ifc4x3_add1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15152,26 +15152,26 @@ void Ifc4x3_add1::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1102]); } -void Ifc4x3_add1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_add1::IfcStructuralLoadTemperature Ifc4x3_add1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_add1::IfcRelConnectsStructuralMember> Ifc4x3_add1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[923], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1103]); } -void Ifc4x3_add1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add1::IfcStructuralMember Ifc4x3_add1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1104]); } -void Ifc4x3_add1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcStructuralPlanarAction Ifc4x3_add1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1105]); } -void Ifc4x3_add1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_add1::IfcStructuralPointAction Ifc4x3_add1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_add1::IfcAxis2Placement3D Ifc4x3_add1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add1::IfcAxis2Placement3D>(); } @@ -15179,19 +15179,19 @@ void Ifc4x3_add1::IfcStructuralPointConnection::setConditionCoordinateSystem(con const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1106]); } -void Ifc4x3_add1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_add1::IfcStructuralPointConnection Ifc4x3_add1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1107]); } -void Ifc4x3_add1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_add1::IfcStructuralPointReaction Ifc4x3_add1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1108]); } -void Ifc4x3_add1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_add1::IfcStructuralReaction Ifc4x3_add1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15204,7 +15204,7 @@ void Ifc4x3_add1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_att std::vector<::Ifc4x3_add1::IfcStructuralAnalysisModel> Ifc4x3_add1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1078], 8)); } const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1109]); } -void Ifc4x3_add1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_add1::IfcStructuralResultGroup Ifc4x3_add1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15214,13 +15214,13 @@ void Ifc4x3_add1::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1110]); } -void Ifc4x3_add1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcStructuralSurfaceAction Ifc4x3_add1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1112]); } -void Ifc4x3_add1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_add1::IfcStructuralSurfaceConnection Ifc4x3_add1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15230,13 +15230,13 @@ void Ifc4x3_add1::IfcStructuralSurfaceMember::setThickness(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1113]); } -void Ifc4x3_add1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_add1::IfcStructuralSurfaceMember Ifc4x3_add1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1115]); } -void Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_add1::IfcStructuralSurfaceMemberVarying Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15244,13 +15244,13 @@ void Ifc4x3_add1::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1116]); } -void Ifc4x3_add1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcStructuralSurfaceReaction Ifc4x3_add1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_add1::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1119]); } -void Ifc4x3_add1::IfcStyleModel::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add1::IfcStyleModel Ifc4x3_add1::IfcStyleModel::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_add1::IfcRepresentationItem Ifc4x3_add1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcRepresentationItem>(); } @@ -15262,13 +15262,13 @@ void Ifc4x3_add1::IfcStyledItem::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_add1::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1117]); } -void Ifc4x3_add1::IfcStyledItem::initialize(::Ifc4x3_add1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add1::IfcStyledItem Ifc4x3_add1::IfcStyledItem::initialize(::Ifc4x3_add1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_add1::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1118]); } -void Ifc4x3_add1::IfcStyledRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add1::IfcStyledRepresentation Ifc4x3_add1::IfcStyledRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_add1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15276,7 +15276,7 @@ void Ifc4x3_add1::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1120]); } -void Ifc4x3_add1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add1::IfcSubContractResource Ifc4x3_add1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value Ifc4x3_add1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15284,7 +15284,7 @@ void Ifc4x3_add1::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1121]); } -void Ifc4x3_add1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add1::IfcSubContractResourceType Ifc4x3_add1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_add1::IfcEdge Ifc4x3_add1::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcEdge>(); } @@ -15292,13 +15292,13 @@ void Ifc4x3_add1::IfcSubedge::setParentEdge(const ::Ifc4x3_add1::IfcEdge& v) { s const ifcopenshell::entity& Ifc4x3_add1::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1123]); } -void Ifc4x3_add1::IfcSubedge::initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_add1::IfcSubedge Ifc4x3_add1::IfcSubedge::initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_add1::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1124]); } -void Ifc4x3_add1::IfcSurface::initialize() { } +Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -15310,7 +15310,7 @@ void Ifc4x3_add1::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1125]); } -void Ifc4x3_add1::IfcSurfaceCurve::initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_add1::IfcSurfaceCurve Ifc4x3_add1::IfcSurfaceCurve::initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_add1::IfcSurface Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add1::IfcSurface>(); } @@ -15318,7 +15318,7 @@ void Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1126]); } -void Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15327,7 +15327,7 @@ void Ifc4x3_add1::IfcSurfaceFeature::setPredefinedType(const std::optional< ::If std::vector<::Ifc4x3_add1::IfcRelAdheresToElement> Ifc4x3_add1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[898], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1127]); } -void Ifc4x3_add1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSurfaceFeature Ifc4x3_add1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -15337,7 +15337,7 @@ void Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1129]); } -void Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_add1::IfcSurfaceOfLinearExtrusion Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_add1::IfcAxis1Placement Ifc4x3_add1::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcAxis1Placement>(); } @@ -15345,7 +15345,7 @@ void Ifc4x3_add1::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1130]); } -void Ifc4x3_add1::IfcSurfaceOfRevolution::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_add1::IfcSurfaceOfRevolution Ifc4x3_add1::IfcSurfaceOfRevolution::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15357,7 +15357,7 @@ void Ifc4x3_add1::IfcSurfaceReinforcementArea::setShearReinforcement(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1132]); } -void Ifc4x3_add1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_add1::IfcSurfaceReinforcementArea Ifc4x3_add1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_add1::IfcSurfaceSide::Value Ifc4x3_add1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add1::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15367,7 +15367,7 @@ void Ifc4x3_add1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1134]); } -void Ifc4x3_add1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_add1::IfcSurfaceStyle Ifc4x3_add1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_add1::IfcColourRgb Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcColourRgb>(); } @@ -15381,7 +15381,7 @@ void Ifc4x3_add1::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1136]); } -void Ifc4x3_add1::IfcSurfaceStyleLighting::initialize(::Ifc4x3_add1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_add1::IfcSurfaceStyleLighting Ifc4x3_add1::IfcSurfaceStyleLighting::initialize(::Ifc4x3_add1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_add1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15391,7 +15391,7 @@ void Ifc4x3_add1::IfcSurfaceStyleRefraction::setDispersionFactor(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1137]); } -void Ifc4x3_add1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_add1::IfcSurfaceStyleRefraction Ifc4x3_add1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_add1::IfcColourOrFactor Ifc4x3_add1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add1::IfcColourOrFactor>(); } @@ -15411,7 +15411,7 @@ void Ifc4x3_add1::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1138]); } -void Ifc4x3_add1::IfcSurfaceStyleRendering::initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_add1::IfcSurfaceStyleRendering Ifc4x3_add1::IfcSurfaceStyleRendering::initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_add1::IfcColourRgb Ifc4x3_add1::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcColourRgb>(); } @@ -15421,7 +15421,7 @@ void Ifc4x3_add1::IfcSurfaceStyleShading::setTransparency(const std::optional< d const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1139]); } -void Ifc4x3_add1::IfcSurfaceStyleShading::initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_add1::IfcSurfaceStyleShading Ifc4x3_add1::IfcSurfaceStyleShading::initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > Ifc4x3_add1::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcSurfaceTexture>(es); } @@ -15429,7 +15429,7 @@ void Ifc4x3_add1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< :: const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1140]); } -void Ifc4x3_add1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_add1::IfcSurfaceStyleWithTextures Ifc4x3_add1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_add1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15447,7 +15447,7 @@ std::vector<::Ifc4x3_add1::IfcTextureCoordinate> Ifc4x3_add1::IfcSurfaceTexture: std::vector<::Ifc4x3_add1::IfcSurfaceStyleWithTextures> Ifc4x3_add1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[1140], 0)); } const ifcopenshell::entity& Ifc4x3_add1::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1141]); } -void Ifc4x3_add1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_add1::IfcSurfaceTexture Ifc4x3_add1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -15457,7 +15457,7 @@ void Ifc4x3_add1::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_add1::IfcAxis2Pl const ifcopenshell::entity& Ifc4x3_add1::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1142]); } -void Ifc4x3_add1::IfcSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_add1::IfcSweptAreaSolid Ifc4x3_add1::IfcSweptAreaSolid::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -15473,7 +15473,7 @@ void Ifc4x3_add1::IfcSweptDiskSolid::setEndParam(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add1::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1143]); } -void Ifc4x3_add1::IfcSweptDiskSolid::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_add1::IfcSweptDiskSolid Ifc4x3_add1::IfcSweptDiskSolid::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_add1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15481,7 +15481,7 @@ void Ifc4x3_add1::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_add1::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1144]); } -void Ifc4x3_add1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_add1::IfcSweptDiskSolidPolygonal Ifc4x3_add1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_add1::IfcProfileDef Ifc4x3_add1::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcProfileDef>(); } @@ -15491,7 +15491,7 @@ void Ifc4x3_add1::IfcSweptSurface::setPosition(const ::Ifc4x3_add1::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_add1::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1145]); } -void Ifc4x3_add1::IfcSweptSurface::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_add1::IfcSweptSurface Ifc4x3_add1::IfcSweptSurface::initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_add1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15499,7 +15499,7 @@ void Ifc4x3_add1::IfcSwitchingDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1146]); } -void Ifc4x3_add1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSwitchingDevice Ifc4x3_add1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15507,7 +15507,7 @@ void Ifc4x3_add1::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1147]); } -void Ifc4x3_add1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcSwitchingDeviceType Ifc4x3_add1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15515,7 +15515,7 @@ std::vector<::Ifc4x3_add1::IfcRelServicesBuildings> Ifc4x3_add1::IfcSystem::Serv std::vector<::Ifc4x3_add1::IfcRelReferencedInSpatialStructure> Ifc4x3_add1::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_add1::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1149]); } -void Ifc4x3_add1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_add1::IfcSystem Ifc4x3_add1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15523,7 +15523,7 @@ void Ifc4x3_add1::IfcSystemFurnitureElement::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_add1::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1150]); } -void Ifc4x3_add1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcSystemFurnitureElement Ifc4x3_add1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15531,7 +15531,7 @@ void Ifc4x3_add1::IfcSystemFurnitureElementType::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_add1::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1151]); } -void Ifc4x3_add1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcSystemFurnitureElementType Ifc4x3_add1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_add1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15555,7 +15555,7 @@ void Ifc4x3_add1::IfcTShapeProfileDef::setFlangeSlope(const std::optional< doubl const ifcopenshell::entity& Ifc4x3_add1::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1237]); } -void Ifc4x3_add1::IfcTShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_add1::IfcTShapeProfileDef Ifc4x3_add1::IfcTShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_add1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15567,7 +15567,7 @@ void Ifc4x3_add1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1153]); } -void Ifc4x3_add1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_add1::IfcTable Ifc4x3_add1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_add1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15583,7 +15583,7 @@ void Ifc4x3_add1::IfcTableColumn::setReferencePath(const ::Ifc4x3_add1::IfcRefer const ifcopenshell::entity& Ifc4x3_add1::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1154]); } -void Ifc4x3_add1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit v4_Unit, ::Ifc4x3_add1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_add1::IfcTableColumn Ifc4x3_add1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit v4_Unit, ::Ifc4x3_add1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > Ifc4x3_add1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcValue>(es); } @@ -15593,7 +15593,7 @@ void Ifc4x3_add1::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_add1::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1155]); } -void Ifc4x3_add1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_add1::IfcTableRow Ifc4x3_add1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > Ifc4x3_add1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15601,7 +15601,7 @@ void Ifc4x3_add1::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1156]); } -void Ifc4x3_add1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcTank Ifc4x3_add1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_add1::IfcTankTypeEnum::Value Ifc4x3_add1::IfcTankType::PredefinedType() const { return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15609,7 +15609,7 @@ void Ifc4x3_add1::IfcTankType::setPredefinedType(const ::Ifc4x3_add1::IfcTankTyp const ifcopenshell::entity& Ifc4x3_add1::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1157]); } -void Ifc4x3_add1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTankType Ifc4x3_add1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_add1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15627,7 +15627,7 @@ void Ifc4x3_add1::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1159]); } -void Ifc4x3_add1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_add1::IfcTask Ifc4x3_add1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > Ifc4x3_add1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15667,7 +15667,7 @@ void Ifc4x3_add1::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1161]); } -void Ifc4x3_add1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_add1::IfcTaskTime Ifc4x3_add1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_add1::IfcRecurrencePattern Ifc4x3_add1::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_add1::IfcRecurrencePattern>(); } @@ -15675,7 +15675,7 @@ void Ifc4x3_add1::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_add1::IfcRe const ifcopenshell::entity& Ifc4x3_add1::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1162]); } -void Ifc4x3_add1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_add1::IfcTaskTimeRecurring Ifc4x3_add1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_add1::IfcTaskTypeEnum::Value Ifc4x3_add1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_add1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15685,7 +15685,7 @@ void Ifc4x3_add1::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add1::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1163]); } -void Ifc4x3_add1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_add1::IfcTaskType Ifc4x3_add1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15703,7 +15703,7 @@ void Ifc4x3_add1::IfcTelecomAddress::setMessagingIDs(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_add1::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1165]); } -void Ifc4x3_add1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_add1::IfcTelecomAddress Ifc4x3_add1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > Ifc4x3_add1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15725,7 +15725,7 @@ void Ifc4x3_add1::IfcTendon::setMinCurvatureRadius(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add1::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1168]); } -void Ifc4x3_add1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_add1::IfcTendon Ifc4x3_add1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_add1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15733,7 +15733,7 @@ void Ifc4x3_add1::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1169]); } -void Ifc4x3_add1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add1::IfcTendonAnchor Ifc4x3_add1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value Ifc4x3_add1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15741,7 +15741,7 @@ void Ifc4x3_add1::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1170]); } -void Ifc4x3_add1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTendonAnchorType Ifc4x3_add1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15749,7 +15749,7 @@ void Ifc4x3_add1::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_add1::IfcTe const ifcopenshell::entity& Ifc4x3_add1::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1172]); } -void Ifc4x3_add1::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTendonConduit Ifc4x3_add1::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15757,7 +15757,7 @@ void Ifc4x3_add1::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1173]); } -void Ifc4x3_add1::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTendonConduitType Ifc4x3_add1::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_add1::IfcTendonTypeEnum::Value Ifc4x3_add1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15771,7 +15771,7 @@ void Ifc4x3_add1::IfcTendonType::setSheathDiameter(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add1::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1175]); } -void Ifc4x3_add1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_add1::IfcTendonType Ifc4x3_add1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_add1::IfcCartesianPointList3D Ifc4x3_add1::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCartesianPointList3D>(); } @@ -15781,13 +15781,13 @@ std::vector<::Ifc4x3_add1::IfcIndexedColourMap> Ifc4x3_add1::IfcTessellatedFaceS std::vector<::Ifc4x3_add1::IfcIndexedTextureMap> Ifc4x3_add1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[547], 1)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1177]); } -void Ifc4x3_add1::IfcTessellatedFaceSet::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_add1::IfcTessellatedFaceSet Ifc4x3_add1::IfcTessellatedFaceSet::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_add1::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1178]); } -void Ifc4x3_add1::IfcTessellatedItem::initialize() { } +Ifc4x3_add1::IfcTessellatedItem Ifc4x3_add1::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_add1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15799,7 +15799,7 @@ void Ifc4x3_add1::IfcTextLiteral::setPath(const ::Ifc4x3_add1::IfcTextPath::Valu const ifcopenshell::entity& Ifc4x3_add1::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1184]); } -void Ifc4x3_add1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_add1::IfcTextLiteral Ifc4x3_add1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_add1::IfcPlanarExtent Ifc4x3_add1::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcPlanarExtent>(); } @@ -15809,7 +15809,7 @@ void Ifc4x3_add1::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v const ifcopenshell::entity& Ifc4x3_add1::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1185]); } -void Ifc4x3_add1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path, ::Ifc4x3_add1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_add1::IfcTextLiteralWithExtent Ifc4x3_add1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path, ::Ifc4x3_add1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_add1::IfcTextStyleForDefinedFont Ifc4x3_add1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add1::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add1::IfcTextStyleForDefinedFont>(); } @@ -15823,7 +15823,7 @@ void Ifc4x3_add1::IfcTextStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_add1::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1187]); } -void Ifc4x3_add1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_add1::IfcTextStyle Ifc4x3_add1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_add1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15839,7 +15839,7 @@ void Ifc4x3_add1::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_add1::IfcSiz const ifcopenshell::entity& Ifc4x3_add1::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1188]); } -void Ifc4x3_add1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_add1::IfcTextStyleFontModel Ifc4x3_add1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_add1::IfcColour Ifc4x3_add1::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcColour>(); } @@ -15849,7 +15849,7 @@ void Ifc4x3_add1::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1189]); } -void Ifc4x3_add1::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_add1::IfcColour v1_Colour, ::Ifc4x3_add1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_add1::IfcTextStyleForDefinedFont Ifc4x3_add1::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_add1::IfcColour v1_Colour, ::Ifc4x3_add1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_add1::IfcSizeSelect Ifc4x3_add1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcSizeSelect>(); } @@ -15869,7 +15869,7 @@ void Ifc4x3_add1::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_add1::IfcS const ifcopenshell::entity& Ifc4x3_add1::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1190]); } -void Ifc4x3_add1::IfcTextStyleTextModel::initialize(::Ifc4x3_add1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_add1::IfcTextStyleTextModel Ifc4x3_add1::IfcTextStyleTextModel::initialize(::Ifc4x3_add1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > Ifc4x3_add1::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcSurfaceTexture>(es); } @@ -15877,7 +15877,7 @@ void Ifc4x3_add1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1192]); } -void Ifc4x3_add1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_add1::IfcTextureCoordinate Ifc4x3_add1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_add1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15887,7 +15887,7 @@ void Ifc4x3_add1::IfcTextureCoordinateGenerator::setParameter(const std::optiona const ifcopenshell::entity& Ifc4x3_add1::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1193]); } -void Ifc4x3_add1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_add1::IfcTextureCoordinateGenerator Ifc4x3_add1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureCoordinateIndices std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -15898,7 +15898,7 @@ void Ifc4x3_add1::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3_add std::vector<::Ifc4x3_add1::IfcIndexedPolygonalTextureMap> Ifc4x3_add1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[546], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTextureCoordinateIndices::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1194]); } -void Ifc4x3_add1::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf)); } +Ifc4x3_add1::IfcTextureCoordinateIndices Ifc4x3_add1::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));; return *this; } // Function implementations for IfcTextureCoordinateIndicesWithVoids std::vector< std::vector< int > > Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } @@ -15906,7 +15906,7 @@ void Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices( const ifcopenshell::entity& Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1195]); } -void Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices)); } +Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices));; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_add1::IfcTextureVertex > Ifc4x3_add1::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add1::IfcTextureVertex>(es); } @@ -15916,7 +15916,7 @@ void Ifc4x3_add1::IfcTextureMap::setMappedTo(const ::Ifc4x3_add1::IfcFace& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1196]); } -void Ifc4x3_add1::IfcTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_add1::IfcTextureMap Ifc4x3_add1::IfcTextureMap::initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_add1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -15924,7 +15924,7 @@ void Ifc4x3_add1::IfcTextureVertex::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_add1::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1197]); } -void Ifc4x3_add1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_add1::IfcTextureVertex Ifc4x3_add1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_add1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -15932,7 +15932,7 @@ void Ifc4x3_add1::IfcTextureVertexList::setTexCoordsList(const std::vector< std: const ifcopenshell::entity& Ifc4x3_add1::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1198]); } -void Ifc4x3_add1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_add1::IfcTextureVertexList Ifc4x3_add1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcThirdOrderPolynomialSpiral double Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } @@ -15946,7 +15946,7 @@ void Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::opti const ifcopenshell::entity& Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1205]); } -void Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); } } +Ifc4x3_add1::IfcThirdOrderPolynomialSpiral Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_add1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -15956,7 +15956,7 @@ void Ifc4x3_add1::IfcTimePeriod::setEndTime(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add1::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1209]); } -void Ifc4x3_add1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_add1::IfcTimePeriod Ifc4x3_add1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_add1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -15979,7 +15979,7 @@ void Ifc4x3_add1::IfcTimeSeries::setUnit(const ::Ifc4x3_add1::IfcUnit& v) { set_ std::vector<::Ifc4x3_add1::IfcExternalReferenceRelationship> Ifc4x3_add1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1210]); } -void Ifc4x3_add1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_add1::IfcTimeSeries Ifc4x3_add1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_add1::IfcValue > Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcValue>(es); } @@ -15987,19 +15987,19 @@ void Ifc4x3_add1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1212]); } -void Ifc4x3_add1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_add1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_add1::IfcTimeSeriesValue Ifc4x3_add1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_add1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_add1::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1214]); } -void Ifc4x3_add1::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_add1::IfcTopologicalRepresentationItem Ifc4x3_add1::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_add1::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1215]); } -void Ifc4x3_add1::IfcTopologyRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add1::IfcTopologyRepresentation Ifc4x3_add1::IfcTopologyRepresentation::initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_add1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -16009,7 +16009,7 @@ void Ifc4x3_add1::IfcToroidalSurface::setMinorRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add1::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1216]); } -void Ifc4x3_add1::IfcToroidalSurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_add1::IfcToroidalSurface Ifc4x3_add1::IfcToroidalSurface::initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > Ifc4x3_add1::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16017,7 +16017,7 @@ void Ifc4x3_add1::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1218]); } -void Ifc4x3_add1::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcTrackElement Ifc4x3_add1::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value Ifc4x3_add1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16025,7 +16025,7 @@ void Ifc4x3_add1::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_add1::If const ifcopenshell::entity& Ifc4x3_add1::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1219]); } -void Ifc4x3_add1::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTrackElementType Ifc4x3_add1::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > Ifc4x3_add1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -16033,7 +16033,7 @@ void Ifc4x3_add1::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add1::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1221]); } -void Ifc4x3_add1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcTransformer Ifc4x3_add1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_add1::IfcTransformerTypeEnum::Value Ifc4x3_add1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_add1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16041,7 +16041,7 @@ void Ifc4x3_add1::IfcTransformerType::setPredefinedType(const ::Ifc4x3_add1::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1222]); } -void Ifc4x3_add1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTransformerType Ifc4x3_add1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > Ifc4x3_add1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16049,7 +16049,7 @@ void Ifc4x3_add1::IfcTransportElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add1::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1228]); } -void Ifc4x3_add1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcTransportElement Ifc4x3_add1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value Ifc4x3_add1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16057,19 +16057,19 @@ void Ifc4x3_add1::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1229]); } -void Ifc4x3_add1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTransportElementType Ifc4x3_add1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportationDevice const ifcopenshell::entity& Ifc4x3_add1::IfcTransportationDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1226]); } -void Ifc4x3_add1::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcTransportationDevice Ifc4x3_add1::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTransportationDeviceType const ifcopenshell::entity& Ifc4x3_add1::IfcTransportationDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1227]); } -void Ifc4x3_add1::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add1::IfcTransportationDeviceType Ifc4x3_add1::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_add1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16083,7 +16083,7 @@ void Ifc4x3_add1::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add1::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1231]); } -void Ifc4x3_add1::IfcTrapeziumProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_add1::IfcTrapeziumProfileDef Ifc4x3_add1::IfcTrapeziumProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_add1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16097,7 +16097,7 @@ void Ifc4x3_add1::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_add1::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1232]); } -void Ifc4x3_add1::IfcTriangulatedFaceSet::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_add1::IfcTriangulatedFaceSet Ifc4x3_add1::IfcTriangulatedFaceSet::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_add1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16105,7 +16105,7 @@ void Ifc4x3_add1::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< i const ifcopenshell::entity& Ifc4x3_add1::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1233]); } -void Ifc4x3_add1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_add1::IfcTriangulatedIrregularNetwork Ifc4x3_add1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_add1::IfcCurve Ifc4x3_add1::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcCurve>(); } @@ -16121,7 +16121,7 @@ void Ifc4x3_add1::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1234]); } -void Ifc4x3_add1::IfcTrimmedCurve::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_add1::IfcTrimmedCurve Ifc4x3_add1::IfcTrimmedCurve::initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > Ifc4x3_add1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16129,7 +16129,7 @@ void Ifc4x3_add1::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1238]); } -void Ifc4x3_add1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcTubeBundle Ifc4x3_add1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value Ifc4x3_add1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16137,7 +16137,7 @@ void Ifc4x3_add1::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_add1::IfcT const ifcopenshell::entity& Ifc4x3_add1::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1239]); } -void Ifc4x3_add1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcTubeBundleType Ifc4x3_add1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_add1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16148,7 +16148,7 @@ void Ifc4x3_add1::IfcTypeObject::setHasPropertySets(const std::optional< std::ve std::vector<::Ifc4x3_add1::IfcRelDefinesByType> Ifc4x3_add1::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[935], 5)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1241]); } -void Ifc4x3_add1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_add1::IfcTypeObject Ifc4x3_add1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_add1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16161,7 +16161,7 @@ void Ifc4x3_add1::IfcTypeProcess::setProcessType(const std::optional< std::strin std::vector<::Ifc4x3_add1::IfcRelAssignsToProcess> Ifc4x3_add1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1242]); } -void Ifc4x3_add1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_add1::IfcTypeProcess Ifc4x3_add1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > Ifc4x3_add1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add1::IfcRepresentationMap>(es); } @@ -16172,7 +16172,7 @@ void Ifc4x3_add1::IfcTypeProduct::setTag(const std::optional< std::string >& v) std::vector<::Ifc4x3_add1::IfcRelAssignsToProduct> Ifc4x3_add1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[906], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1243]); } -void Ifc4x3_add1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add1::IfcTypeProduct Ifc4x3_add1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_add1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16185,7 +16185,7 @@ void Ifc4x3_add1::IfcTypeResource::setResourceType(const std::optional< std::str std::vector<::Ifc4x3_add1::IfcRelAssignsToResource> Ifc4x3_add1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD1_types[907], 6)); } const ifcopenshell::entity& Ifc4x3_add1::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1244]); } -void Ifc4x3_add1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_add1::IfcTypeResource Ifc4x3_add1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_add1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16205,7 +16205,7 @@ void Ifc4x3_add1::IfcUShapeProfileDef::setFlangeSlope(const std::optional< doubl const ifcopenshell::entity& Ifc4x3_add1::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1255]); } -void Ifc4x3_add1::IfcUShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_add1::IfcUShapeProfileDef Ifc4x3_add1::IfcUShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_add1::IfcUnit > Ifc4x3_add1::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcUnit>(es); } @@ -16213,7 +16213,7 @@ void Ifc4x3_add1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_add1:: const ifcopenshell::entity& Ifc4x3_add1::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1252]); } -void Ifc4x3_add1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_add1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_add1::IfcUnitAssignment Ifc4x3_add1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_add1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16221,7 +16221,7 @@ void Ifc4x3_add1::IfcUnitaryControlElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_add1::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1246]); } -void Ifc4x3_add1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcUnitaryControlElement Ifc4x3_add1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16229,7 +16229,7 @@ void Ifc4x3_add1::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add1::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1247]); } -void Ifc4x3_add1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcUnitaryControlElementType Ifc4x3_add1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_add1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16237,7 +16237,7 @@ void Ifc4x3_add1::IfcUnitaryEquipment::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add1::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1249]); } -void Ifc4x3_add1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcUnitaryEquipment Ifc4x3_add1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16245,7 +16245,7 @@ void Ifc4x3_add1::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1250]); } -void Ifc4x3_add1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcUnitaryEquipmentType Ifc4x3_add1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > Ifc4x3_add1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16253,7 +16253,7 @@ void Ifc4x3_add1::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_add1 const ifcopenshell::entity& Ifc4x3_add1::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1257]); } -void Ifc4x3_add1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcValve Ifc4x3_add1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_add1::IfcValveTypeEnum::Value Ifc4x3_add1::IfcValveType::PredefinedType() const { return ::Ifc4x3_add1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16261,7 +16261,7 @@ void Ifc4x3_add1::IfcValveType::setPredefinedType(const ::Ifc4x3_add1::IfcValveT const ifcopenshell::entity& Ifc4x3_add1::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1258]); } -void Ifc4x3_add1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcValveType Ifc4x3_add1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_add1::IfcDirection Ifc4x3_add1::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcDirection>(); } @@ -16271,7 +16271,7 @@ void Ifc4x3_add1::IfcVector::setMagnitude(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_add1::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1261]); } -void Ifc4x3_add1::IfcVector::initialize(::Ifc4x3_add1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_add1::IfcVector Ifc4x3_add1::IfcVector::initialize(::Ifc4x3_add1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVehicle std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > Ifc4x3_add1::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } @@ -16279,7 +16279,7 @@ void Ifc4x3_add1::IfcVehicle::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add1::IfcVehicle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1263]); } -void Ifc4x3_add1::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcVehicle Ifc4x3_add1::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVehicleType ::Ifc4x3_add1::IfcVehicleTypeEnum::Value Ifc4x3_add1::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_add1::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } @@ -16287,13 +16287,13 @@ void Ifc4x3_add1::IfcVehicleType::setPredefinedType(const ::Ifc4x3_add1::IfcVehi const ifcopenshell::entity& Ifc4x3_add1::IfcVehicleType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1264]); } -void Ifc4x3_add1::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcVehicleType Ifc4x3_add1::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_add1::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1266]); } -void Ifc4x3_add1::IfcVertex::initialize() { } +Ifc4x3_add1::IfcVertex Ifc4x3_add1::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_add1::IfcVertex Ifc4x3_add1::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcVertex>(); } @@ -16301,7 +16301,7 @@ void Ifc4x3_add1::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_add1::IfcVertex& v const ifcopenshell::entity& Ifc4x3_add1::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1267]); } -void Ifc4x3_add1::IfcVertexLoop::initialize(::Ifc4x3_add1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_add1::IfcVertexLoop Ifc4x3_add1::IfcVertexLoop::initialize(::Ifc4x3_add1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_add1::IfcPoint Ifc4x3_add1::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add1::IfcPoint>(); } @@ -16309,7 +16309,7 @@ void Ifc4x3_add1::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_add1::IfcPoin const ifcopenshell::entity& Ifc4x3_add1::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1268]); } -void Ifc4x3_add1::IfcVertexPoint::initialize(::Ifc4x3_add1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_add1::IfcVertexPoint Ifc4x3_add1::IfcVertexPoint::initialize(::Ifc4x3_add1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_add1::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16317,7 +16317,7 @@ void Ifc4x3_add1::IfcVibrationDamper::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add1::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1269]); } -void Ifc4x3_add1::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcVibrationDamper Ifc4x3_add1::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value Ifc4x3_add1::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16325,7 +16325,7 @@ void Ifc4x3_add1::IfcVibrationDamperType::setPredefinedType(const ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1270]); } -void Ifc4x3_add1::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcVibrationDamperType Ifc4x3_add1::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_add1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16333,7 +16333,7 @@ void Ifc4x3_add1::IfcVibrationIsolator::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add1::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1272]); } -void Ifc4x3_add1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcVibrationIsolator Ifc4x3_add1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16341,7 +16341,7 @@ void Ifc4x3_add1::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add1::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1273]); } -void Ifc4x3_add1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcVibrationIsolatorType Ifc4x3_add1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > Ifc4x3_add1::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16349,7 +16349,7 @@ void Ifc4x3_add1::IfcVirtualElement::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1275]); } -void Ifc4x3_add1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcVirtualElement Ifc4x3_add1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_add1::IfcGridAxis > Ifc4x3_add1::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add1::IfcGridAxis>(es); } @@ -16359,7 +16359,7 @@ void Ifc4x3_add1::IfcVirtualGridIntersection::setOffsetDistances(const std::vect const ifcopenshell::entity& Ifc4x3_add1::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1277]); } -void Ifc4x3_add1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_add1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_add1::IfcVirtualGridIntersection Ifc4x3_add1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_add1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_add1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16367,7 +16367,7 @@ void Ifc4x3_add1::IfcVoidingFeature::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add1::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1278]); } -void Ifc4x3_add1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcVoidingFeature Ifc4x3_add1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > Ifc4x3_add1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16375,13 +16375,13 @@ void Ifc4x3_add1::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_add1: const ifcopenshell::entity& Ifc4x3_add1::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1282]); } -void Ifc4x3_add1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcWall Ifc4x3_add1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_add1::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1283]); } -void Ifc4x3_add1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcWallStandardCase Ifc4x3_add1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_add1::IfcWallTypeEnum::Value Ifc4x3_add1::IfcWallType::PredefinedType() const { return ::Ifc4x3_add1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16389,7 +16389,7 @@ void Ifc4x3_add1::IfcWallType::setPredefinedType(const ::Ifc4x3_add1::IfcWallTyp const ifcopenshell::entity& Ifc4x3_add1::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1284]); } -void Ifc4x3_add1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcWallType Ifc4x3_add1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_add1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16397,7 +16397,7 @@ void Ifc4x3_add1::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add1::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1289]); } -void Ifc4x3_add1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcWasteTerminal Ifc4x3_add1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value Ifc4x3_add1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16405,7 +16405,7 @@ void Ifc4x3_add1::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_add1::I const ifcopenshell::entity& Ifc4x3_add1::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1290]); } -void Ifc4x3_add1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add1::IfcWasteTerminalType Ifc4x3_add1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWellKnownText std::string Ifc4x3_add1::IfcWellKnownText::WellKnownText() const { std::string v = get_attribute_value(0); return v; } @@ -16415,7 +16415,7 @@ void Ifc4x3_add1::IfcWellKnownText::setCoordinateReferenceSystem(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add1::IfcWellKnownText::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1292]); } -void Ifc4x3_add1::IfcWellKnownText::initialize(std::string v1_WellKnownText, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, (v2_CoordinateReferenceSystem)); } +Ifc4x3_add1::IfcWellKnownText Ifc4x3_add1::IfcWellKnownText::initialize(std::string v1_WellKnownText, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, (v2_CoordinateReferenceSystem));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_add1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16431,7 +16431,7 @@ void Ifc4x3_add1::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_add1::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1294]); } -void Ifc4x3_add1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_add1::IfcWindow Ifc4x3_add1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16461,7 +16461,7 @@ void Ifc4x3_add1::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std:: const ifcopenshell::entity& Ifc4x3_add1::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1295]); } -void Ifc4x3_add1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_add1::IfcWindowLiningProperties Ifc4x3_add1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value Ifc4x3_add1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_add1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16477,7 +16477,7 @@ void Ifc4x3_add1::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1298]); } -void Ifc4x3_add1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_add1::IfcWindowPanelProperties Ifc4x3_add1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_add1::IfcWindowTypeEnum::Value Ifc4x3_add1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_add1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16491,7 +16491,7 @@ void Ifc4x3_add1::IfcWindowType::setUserDefinedPartitioningType(const std::optio const ifcopenshell::entity& Ifc4x3_add1::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1299]); } -void Ifc4x3_add1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_add1::IfcWindowType Ifc4x3_add1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > Ifc4x3_add1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add1::IfcWorkTime>(es); } @@ -16503,7 +16503,7 @@ void Ifc4x3_add1::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1302]); } -void Ifc4x3_add1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add1::IfcWorkCalendar Ifc4x3_add1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_add1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16523,7 +16523,7 @@ void Ifc4x3_add1::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add1::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1304]); } -void Ifc4x3_add1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_add1::IfcWorkControl Ifc4x3_add1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > Ifc4x3_add1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16531,7 +16531,7 @@ void Ifc4x3_add1::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add1::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1305]); } -void Ifc4x3_add1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_add1::IfcWorkPlan Ifc4x3_add1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_add1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16539,7 +16539,7 @@ void Ifc4x3_add1::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add1::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1307]); } -void Ifc4x3_add1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_add1::IfcWorkSchedule Ifc4x3_add1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_add1::IfcRecurrencePattern Ifc4x3_add1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add1::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add1::IfcRecurrencePattern>(); } @@ -16551,7 +16551,7 @@ void Ifc4x3_add1::IfcWorkTime::setFinishDate(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add1::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1309]); } -void Ifc4x3_add1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); } } +Ifc4x3_add1::IfcWorkTime Ifc4x3_add1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_add1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16569,7 +16569,7 @@ void Ifc4x3_add1::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_add1::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1311]); } -void Ifc4x3_add1::IfcZShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_add1::IfcZShapeProfileDef Ifc4x3_add1::IfcZShapeProfileDef::initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_add1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16577,5 +16577,5 @@ void Ifc4x3_add1::IfcZone::setLongName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_add1::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD1_types[1310]); } -void Ifc4x3_add1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_add1::IfcZone Ifc4x3_add1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_add1.h b/src/ifcparse/schemas/Ifc4x3_add1.h index e68866cb18..fa76d96ac2 100644 --- a/src/ifcparse/schemas/Ifc4x3_add1.h +++ b/src/ifcparse/schemas/Ifc4x3_add1.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1105,8 +1092,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1138,8 +1124,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1162,8 +1147,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1188,8 +1172,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1281,8 +1264,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1747,8 +1728,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1795,8 +1775,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1828,8 +1807,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1850,8 +1828,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1870,8 +1847,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1896,8 +1872,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1925,8 +1900,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1966,8 +1940,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2011,8 +1984,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2045,8 +2017,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2202,8 +2173,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2914,8 +2884,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2936,8 +2905,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2958,8 +2926,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2980,8 +2947,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3048,8 +3014,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3077,8 +3042,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3097,8 +3061,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3125,8 +3088,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3145,8 +3107,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3167,8 +3128,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3285,8 +3245,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3307,8 +3266,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3327,8 +3285,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3357,8 +3314,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3395,8 +3351,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3498,8 +3453,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3548,8 +3502,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3579,8 +3532,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3599,8 +3551,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3628,8 +3579,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3656,8 +3606,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3684,8 +3633,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3718,8 +3666,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3762,8 +3709,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3783,8 +3729,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3805,8 +3750,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3829,8 +3773,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3861,8 +3804,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3896,8 +3838,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4577,8 +4518,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4599,8 +4539,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4629,16 +4568,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4648,16 +4586,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_BRAKES, IfcActionSourceType_BUOYANCY, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_CREEP, IfcActionSourceType_CURRENT, IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_ERECTION, IfcActionSourceType_FIRE, IfcActionSourceType_ICE, IfcActionSourceType_IMPACT, IfcActionSourceType_IMPULSE, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_PROPPING, IfcActionSourceType_RAIN, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_SNOW_S, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_TRANSPORT, IfcActionSourceType_WAVE, IfcActionSourceType_WIND_W, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4669,16 +4606,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_EXTRAORDINARY_A, IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4699,16 +4635,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4724,16 +4659,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_HOME, IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4749,16 +4683,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4776,16 +4709,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4806,16 +4738,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4834,76 +4765,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_CLOTHOID, IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_PARABOLICARC} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4914,16 +4840,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4935,31 +4860,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -4976,16 +4899,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5002,16 +4924,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_SITE, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5030,16 +4951,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_RECORDINGEQUIPMENT, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5058,31 +4978,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5126,31 +5044,29 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_CORNICE, IfcBeamType_DIAPHRAGM, IfcBeamType_EDGEBEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_HATSTONE, IfcBeamType_HOLLOWCORE, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_PIERCAP, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_DISK, IfcBearingType_ELASTOMERIC, IfcBearingType_GUIDE, IfcBearingType_POT, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_SPHERICAL, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5195,16 +5111,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_EQUALTO, IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_INCLUDEDIN, IfcBenchmark_INCLUDES, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_NOTINCLUDEDIN, IfcBenchmark_NOTINCLUDES} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5218,16 +5133,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_STEAM, IfcBoilerType_WATER, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5241,46 +5155,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_DIFFERENCE, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_UNION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5293,16 +5204,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5318,16 +5228,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5346,31 +5255,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_RAILWAYLINE, IfcBuiltSystemType_RAILWAYTRACK, IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5382,16 +5289,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5406,16 +5312,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CONNECTOR, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_JUNCTION, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_TRANSITION, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5430,16 +5335,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5455,16 +5359,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_FANOUT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5481,31 +5384,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5521,16 +5422,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIED, IfcChangeAction_NOCHANGE, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5545,16 +5445,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_WATERCOOLED, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5569,16 +5468,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5605,16 +5503,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5633,16 +5530,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_PILASTER, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5663,16 +5559,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL, IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT, IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_OPTICALLINETERMINAL, IfcCommunicationsApplianceType_OPTICALNETWORKUNIT, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_RADIOBLOCKCENTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5685,16 +5580,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5721,16 +5615,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_BOOSTER, IfcCompressorType_DYNAMIC, IfcCompressorType_HERMETIC, IfcCompressorType_OPENTYPE, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARY, IfcCompressorType_ROTARYVANE, IfcCompressorType_SCROLL, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_SINGLESCREW, IfcCompressorType_SINGLESTAGE, IfcCompressorType_TROCHOIDAL, IfcCompressorType_TWINSCREW, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5748,16 +5641,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5782,16 +5674,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATEND, IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5813,16 +5704,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_ADVISORY, IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5841,16 +5731,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5870,16 +5759,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_USERDEFINED, IfcConstructionMaterialResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5892,16 +5780,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5920,31 +5807,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_MULTIPOSITION, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5968,16 +5853,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -5994,16 +5878,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6014,16 +5897,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6041,31 +5923,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_TENDER, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_FILTER, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6113,16 +5993,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_CLADDING, IfcCoveringType_COPING, IfcCoveringType_FLOORING, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_MOLDING, IfcCoveringType_ROOFING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_SLEEVING, IfcCoveringType_TOPPING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6135,16 +6014,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6158,16 +6036,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6189,16 +6066,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6220,16 +6096,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6242,16 +6117,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6313,16 +6187,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6335,16 +6208,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_NEGATIVE, IfcDirectionSense_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6358,31 +6230,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_FILLER, IfcDiscreteAccessoryType_FLASHING, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_POINTMACHINEMOUNTINGDEVICE, IfcDiscreteAccessoryType_POINT_MACHINE_LOCKING_DEVICE, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_DISPATCHINGBOARD, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6403,31 +6273,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6479,16 +6347,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MOBILENETWORK, IfcDistributionSystem_MONITORINGSYSTEM, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6505,16 +6372,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6522,16 +6388,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6569,16 +6434,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6590,16 +6454,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6620,16 +6483,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_BOOM_BARRIER, IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -6814,16 +6676,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_DOUBLE_DOOR_LIFTING_VERTICAL, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_LIFTING_HORIZONTAL, IfcDoorTypeOperation_LIFTING_VERTICAL_LEFT, IfcDoorTypeOperation_LIFTING_VERTICAL_RIGHT, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_REVOLVING_VERTICAL, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -6861,16 +6722,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -6890,16 +6750,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -6914,46 +6773,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_CUT, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -6987,16 +6843,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7011,16 +6866,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7035,31 +6889,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7074,16 +6926,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7099,16 +6950,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7122,16 +6972,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7155,16 +7004,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_GRID, IfcElementAssemblyType_MAST, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7181,16 +7029,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7203,16 +7050,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7233,16 +7079,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7260,16 +7105,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7286,16 +7130,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7311,16 +7154,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_STARTEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7341,46 +7183,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7399,16 +7238,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7422,16 +7260,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7449,16 +7286,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7476,16 +7312,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_FIREMONITOR, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7498,16 +7333,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SINK, IfcFlowDirection_SOURCE, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7528,16 +7362,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7557,16 +7390,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7585,16 +7417,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7612,31 +7443,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_BED, IfcFurnitureType_CHAIR, IfcFurnitureType_DESK, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TABLE, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_TERRAIN, IfcGeographicElementType_VEGETATION, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7682,31 +7511,29 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeotechnicalStratumTypeEnum : public express::DeclaredType { public: - IfcGeotechnicalStratumTypeEnum() {} - explicit IfcGeotechnicalStratumTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeotechnicalStratumType_SOLID, IfcGeotechnicalStratumType_VOID, IfcGeotechnicalStratumType_WATER, IfcGeotechnicalStratumType_USERDEFINED, IfcGeotechnicalStratumType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeotechnicalStratumTypeEnum initialize(Value v); + IfcGeotechnicalStratumTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7717,31 +7544,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_IRREGULAR, IfcGridType_RADIAL, IfcGridType_RECTANGULAR, IfcGridType_TRIANGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7755,16 +7580,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -7789,31 +7613,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -7828,16 +7650,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7897,16 +7718,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -7920,16 +7740,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -7941,46 +7760,43 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKerbTypeEnum : public express::DeclaredType { public: - IfcKerbTypeEnum() {} - explicit IfcKerbTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKerbType_USERDEFINED, IfcKerbType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKerbTypeEnum initialize(Value v); + IfcKerbTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_UNIFORM_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8009,16 +7825,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8040,16 +7855,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8063,16 +7877,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8091,16 +7904,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8122,16 +7934,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8147,31 +7958,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8197,16 +8006,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8455,46 +8263,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_CANAL, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_REVETMENT, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_CHAMBER, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CORE, IfcMarinePartType_CREST, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_PROTECTION, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_STORAGEAREA, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_WATERFIELD, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8516,16 +8321,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8543,16 +8347,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8600,46 +8403,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_ARCH_SEGMENT, IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STAY_CABLE, IfcMemberType_STIFFENING_RIB, IfcMemberType_STRINGER, IfcMemberType_STRUCTURALCABLE, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_SUSPENDER, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER, IfcMobileTelecommunicationsApplianceType_MSCSERVER, IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT, IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8653,31 +8453,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8711,16 +8509,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8738,16 +8535,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8772,16 +8568,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -8799,31 +8594,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPavementTypeEnum : public express::DeclaredType { public: - IfcPavementTypeEnum() {} - explicit IfcPavementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPavementType_FLEXIBLE, IfcPavementType_RIGID, IfcPavementType_USERDEFINED, IfcPavementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPavementTypeEnum initialize(Value v); + IfcPavementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -8834,16 +8627,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -8870,16 +8662,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -8893,16 +8684,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8930,16 +8720,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -8966,16 +8755,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -8993,16 +8781,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_COHESION, IfcPileType_DRIVEN, IfcPileType_FRICTION, IfcPileType_JETGROUTING, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9038,16 +8825,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9067,16 +8853,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9099,31 +8884,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_BASE_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_CURTAIN_PANEL, IfcPlateType_FLANGE_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_SHEET, IfcPlateType_SPLICE_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9142,16 +8925,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9164,16 +8946,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_AREA, IfcProfileType_CURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9189,16 +8970,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9209,16 +8989,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9235,16 +9014,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9287,16 +9065,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_MATERIALDRIVEN, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_PSET_PROFILEDRIVEN, IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9308,16 +9085,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9337,16 +9113,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9379,31 +9154,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_BLADE, IfcRailType_CHECKRAIL, IfcRailType_GUARDRAIL, IfcRailType_RACKRAIL, IfcRailType_RAIL, IfcRailType_STOCKRAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9428,46 +9201,43 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_GUARDRAIL, IfcRailingType_HANDRAIL, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_PLAINTRACKSUPERSTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayTypeEnum : public express::DeclaredType { public: - IfcRailwayTypeEnum() {} - explicit IfcRailwayTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayType_USERDEFINED, IfcRailwayType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayTypeEnum initialize(Value v); + IfcRailwayTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9483,16 +9253,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_SPIRAL, IfcRampFlightType_STRAIGHT, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9545,16 +9314,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_HALF_TURN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9580,31 +9348,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_DAILY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_KILOPOINT, IfcReferentType_LANDMARK, IfcReferentType_MILEPOINT, IfcReferentType_POSITION, IfcReferentType_REFERENCEMARKER, IfcReferentType_STATION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9625,31 +9391,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PHYSICAL, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9673,16 +9437,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9696,76 +9459,71 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_BUS_STOP, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_LAYBY, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROADSIDE, IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_SHOULDER, IfcRoadPartType_SIDEWALK, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadTypeEnum : public express::DeclaredType { public: - IfcRoadTypeEnum() {} - explicit IfcRoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadType_USERDEFINED, IfcRoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadTypeEnum initialize(Value v); + IfcRoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -9799,16 +9557,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_ARCHITECT, IfcRole_BUILDINGOPERATOR, IfcRole_BUILDINGOWNER, IfcRole_CIVILENGINEER, IfcRole_CLIENT, IfcRole_COMMISSIONINGENGINEER, IfcRole_CONSTRUCTIONMANAGER, IfcRole_CONSULTANT, IfcRole_CONTRACTOR, IfcRole_COSTENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_ENGINEER, IfcRole_FACILITIESMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_MANUFACTURER, IfcRole_MECHANICALENGINEER, IfcRole_OWNER, IfcRole_PROJECTMANAGER, IfcRole_RESELLER, IfcRole_STRUCTURALENGINEER, IfcRole_SUBCONTRACTOR, IfcRole_SUPPLIER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -9879,16 +9636,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_BARREL_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FLAT_ROOF, IfcRoofType_FREEFORM, IfcRoofType_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -9920,16 +9676,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_ATTO, IfcSIPrefix_CENTI, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_EXA, IfcSIPrefix_FEMTO, IfcSIPrefix_GIGA, IfcSIPrefix_HECTO, IfcSIPrefix_KILO, IfcSIPrefix_MEGA, IfcSIPrefix_MICRO, IfcSIPrefix_MILLI, IfcSIPrefix_NANO, IfcSIPrefix_PETA, IfcSIPrefix_PICO, IfcSIPrefix_TERA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -9973,16 +9728,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10006,16 +9760,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10030,16 +9783,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_TAPERED, IfcSectionType_UNIFORM} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10072,16 +9824,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_COSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10091,16 +9842,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_FINISH_FINISH, IfcSequence_FINISH_START, IfcSequence_START_FINISH, IfcSequence_START_START, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10115,46 +9865,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_AWNING, IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_MIRROR, IfcSignType_PICTORAL, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_VISUAL, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10177,16 +9924,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_NUMBER, IfcSimplePropertyTemplateType_Q_TIME, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_WEIGHT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10223,16 +9969,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_APPROACH_SLAB, IfcSlabType_BASESLAB, IfcSlabType_FLOOR, IfcSlabType_LANDING, IfcSlabType_PAVING, IfcSlabType_ROOF, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_WEARING, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10246,16 +9991,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10272,16 +10016,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10321,16 +10064,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_BERTH, IfcSpaceType_EXTERNAL, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_PARKING, IfcSpaceType_SPACE, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10360,16 +10102,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_INTERFERENCE, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10383,16 +10124,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10412,16 +10152,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_SPIRAL, IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10519,16 +10258,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_CURVED_RUN_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_LADDER, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10546,16 +10284,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_LOCKED, IfcState_READONLY, IfcState_READONLYLOCKED, IfcState_READWRITE, IfcState_READWRITELOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10575,16 +10312,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10607,16 +10343,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10633,16 +10368,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10661,16 +10395,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10683,16 +10416,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10708,16 +10440,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10733,16 +10464,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_BOTH, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10763,16 +10493,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -10785,16 +10514,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -10822,16 +10550,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_OILRETENTIONTRAY, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -10843,16 +10570,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -10875,61 +10601,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ADJUSTMENT, IfcTaskType_ATTENDANCE, IfcTaskType_CALIBRATION, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_EMERGENCY, IfcTaskType_INSPECTION, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_SAFETY, IfcTaskType_SHUTDOWN, IfcTaskType_STARTUP, IfcTaskType_TESTING, IfcTaskType_TROUBLESHOOTING, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_COUPLER, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_DUCT, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -10941,16 +10663,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_DOWN, IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -10966,31 +10687,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SLEEPER, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11006,16 +10725,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11036,16 +10754,15 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE, IfcTransitionCode_DISCONTINUOUS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -11074,16 +10791,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_CRANEWAY, IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_HAULINGGEAR, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11099,16 +10815,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11121,16 +10836,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11171,16 +10885,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11201,16 +10914,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_BASESTATIONCONTROLLER, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11227,16 +10939,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11284,46 +10995,43 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_DRAWOFFCOCK, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVehicleTypeEnum : public express::DeclaredType { public: - IfcVehicleTypeEnum() {} - explicit IfcVehicleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVehicleType_CARGO, IfcVehicleType_ROLLINGSTOCK, IfcVehicleType_VEHICLE, IfcVehicleType_VEHICLEAIR, IfcVehicleType_VEHICLEMARINE, IfcVehicleType_VEHICLETRACKED, IfcVehicleType_VEHICLEWHEELED, IfcVehicleType_USERDEFINED, IfcVehicleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVehicleTypeEnum initialize(Value v); + IfcVehicleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11337,31 +11045,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVirtualElementTypeEnum : public express::DeclaredType { public: - IfcVirtualElementTypeEnum() {} - explicit IfcVirtualElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVirtualElementType_BOUNDARY, IfcVirtualElementType_CLEARANCE, IfcVirtualElementType_PROVISIONFORVOID, IfcVirtualElementType_USERDEFINED, IfcVirtualElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVirtualElementTypeEnum initialize(Value v); + IfcVirtualElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11380,16 +11086,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11431,16 +11136,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_ELEMENTEDWALL, IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_POLYGONAL, IfcWallType_RETAININGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11459,16 +11163,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11557,16 +11260,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11635,16 +11337,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11665,16 +11366,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_LIGHTDOME, IfcWindowType_SKYLIGHT, IfcWindowType_WINDOW, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -11750,16 +11450,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -11775,16 +11474,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -11800,16 +11498,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -11825,16 +11522,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -11844,11 +11540,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -11858,11 +11553,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -11875,11 +11569,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -11889,31 +11582,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -11925,21 +11615,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -11949,11 +11637,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12001,11 +11688,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12021,11 +11707,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12078,11 +11763,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12093,11 +11777,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12108,11 +11791,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCountMeasure initialize(int v); operator int() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12124,11 +11806,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12139,11 +11820,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12166,11 +11846,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12187,11 +11866,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12230,11 +11908,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12245,11 +11922,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12261,11 +11937,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12275,11 +11950,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12289,11 +11963,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12304,11 +11977,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12318,11 +11990,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12332,11 +12003,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12346,11 +12016,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12362,11 +12031,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12376,11 +12044,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12390,11 +12057,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12404,11 +12070,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12427,11 +12092,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12448,11 +12112,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12480,11 +12143,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12494,11 +12156,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12508,11 +12169,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12530,11 +12190,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12544,11 +12203,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12556,11 +12214,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12579,11 +12236,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12593,11 +12249,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12607,11 +12262,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12623,11 +12277,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12639,11 +12292,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12651,11 +12303,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12665,11 +12316,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -12679,11 +12329,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -12702,11 +12351,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -12721,11 +12369,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -12737,21 +12384,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -12761,11 +12406,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -12775,11 +12419,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -12789,11 +12432,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -12803,11 +12445,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -12831,11 +12471,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -12847,11 +12486,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -12863,11 +12501,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -12877,11 +12514,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -12891,11 +12527,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -12905,11 +12540,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -12919,11 +12553,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -12935,11 +12568,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -12951,11 +12583,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -12965,11 +12596,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -12979,11 +12609,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -12993,11 +12622,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13011,11 +12639,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13025,11 +12652,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13039,11 +12665,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13053,11 +12678,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13066,11 +12690,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13131,11 +12754,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13145,11 +12767,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13160,11 +12781,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13172,11 +12792,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13188,11 +12807,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13202,11 +12820,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13222,21 +12839,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13247,11 +12862,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13262,11 +12876,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13276,11 +12889,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13294,11 +12906,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13308,21 +12919,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13332,11 +12941,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13351,11 +12959,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13367,11 +12974,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13381,11 +12987,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13396,11 +13001,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13410,11 +13014,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13424,11 +13027,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13438,11 +13040,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13452,11 +13053,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13468,21 +13068,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13492,21 +13090,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13516,11 +13112,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13530,11 +13125,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13546,11 +13140,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13564,21 +13157,19 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; class IFC_PARSE_API IfcStrippedOptional : public express::DeclaredType { public: - IfcStrippedOptional() {} - explicit IfcStrippedOptional (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcStrippedOptional initialize(bool v); operator bool() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13588,11 +13179,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13602,11 +13192,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13622,11 +13211,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13641,11 +13229,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13663,11 +13250,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -13691,11 +13277,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -13710,11 +13295,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -13724,11 +13308,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -13738,11 +13321,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -13751,11 +13333,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -13764,11 +13345,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -13778,11 +13358,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -13794,11 +13373,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -13811,11 +13389,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -13827,11 +13404,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -13840,11 +13416,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -13854,11 +13429,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -13870,11 +13444,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -13884,11 +13457,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -13900,11 +13472,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -13914,11 +13485,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -13928,11 +13498,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -13942,21 +13511,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcWellKnownTextLiteral : public express::DeclaredType { public: - IfcWellKnownTextLiteral() {} - explicit IfcWellKnownTextLiteral (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcWellKnownTextLiteral initialize(std::string v); operator std::string() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -13986,11 +13553,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14000,11 +13566,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14015,11 +13580,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14036,8 +13600,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14055,7 +13618,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_add1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14064,8 +13627,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > Purpose() const; @@ -14083,13 +13645,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14097,13 +13658,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14121,15 +13681,14 @@ public: void setPredefinedType(const ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_add1::IfcOrganization ApplicationDeveloper() const; @@ -14145,7 +13704,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_add1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14163,8 +13722,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14203,7 +13761,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14212,8 +13770,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14255,7 +13812,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add1::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add1::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14274,15 +13831,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14296,8 +13852,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14319,7 +13874,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14333,8 +13888,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14347,7 +13901,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14361,8 +13915,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_add1::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14384,7 +13937,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_add1::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14397,15 +13950,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_add1::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_add1::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add1::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add1::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14423,12 +13975,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14448,8 +13999,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_add1::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14459,7 +14009,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_add1::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14471,8 +14021,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_add1::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14482,7 +14031,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_add1::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_add1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14492,8 +14041,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_add1::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14503,7 +14051,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_add1::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add1::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_add1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add1::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14519,8 +14067,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14550,7 +14097,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14600,8 +14147,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14611,7 +14157,7 @@ public: void setTargetCRS(const ::Ifc4x3_add1::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14637,8 +14183,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14651,7 +14196,7 @@ public: std::vector< IfcWellKnownText > WellKnownText() const; // INVERSE IfcWellKnownText::CoordinateReferenceSystem static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcCoordinateReferenceSystem initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -14697,12 +14242,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -14713,8 +14257,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_add1::IfcDerivedUnitElement > Elements() const; @@ -14728,7 +14271,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_add1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -14741,8 +14284,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_add1::IfcNamedUnit Unit() const; @@ -14752,7 +14294,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_add1::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -14773,8 +14315,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -14799,7 +14340,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -14809,12 +14350,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -14827,8 +14367,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -14852,7 +14391,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -14864,12 +14403,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -14880,12 +14418,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -14896,18 +14433,16 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; class IFC_PARSE_API IfcGeographicCRS : public IfcCoordinateReferenceSystem { public: - IfcGeographicCRS() {} - explicit IfcGeographicCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; std::optional< std::string > GeodeticDatum() const; void setGeodeticDatum(const std::optional< std::string >& v); @@ -14917,7 +14452,7 @@ public: void setUnit(const ::Ifc4x3_add1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add1::IfcNamedUnit v5_Unit); + IfcGeographicCRS initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add1::IfcNamedUnit v5_Unit); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -14944,8 +14479,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14962,15 +14496,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add1::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add1::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14980,7 +14513,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_add1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add1::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add1::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -14992,8 +14525,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15020,7 +14552,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15031,8 +14563,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15050,7 +14581,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add1::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add1::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15069,8 +14600,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15085,15 +14615,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15103,7 +14632,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_add1::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add1::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add1::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15118,8 +14647,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15148,13 +14676,12 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; class IFC_PARSE_API IfcMapConversionScaled : public IfcMapConversion { public: - IfcMapConversionScaled() {} - explicit IfcMapConversionScaled (const std::weak_ptr& data) : IfcMapConversion(data) {} + using IfcMapConversion::IfcMapConversion; double ScaleX() const; void setScaleX(const double& v); @@ -15164,7 +14691,7 @@ public: void setScaleZ(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_ScaleX, double v10_ScaleY, double v11_ScaleZ); + IfcMapConversionScaled initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_ScaleX, double v10_ScaleY, double v11_ScaleZ); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15173,8 +14700,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_add1::IfcClassificationSelect > MaterialClassifications() const; @@ -15184,7 +14710,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_add1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_add1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15212,15 +14738,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15247,8 +14772,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_add1::IfcMaterial Material() const; @@ -15282,7 +14806,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15319,8 +14843,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_add1::IfcMaterialLayer > MaterialLayers() const; @@ -15335,7 +14858,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_add1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15382,8 +14905,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15393,7 +14915,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_add1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15414,15 +14936,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_add1::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_add1::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_add1::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15431,8 +14952,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15455,7 +14975,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15464,8 +14984,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15484,7 +15003,7 @@ public: void setCompositeProfile(const ::Ifc4x3_add1::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add1::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add1::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15493,15 +15012,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, ::Ifc4x3_add1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15536,13 +15054,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15556,8 +15073,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_add1::IfcValue ValueComponent() const; @@ -15567,7 +15083,7 @@ public: void setUnitComponent(const ::Ifc4x3_add1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcValue v1_ValueComponent, ::Ifc4x3_add1::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_add1::IfcValue v1_ValueComponent, ::Ifc4x3_add1::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15623,8 +15139,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_add1::IfcBenchmarkEnum::Value Benchmark() const; @@ -15639,7 +15154,7 @@ public: void setReferencePath(const ::Ifc4x3_add1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add1::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add1::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15648,15 +15163,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15665,8 +15179,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_add1::IfcDimensionalExponents Dimensions() const; @@ -15676,7 +15189,7 @@ public: void setUnitType(const ::Ifc4x3_add1::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15691,8 +15204,7 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_add1::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_add1::IfcObjectPlacement& v); @@ -15700,7 +15212,7 @@ public: std::vector< IfcObjectPlacement > ReferencedByPlacements() const; // INVERSE IfcObjectPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -15713,8 +15225,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_add1::IfcConstraint > > BenchmarkValues() const; @@ -15729,7 +15240,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -15741,8 +15252,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15765,7 +15275,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -15779,8 +15289,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_add1::IfcPersonAndOrganization OwningUser() const; @@ -15808,7 +15317,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_add1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -15821,8 +15330,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15857,7 +15365,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add1::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -15866,8 +15374,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_add1::IfcPerson ThePerson() const; @@ -15880,7 +15387,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPerson v1_ThePerson, ::Ifc4x3_add1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_add1::IfcPerson v1_ThePerson, ::Ifc4x3_add1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add1::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -15889,8 +15396,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -15902,7 +15408,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -15915,23 +15421,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_add1::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_add1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -15962,17 +15466,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -15991,8 +15494,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16008,7 +15510,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16025,8 +15527,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16046,7 +15547,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_add1::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16055,15 +15556,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16084,8 +15584,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16098,7 +15597,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_add1::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16272,8 +15771,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_add1::IfcProfileTypeEnum::Value ProfileType() const; @@ -16285,7 +15783,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16312,8 +15810,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; std::optional< std::string > GeodeticDatum() const; void setGeodeticDatum(const std::optional< std::string >& v); @@ -16337,18 +15834,17 @@ public: void setMapUnit(const ::Ifc4x3_add1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add1::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add1::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16398,8 +15894,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16412,7 +15907,7 @@ public: void setUnit(const ::Ifc4x3_add1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_add1::IfcValue > v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_add1::IfcValue > v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16421,8 +15916,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16434,7 +15928,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16443,8 +15937,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. int CountValue() const; @@ -16456,7 +15949,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16465,8 +15958,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16478,13 +15970,12 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; class IFC_PARSE_API IfcQuantityNumber : public IfcPhysicalSimpleQuantity { public: - IfcQuantityNumber() {} - explicit IfcQuantityNumber (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; double NumberValue() const; void setNumberValue(const double& v); @@ -16492,7 +15983,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); + IfcQuantityNumber initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16501,8 +15992,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16514,7 +16004,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16523,8 +16013,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16536,7 +16025,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16545,8 +16034,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16558,7 +16046,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16568,8 +16056,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16610,13 +16097,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_add1::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add1::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add1::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16630,7 +16116,7 @@ public: void setInnerReference(const ::Ifc4x3_add1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add1::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add1::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16680,8 +16166,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_add1::IfcRepresentationContext ContextOfItems() const; @@ -16701,7 +16186,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -16715,8 +16200,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16727,7 +16211,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -16763,14 +16247,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -16785,8 +16268,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16799,15 +16281,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add1::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_add1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add1::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16817,13 +16298,12 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; class IFC_PARSE_API IfcRigidOperation : public IfcCoordinateOperation { public: - IfcRigidOperation() {} - explicit IfcRigidOperation (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; ::Ifc4x3_add1::IfcMeasureValue FirstCoordinate() const; void setFirstCoordinate(const ::Ifc4x3_add1::IfcMeasureValue& v); @@ -16833,7 +16313,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add1::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add1::IfcMeasureValue v4_SecondCoordinate, double v5_Height); + IfcRigidOperation initialize(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add1::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add1::IfcMeasureValue v4_SecondCoordinate, double v5_Height); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -16846,8 +16326,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16867,7 +16346,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -16878,8 +16357,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > Prefix() const; @@ -16891,15 +16369,14 @@ public: void setName(const ::Ifc4x3_add1::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add1::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add1::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16913,7 +16390,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -16954,8 +16431,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -16979,7 +16455,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_add1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17001,13 +16477,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17146,42 +16621,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17196,8 +16668,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_add1::IfcStructuralLoadOrResult > Values() const; @@ -17207,31 +16678,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17240,8 +16709,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17260,7 +16728,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17269,12 +16737,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17306,8 +16773,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17327,7 +16793,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_add1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17338,12 +16804,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17352,8 +16817,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17366,7 +16830,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17377,8 +16841,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_add1::IfcSurfaceSide::Value Side() const; @@ -17388,7 +16851,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17403,8 +16866,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17424,7 +16886,7 @@ public: void setReflectanceColour(const ::Ifc4x3_add1::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add1::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_add1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add1::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17433,8 +16895,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17444,7 +16905,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17455,8 +16916,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_add1::IfcColourRgb SurfaceColour() const; @@ -17465,7 +16925,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17487,15 +16947,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_add1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17591,8 +17050,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17624,7 +17082,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17643,8 +17101,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17657,7 +17114,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_add1::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add1::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add1::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17666,8 +17123,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17685,7 +17141,7 @@ public: void setReferencePath(const ::Ifc4x3_add1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit v4_Unit, ::Ifc4x3_add1::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit v4_Unit, ::Ifc4x3_add1::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17702,8 +17158,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > RowCells() const; @@ -17713,7 +17168,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17725,8 +17180,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -17835,21 +17289,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_add1::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_add1::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add1::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add1::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -17859,8 +17312,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -17885,7 +17337,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -17917,8 +17369,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_add1::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -17939,7 +17390,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -17960,8 +17411,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_add1::IfcColour Colour() const; @@ -17971,7 +17421,7 @@ public: void setBackgroundColour(const ::Ifc4x3_add1::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcColour v1_Colour, ::Ifc4x3_add1::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_add1::IfcColour v1_Colour, ::Ifc4x3_add1::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -17982,8 +17432,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18015,7 +17464,7 @@ public: void setLineHeight(const ::Ifc4x3_add1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add1::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_add1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add1::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18030,14 +17479,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_add1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18067,8 +17515,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18082,13 +17529,12 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; class IFC_PARSE_API IfcTextureCoordinateIndices : public express::Entity { public: - IfcTextureCoordinateIndices() {} - explicit IfcTextureCoordinateIndices (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< int > /*[3:?]*/ TexCoordIndex() const; void setTexCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -18097,19 +17543,18 @@ public: std::vector< IfcIndexedPolygonalTextureMap > ToTexMap() const; // INVERSE IfcIndexedPolygonalTextureMap::TexCoordIndices static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf); + IfcTextureCoordinateIndices initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf); }; class IFC_PARSE_API IfcTextureCoordinateIndicesWithVoids : public IfcTextureCoordinateIndices { public: - IfcTextureCoordinateIndicesWithVoids() {} - explicit IfcTextureCoordinateIndicesWithVoids (const std::weak_ptr& data) : IfcTextureCoordinateIndices(data) {} + using IfcTextureCoordinateIndices::IfcTextureCoordinateIndices; std::vector< std::vector< int > > InnerTexCoordIndices() const; void setInnerTexCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); + IfcTextureCoordinateIndicesWithVoids initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18164,8 +17609,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18176,7 +17620,7 @@ public: void setMappedTo(const ::Ifc4x3_add1::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add1::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add1::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18207,27 +17651,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18237,8 +17679,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18248,7 +17689,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18257,8 +17698,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18287,7 +17727,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18300,15 +17740,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_add1::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_add1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_add1::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18317,12 +17756,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18360,12 +17798,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_add1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add1::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18374,15 +17811,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_add1::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_add1::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_add1::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18396,12 +17832,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18414,15 +17849,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_add1::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_add1::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_add1::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18485,8 +17919,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_add1::IfcGridAxis > IntersectingAxes() const; @@ -18496,13 +17929,12 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_add1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; class IFC_PARSE_API IfcWellKnownText : public express::Entity { public: - IfcWellKnownText() {} - explicit IfcWellKnownText (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::string WellKnownText() const; void setWellKnownText(const std::string& v); @@ -18510,7 +17942,7 @@ public: void setCoordinateReferenceSystem(const ::Ifc4x3_add1::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_WellKnownText, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem); + IfcWellKnownText initialize(std::string v1_WellKnownText, ::Ifc4x3_add1::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18522,8 +17954,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18536,13 +17967,12 @@ public: void setFinishDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18560,13 +17990,12 @@ public: void setPredefinedType(const ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3_add1::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_add1::IfcCartesianPoint& v); @@ -18584,7 +18013,7 @@ public: void setPredefinedType(const ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18595,8 +18024,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_add1::IfcApproval RelatingApproval() const; @@ -18606,7 +18034,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_add1::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add1::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add1::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18628,15 +18056,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_add1::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_add1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18655,15 +18082,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_add1::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_add1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18686,15 +18112,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_add1::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_add1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add1::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add1::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18707,8 +18132,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18718,7 +18142,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18751,15 +18175,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18778,8 +18201,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -18830,7 +18252,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -18855,8 +18277,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_add1::IfcClassificationReferenceSelect ReferencedSource() const; @@ -18872,19 +18293,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -18893,8 +18313,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -18904,7 +18323,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -18944,8 +18363,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_add1::IfcProfileDef > Profiles() const; @@ -18955,7 +18373,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -18968,15 +18386,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_add1::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_add1::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -18993,8 +18410,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_add1::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19004,7 +18420,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_add1::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_add1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19027,8 +18443,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19041,7 +18456,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_add1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19052,8 +18467,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19061,7 +18475,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19112,8 +18526,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19124,7 +18537,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19146,15 +18559,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_add1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19169,8 +18581,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_add1::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19191,7 +18602,7 @@ public: void setRateSource(const ::Ifc4x3_add1::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add1::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add1::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19212,8 +18623,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19228,7 +18638,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19237,8 +18647,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19248,7 +18657,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_add1::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19263,8 +18672,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19276,7 +18684,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19285,8 +18693,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19300,7 +18707,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19388,8 +18795,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_add1::IfcProfileDef ParentProfile() const; @@ -19402,15 +18808,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19482,7 +18887,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19494,8 +18899,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_add1::IfcDocumentInformation RelatingDocument() const; @@ -19508,7 +18912,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19523,8 +18927,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19537,7 +18940,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19590,8 +18993,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_add1::IfcVertex EdgeStart() const; @@ -19601,7 +19003,7 @@ public: void setEdgeEnd(const ::Ifc4x3_add1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19638,8 +19040,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_add1::IfcCurve EdgeGeometry() const; @@ -19649,7 +19050,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19676,8 +19077,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19695,13 +19095,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19711,7 +19110,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_add1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19722,8 +19121,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19735,7 +19133,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19783,8 +19181,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_add1::IfcFaceBound > Bounds() const; @@ -19792,7 +19189,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -19801,8 +19198,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_add1::IfcLoop Bound() const; @@ -19812,7 +19208,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -19821,12 +19217,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_add1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -19866,8 +19261,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_add1::IfcSurface FaceSurface() const; @@ -19877,7 +19271,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -19888,8 +19282,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -19911,7 +19304,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -19949,8 +19342,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_add1::IfcFillStyleSelect > FillStyles() const; @@ -19959,7 +19351,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20010,8 +19402,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20031,7 +19422,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add1::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add1::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20054,12 +19445,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20076,8 +19466,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_add1::IfcGeometricRepresentationContext ParentContext() const; @@ -20103,7 +19492,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20114,15 +19503,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20171,8 +19559,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_add1::IfcVirtualGridIntersection PlacementLocation() const; @@ -20184,7 +19571,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_add1::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20203,8 +19590,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_add1::IfcSurface BaseSurface() const; @@ -20214,7 +19600,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20253,21 +19639,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_add1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_add1::IfcTessellatedFaceSet& v); @@ -20279,13 +19663,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_add1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_add1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_add1::IfcTessellatedFaceSet& v); @@ -20293,19 +19676,18 @@ public: void setTexCoords(const ::Ifc4x3_add1::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20314,15 +19696,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20363,8 +19744,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20376,7 +19756,7 @@ public: void setDurationType(const ::Ifc4x3_add1::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add1::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add1::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20387,8 +19767,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20405,7 +19784,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20416,12 +19795,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20434,8 +19812,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20443,7 +19820,7 @@ public: void setOrientation(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20454,8 +19831,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_add1::IfcAxis2Placement3D Position() const; @@ -20477,7 +19853,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20496,8 +19872,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20518,7 +19893,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20537,8 +19912,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20557,13 +19931,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_add1::IfcAxis2PlacementLinear RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_add1::IfcAxis2PlacementLinear& v); @@ -20571,7 +19944,7 @@ public: void setCartesianPosition(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add1::IfcAxis2Placement3D v3_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add1::IfcAxis2Placement3D v3_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20627,15 +20000,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_add1::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_add1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_add1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20665,12 +20037,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20693,8 +20064,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_add1::IfcRepresentationMap MappingSource() const; @@ -20704,7 +20074,7 @@ public: void setMappingTarget(const ::Ifc4x3_add1::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add1::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_add1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add1::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20735,8 +20105,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -20762,7 +20131,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -20771,8 +20140,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -20792,7 +20160,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -20810,8 +20178,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -20824,7 +20191,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_add1::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add1::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -20858,15 +20225,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_add1::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_add1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations, ::Ifc4x3_add1::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations, ::Ifc4x3_add1::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -20970,8 +20336,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_add1::IfcMaterialLayerSet ForLayerSet() const; @@ -21002,7 +20367,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_add1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21013,8 +20378,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_add1::IfcMaterialProfileSet ForProfileSet() const; @@ -21032,7 +20396,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21061,8 +20425,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_add1::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21072,7 +20435,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_add1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21098,8 +20461,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21108,15 +20470,14 @@ public: void setMaterial(const ::Ifc4x3_add1::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_add1::IfcMaterial RelatingMaterial() const; @@ -21128,7 +20489,7 @@ public: void setMaterialExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21159,12 +20520,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21218,8 +20578,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21230,13 +20589,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21250,7 +20608,7 @@ public: void setOffsetPoint(const ::Ifc4x3_add1::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add1::IfcCartesianPoint v7_OffsetPoint); + IfcOpenCrossProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add1::IfcCartesianPoint v7_OffsetPoint); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21313,12 +20671,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21328,8 +20685,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_add1::IfcOrganization RelatingOrganization() const; @@ -21339,7 +20695,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_add1::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add1::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add1::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21350,8 +20706,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_add1::IfcEdge EdgeElement() const; @@ -21361,7 +20716,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_add1::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21407,15 +20762,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_add1::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21433,15 +20787,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_add1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_add1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21454,8 +20807,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > HasQuantities() const; @@ -21471,7 +20823,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21493,8 +20845,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21512,7 +20863,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21525,15 +20876,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_add1::IfcPoint Location() const; void setLocation(const ::Ifc4x3_add1::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_add1::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21542,8 +20892,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21553,7 +20902,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21562,18 +20911,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3_add1::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3_add1::IfcCurveMeasureSelect& v); @@ -21587,7 +20934,7 @@ public: void setBasisCurve(const ::Ifc4x3_add1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add1::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3_add1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add1::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21600,8 +20947,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_add1::IfcCurve BasisCurve() const; @@ -21611,7 +20957,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21624,8 +20970,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_add1::IfcSurface BasisSurface() const; @@ -21638,7 +20983,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21681,15 +21026,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_add1::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_add1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21749,8 +21093,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_add1::IfcAxis2Placement3D Position() const; @@ -21762,7 +21105,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_add1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add1::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add1::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -21773,25 +21116,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -21806,12 +21147,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -21827,14 +21167,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -21849,23 +21188,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_add1::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_add1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v3_Properties, ::Ifc4x3_add1::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -21880,7 +21217,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -21934,14 +21271,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -21953,8 +21289,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_add1::IfcProperty DependingProperty() const; @@ -21967,7 +21302,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty v3_DependingProperty, ::Ifc4x3_add1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty v3_DependingProperty, ::Ifc4x3_add1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22013,15 +21348,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22050,22 +21384,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22103,8 +21435,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22114,7 +21445,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22123,8 +21454,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22134,7 +21464,7 @@ public: void setValues(const std::vector< ::Ifc4x3_add1::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add1::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add1::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22143,8 +21473,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22166,7 +21495,7 @@ public: void setBarCount(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22178,12 +21507,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22193,8 +21521,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22204,7 +21531,7 @@ public: void setRelatingApproval(const ::Ifc4x3_add1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22228,8 +21555,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_add1::IfcConstraint RelatingConstraint() const; @@ -22239,14 +21565,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22295,7 +21620,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22336,15 +21661,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22353,8 +21677,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_add1::IfcSectionTypeEnum::Value SectionType() const; @@ -22367,7 +21690,7 @@ public: void setEndProfile(const ::Ifc4x3_add1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add1::IfcProfileDef v2_StartProfile, ::Ifc4x3_add1::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_add1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add1::IfcProfileDef v2_StartProfile, ::Ifc4x3_add1::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22378,8 +21701,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22401,7 +21723,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_add1::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22458,8 +21780,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_add1::IfcCompositeCurve SpineCurve() const; @@ -22472,20 +21793,19 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_add1::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_add1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_add1::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3_add1::IfcTransitionCode::Value& v); std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22501,26 +21821,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_add1::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_add1::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_add1::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22533,8 +21851,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22547,7 +21864,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22556,12 +21873,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22570,8 +21886,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22593,7 +21908,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22602,8 +21917,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22616,7 +21930,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22625,8 +21939,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22648,22 +21961,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22673,8 +21985,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22696,7 +22007,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22708,15 +22019,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22730,15 +22040,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_add1::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_add1::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_add1::IfcVertex v1_EdgeStart, ::Ifc4x3_add1::IfcVertex v2_EdgeEnd, ::Ifc4x3_add1::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22752,12 +22061,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -22806,8 +22114,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -22842,7 +22149,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_add1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -22864,8 +22171,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_add1::IfcProfileDef SweptArea() const; @@ -22875,7 +22181,7 @@ public: void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -22932,8 +22238,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_add1::IfcCurve Directrix() const; @@ -22956,7 +22261,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -22970,15 +22275,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -22987,8 +22291,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_add1::IfcProfileDef SweptCurve() const; @@ -22998,7 +22301,7 @@ public: void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23030,8 +22333,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23062,17 +22364,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23086,8 +22387,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23101,7 +22401,7 @@ public: void setPath(const ::Ifc4x3_add1::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23114,8 +22414,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_add1::IfcPlanarExtent Extent() const; @@ -23125,7 +22424,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path, ::Ifc4x3_add1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path, ::Ifc4x3_add1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23194,8 +22493,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23217,7 +22515,7 @@ public: void setFontSize(const ::Ifc4x3_add1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add1::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add1::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23259,8 +22557,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23276,7 +22573,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23311,8 +22608,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23331,7 +22627,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23363,8 +22659,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23380,7 +22675,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23450,8 +22745,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > RepresentationMaps() const; @@ -23462,7 +22756,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23478,8 +22772,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23495,7 +22788,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23527,8 +22820,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23553,7 +22845,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23564,8 +22856,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_add1::IfcDirection Orientation() const; @@ -23575,7 +22866,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_add1::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23591,15 +22882,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_add1::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_add1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_add1::IfcVertex v1_LoopVertex); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23628,8 +22918,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23651,7 +22940,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23668,12 +22957,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_add1::IfcFaceBound > v1_Bounds, ::Ifc4x3_add1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23697,8 +22985,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23712,7 +22999,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_add1::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add1::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_add1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add1::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23753,8 +23040,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -23785,7 +23071,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -23798,15 +23084,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_add1::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -23821,15 +23106,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_add1::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -23846,8 +23130,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_add1::IfcDirection Axis() const; @@ -23857,13 +23140,12 @@ public: void setRefDirection(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3_add1::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_add1::IfcDirection& v); @@ -23871,7 +23153,7 @@ public: void setRefDirection(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3_add1::IfcPoint v1_Location, ::Ifc4x3_add1::IfcDirection v2_Axis, ::Ifc4x3_add1::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -23901,8 +23183,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_add1::IfcBooleanOperator::Value Operator() const; @@ -23915,7 +23196,7 @@ public: void setSecondOperand(const ::Ifc4x3_add1::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -23931,12 +23212,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -23962,8 +23242,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_add1::IfcCartesianPoint Corner() const; @@ -23979,7 +23258,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24013,15 +23292,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_add1::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_add1::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_add1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24047,8 +23325,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24067,7 +23344,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24078,31 +23355,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24110,13 +23384,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24124,7 +23397,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24158,8 +23431,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_add1::IfcDirection Axis1() const; @@ -24175,7 +23447,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24184,12 +23456,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24203,15 +23474,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24220,15 +23490,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_add1::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24243,8 +23512,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24254,7 +23522,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_add1::IfcDirection v1_Axis1, ::Ifc4x3_add1::IfcDirection v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24270,15 +23538,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24331,12 +23598,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_add1::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24348,8 +23614,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24368,7 +23633,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24377,8 +23642,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24389,7 +23653,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_add1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add1::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add1::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24400,8 +23664,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24413,7 +23676,7 @@ public: void setParentCurve(const ::Ifc4x3_add1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24432,8 +23695,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > >& v); @@ -24441,7 +23703,7 @@ public: void setBaseQuantity(const ::Ifc4x3_add1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24458,8 +23720,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24484,7 +23745,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24498,15 +23759,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24515,15 +23775,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_add1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24568,15 +23827,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_add1::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_add1::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_add1::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24590,12 +23848,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24612,8 +23869,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_add1::IfcPlane BasisSurface() const; @@ -24626,7 +23882,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_add1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPlane v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add1::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_add1::IfcPlane v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add1::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24651,8 +23907,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_add1::IfcSurface BasisSurface() const; @@ -24664,13 +23919,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3_add1::IfcPlacement Placement() const; void setPlacement(const ::Ifc4x3_add1::IfcPlacement& v); @@ -24682,7 +23936,7 @@ public: void setParentCurve(const ::Ifc4x3_add1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add1::IfcPlacement v2_Placement, ::Ifc4x3_add1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add1::IfcCurve v5_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add1::IfcPlacement v2_Placement, ::Ifc4x3_add1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add1::IfcCurve v5_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24693,21 +23947,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_add1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_add1::IfcCurve& v); @@ -24717,7 +23969,7 @@ public: void setEndParam(const ::Ifc4x3_add1::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24732,15 +23984,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_add1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_add1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_add1::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -24821,8 +24072,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -24834,7 +24084,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -24860,15 +24110,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -24877,15 +24126,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_add1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -24905,8 +24153,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -24916,7 +24163,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -24926,8 +24173,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -24944,7 +24190,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25016,8 +24262,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_add1::IfcDirection ExtrudedDirection() const; @@ -25028,7 +24273,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25130,15 +24375,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_add1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_add1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25154,15 +24398,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_add1::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25213,8 +24456,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_add1::IfcCurveStyle HatchLineAppearance() const; @@ -25241,7 +24483,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_add1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25250,8 +24492,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_add1::IfcVector > TilingPattern() const; @@ -25264,7 +24505,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add1::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_add1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add1::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25326,15 +24567,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_add1::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25366,12 +24606,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25412,8 +24651,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25422,7 +24660,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25487,15 +24725,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25506,12 +24743,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_add1::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25578,8 +24814,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25602,13 +24837,12 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -25616,31 +24850,29 @@ public: std::vector< IfcTextureCoordinateIndices > HasTexCoords() const; // INVERSE IfcTextureCoordinateIndices::TexCoordsOf static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; class IFC_PARSE_API IfcIndexedPolygonalTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedPolygonalTextureMap() {} - explicit IfcIndexedPolygonalTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices > TexCoordIndices() const; void setTexCoordIndices(const std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices > v4_TexCoordIndices); + IfcIndexedPolygonalTextureMap initialize(std::vector< ::Ifc4x3_add1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add1::IfcTextureCoordinateIndices > v4_TexCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25695,8 +24927,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25718,7 +24949,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25733,15 +24964,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -25758,8 +24988,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_add1::IfcCartesianPoint Pnt() const; @@ -25769,7 +24998,7 @@ public: void setDir(const ::Ifc4x3_add1::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add1::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_add1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add1::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -25836,15 +25065,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_add1::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_add1::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -25930,8 +25158,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -25942,19 +25169,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add1::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_add1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -25969,8 +25195,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -25980,7 +25205,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -25999,8 +25224,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26013,13 +25237,12 @@ public: void setRefDirection(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add1::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add1::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression >& v); @@ -26027,7 +25250,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26038,8 +25261,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add1::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_add1::IfcSurface& v); @@ -26047,7 +25269,7 @@ public: void setReferenceCurve(const ::Ifc4x3_add1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, ::Ifc4x3_add1::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26057,8 +25279,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26066,7 +25287,7 @@ public: void setPlacement(const ::Ifc4x3_add1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add1::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add1::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26106,18 +25327,16 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position); }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: - IfcPolynomialCurve() {} - explicit IfcPolynomialCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add1::IfcPlacement Position() const; void setPosition(const ::Ifc4x3_add1::IfcPlacement& v); @@ -26129,7 +25348,7 @@ public: void setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); + IfcPolynomialCurve initialize(::Ifc4x3_add1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26138,12 +25357,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26154,12 +25372,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26183,12 +25400,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26205,8 +25421,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26214,7 +25429,7 @@ public: void setPredefinedType(const ::Ifc4x3_add1::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26258,8 +25473,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26277,7 +25491,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26372,8 +25586,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_add1::IfcObjectPlacement ObjectPlacement() const; @@ -26386,7 +25599,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26434,12 +25647,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26467,12 +25679,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26580,8 +25791,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_add1::IfcValue UpperBoundValue() const; @@ -26599,7 +25809,7 @@ public: void setSetPointValue(const ::Ifc4x3_add1::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_UpperBoundValue, ::Ifc4x3_add1::IfcValue v4_LowerBoundValue, ::Ifc4x3_add1::IfcUnit v5_Unit, ::Ifc4x3_add1::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_UpperBoundValue, ::Ifc4x3_add1::IfcValue v4_LowerBoundValue, ::Ifc4x3_add1::IfcUnit v5_Unit, ::Ifc4x3_add1::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26680,8 +25890,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26693,7 +25902,7 @@ public: void setEnumerationReference(const ::Ifc4x3_add1::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -26762,8 +25971,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -26775,7 +25983,7 @@ public: void setUnit(const ::Ifc4x3_add1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_ListValues, ::Ifc4x3_add1::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_ListValues, ::Ifc4x3_add1::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -26794,8 +26002,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -26807,7 +26014,7 @@ public: void setPropertyReference(const ::Ifc4x3_add1::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add1::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add1::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -26864,15 +26071,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_add1::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_add1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -26907,8 +26113,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -26932,7 +26137,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -26980,8 +26185,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -26995,7 +26199,7 @@ public: void setUnit(const ::Ifc4x3_add1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_NominalValue, ::Ifc4x3_add1::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue v3_NominalValue, ::Ifc4x3_add1::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27115,8 +26319,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27144,7 +26347,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27172,14 +26375,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27203,8 +26405,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27217,7 +26418,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27309,8 +26510,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27323,7 +26523,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27342,8 +26542,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_add1::IfcSurface BasisSurface() const; @@ -27368,7 +26567,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_add1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27398,8 +26597,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27409,7 +26607,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_add1::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27424,8 +26622,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_add1::IfcObjectDefinition > RelatedObjects() const; @@ -27436,7 +26633,7 @@ public: void setRelatedObjectsType(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27449,8 +26646,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_add1::IfcActor RelatingActor() const; @@ -27460,7 +26656,7 @@ public: void setActingRole(const ::Ifc4x3_add1::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcActor v7_RelatingActor, ::Ifc4x3_add1::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcActor v7_RelatingActor, ::Ifc4x3_add1::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27469,15 +26665,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_add1::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_add1::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27494,15 +26689,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_add1::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_add1::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27515,15 +26709,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27549,8 +26742,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27562,7 +26754,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_add1::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add1::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add1::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27574,8 +26766,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27584,7 +26775,7 @@ public: void setRelatingProduct(const ::Ifc4x3_add1::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27594,8 +26785,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27604,7 +26794,7 @@ public: void setRelatingResource(const ::Ifc4x3_add1::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27649,8 +26839,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27659,22 +26848,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_add1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_add1::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_add1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27708,23 +26896,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_add1::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_add1::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27734,7 +26920,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_add1::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -27745,15 +26931,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_add1::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_add1::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -27764,15 +26949,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_add1::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_add1::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -27870,39 +27054,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_add1::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_add1::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_add1::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_add1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -27928,8 +27109,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_add1::IfcConnectionGeometry ConnectionGeometry() const; @@ -27942,7 +27122,7 @@ public: void setRelatedElement(const ::Ifc4x3_add1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -27976,8 +27156,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -27993,7 +27172,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_add1::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28022,8 +27201,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_add1::IfcPort RelatingPort() const; @@ -28035,7 +27213,7 @@ public: void setRelatedElement(const ::Ifc4x3_add1::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28052,8 +27230,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_add1::IfcPort RelatingPort() const; @@ -28066,15 +27243,14 @@ public: void setRealizingElement(const ::Ifc4x3_add1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcPort v6_RelatedPort, ::Ifc4x3_add1::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort v5_RelatingPort, ::Ifc4x3_add1::IfcPort v6_RelatedPort, ::Ifc4x3_add1::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28084,7 +27260,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_add1::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add1::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add1::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28112,8 +27288,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_add1::IfcStructuralMember RelatingStructuralMember() const; @@ -28135,7 +27310,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28156,15 +27331,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_add1::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_add1::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add1::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add1::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28191,8 +27365,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_add1::IfcElement > RealizingElements() const; @@ -28202,7 +27375,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement v6_RelatingElement, ::Ifc4x3_add1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28266,8 +27439,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28279,7 +27451,7 @@ public: void setRelatingStructure(const ::Ifc4x3_add1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProduct > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcProduct > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28299,8 +27471,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28312,7 +27483,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_add1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28342,8 +27513,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28355,7 +27525,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_add1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add1::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28370,8 +27540,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_add1::IfcContext RelatingContext() const; @@ -28381,7 +27550,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_add1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add1::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28415,12 +27584,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28451,12 +27619,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28475,8 +27642,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_add1::IfcObject > RelatedObjects() const; @@ -28486,7 +27652,7 @@ public: void setRelatingObject(const ::Ifc4x3_add1::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28505,8 +27671,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_add1::IfcObjectDefinition > RelatedObjects() const; @@ -28516,7 +27681,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_add1::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28532,8 +27697,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28543,7 +27707,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_add1::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add1::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add1::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28616,8 +27780,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_add1::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_add1::IfcObject >& v); @@ -28626,7 +27789,7 @@ public: void setRelatingType(const ::Ifc4x3_add1::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcObject > v5_RelatedObjects, ::Ifc4x3_add1::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28639,8 +27802,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_add1::IfcOpeningElement RelatingOpeningElement() const; @@ -28652,7 +27814,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_add1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28663,8 +27825,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_add1::IfcDistributionControlElement > RelatedControlElements() const; @@ -28674,7 +27835,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_add1::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add1::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add1::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28725,8 +27886,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_add1::IfcInterferenceSelect RelatingElement() const; @@ -28747,7 +27907,7 @@ public: void setInterferenceSpace(const ::Ifc4x3_add1::IfcSpatialZone& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add1::IfcSpatialZone v10_InterferenceSpace); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add1::IfcSpatialZone v10_InterferenceSpace); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -28776,8 +27936,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -28791,13 +27950,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_add1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_add1::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_add1::IfcPositioningElement& v); @@ -28805,7 +27963,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_add1::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add1::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add1::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -28841,8 +27999,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_add1::IfcElement RelatingElement() const; @@ -28852,7 +28009,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_add1::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -28905,8 +28062,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -28919,7 +28075,7 @@ public: void setRelatingStructure(const ::Ifc4x3_add1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -28977,8 +28133,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_add1::IfcProcess RelatingProcess() const; @@ -29007,7 +28162,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcProcess v5_RelatingProcess, ::Ifc4x3_add1::IfcProcess v6_RelatedProcess, ::Ifc4x3_add1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcProcess v5_RelatingProcess, ::Ifc4x3_add1::IfcProcess v6_RelatedProcess, ::Ifc4x3_add1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29032,8 +28187,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_add1::IfcSystem RelatingSystem() const; @@ -29047,7 +28201,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_add1::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add1::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add1::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29213,8 +28367,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_add1::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29239,7 +28392,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29290,8 +28443,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29299,7 +28451,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29335,8 +28487,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29344,7 +28495,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29355,8 +28506,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_add1::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_add1::IfcElement& v); @@ -29364,7 +28514,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_add1::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29391,14 +28541,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29415,8 +28564,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29432,7 +28580,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29512,8 +28660,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_add1::IfcAxis1Placement Axis() const; @@ -29523,7 +28670,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29585,14 +28732,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_add1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_add1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add1::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29661,8 +28807,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29672,7 +28817,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29757,8 +28902,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -29768,13 +28912,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_add1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_add1::IfcCurve& v); @@ -29782,25 +28925,23 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_add1::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v3_CrossSectionPositions); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_add1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_add1::IfcCurve& v); @@ -29810,7 +28951,7 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_add1::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_CrossSections); + IfcSectionedSurface initialize(::Ifc4x3_add1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add1::IfcProfileDef > v3_CrossSections); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -29859,8 +29000,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -29911,7 +29051,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_add1::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -29946,8 +29086,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -29961,7 +29100,7 @@ public: std::vector< IfcRelInterferesElements > InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -29996,15 +29135,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30082,8 +29220,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30093,7 +29230,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30131,12 +29268,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30189,15 +29325,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30231,8 +29366,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30241,7 +29375,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30295,39 +29429,36 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - IfcSpiral() {} - explicit IfcSpiral (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add1::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position); + IfcSpiral initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30424,8 +29555,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30454,7 +29584,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30545,13 +29675,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30559,13 +29688,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30589,12 +29717,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30618,8 +29745,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30629,7 +29755,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30651,12 +29777,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30682,15 +29807,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30705,21 +29829,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add1::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_add1::IfcCurve& v); @@ -30729,7 +29851,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -30795,15 +29917,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_add1::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_add1::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -30820,8 +29941,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_add1::IfcDirection ExtrudedDirection() const; @@ -30831,7 +29951,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -30852,15 +29972,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_add1::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_add1::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -30894,14 +30013,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31150,8 +30268,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31194,7 +30311,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31238,8 +30355,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31250,13 +30366,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_add1::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_add1::IfcCartesianPointList3D& v); @@ -31264,13 +30379,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - IfcThirdOrderPolynomialSpiral() {} - explicit IfcThirdOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CubicTerm() const; void setCubicTerm(const double& v); @@ -31282,13 +30396,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31296,23 +30409,21 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; class IFC_PARSE_API IfcTransportationDeviceType : public IfcElementType { public: - IfcTransportationDeviceType() {} - explicit IfcTransportationDeviceType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcTransportationDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31324,31 +30435,29 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; class IFC_PARSE_API IfcVehicleType : public IfcTransportationDeviceType { public: - IfcVehicleType() {} - explicit IfcVehicleType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; ::Ifc4x3_add1::IfcVehicleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcVehicleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVehicleTypeEnum::Value v10_PredefinedType); + IfcVehicleType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVehicleTypeEnum::Value v10_PredefinedType); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31450,8 +30559,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31499,7 +30607,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31548,8 +30656,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31570,7 +30677,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_add1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31589,8 +30696,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_add1::IfcActorSelect TheActor() const; @@ -31598,7 +30704,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31635,12 +30741,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31665,14 +30770,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_add1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_add1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -31849,15 +30953,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -31930,8 +31033,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -31956,7 +31058,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -31967,8 +31069,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -31987,7 +31088,7 @@ public: void setKnotSpec(const ::Ifc4x3_add1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32088,8 +31189,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32102,7 +31202,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32113,12 +31213,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32132,12 +31231,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32318,25 +31416,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32365,15 +31461,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_add1::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32395,37 +31490,34 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double ClothoidConstant() const; void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32527,15 +31619,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_add1::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32547,8 +31638,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32559,7 +31649,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32629,8 +31719,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_add1::IfcSegment > Segments() const; @@ -32640,7 +31729,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32655,12 +31744,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32669,15 +31757,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_add1::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_add1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32694,15 +31781,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32719,15 +31805,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -32744,15 +31829,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -32828,8 +31912,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_add1::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_add1::IfcResourceTime& v); @@ -32839,7 +31922,7 @@ public: void setBaseQuantity(const ::Ifc4x3_add1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -32853,8 +31936,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -32865,13 +31947,12 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; class IFC_PARSE_API IfcCosineSpiral : public IfcSpiral { public: - IfcCosineSpiral() {} - explicit IfcCosineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CosineTerm() const; void setCosineTerm(const double& v); @@ -32879,7 +31960,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); + IfcCosineSpiral initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -32919,8 +32000,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32943,7 +32023,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add1::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -32970,8 +32050,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -32999,19 +32078,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33094,15 +32172,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_add1::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33116,8 +32193,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33125,7 +32201,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33150,15 +32226,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33216,35 +32291,32 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_add1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: - IfcDirectrixDerivedReferenceSweptAreaSolid() {} - explicit IfcDirectrixDerivedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcFixedReferenceSweptAreaSolid(data) {} + using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference); + IfcDirectrixDerivedReferenceSweptAreaSolid initialize(::Ifc4x3_add1::IfcProfileDef v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add1::IfcCurve v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add1::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33276,12 +32348,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33350,12 +32421,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33454,8 +32524,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33504,7 +32573,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33553,8 +32622,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33575,7 +32643,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_add1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33707,8 +32775,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_add1::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33722,7 +32789,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -33798,12 +32865,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -33820,12 +32886,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -33882,8 +32947,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -33902,7 +32966,7 @@ public: std::vector< IfcRelAdheresToElement > HasSurfaceFeatures() const; // INVERSE IfcRelAdheresToElement::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34000,8 +33064,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34013,7 +33076,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34039,15 +33102,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34128,12 +33190,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34146,12 +33207,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34182,8 +33242,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34193,7 +33252,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34220,12 +33279,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34255,14 +33313,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_add1::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34292,15 +33349,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34330,15 +33386,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34419,8 +33474,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34440,7 +33494,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_add1::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add1::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add1::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34449,12 +33503,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34482,12 +33535,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34515,49 +33567,45 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_add1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_add1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_add1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add1::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_add1::IfcFacilityUsageEnum::Value UsageType() const; void setUsageType(const ::Ifc4x3_add1::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType); }; class IFC_PARSE_API IfcFacilityPartCommon : public IfcFacilityPart { public: - IfcFacilityPartCommon() {} - explicit IfcFacilityPartCommon (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); + IfcFacilityPartCommon initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34569,15 +33617,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34604,15 +33651,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_add1::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34710,12 +33756,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -34774,13 +33819,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -34834,13 +33878,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -34866,12 +33909,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -34898,12 +33940,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -34939,15 +33980,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -34973,12 +34013,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35013,12 +34052,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35029,12 +34067,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35045,12 +34082,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35062,12 +34098,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35080,15 +34115,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_add1::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35196,12 +34230,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35236,14 +34269,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35387,43 +34419,39 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_add1::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_add1::IfcBoundedCurve& v); @@ -35431,7 +34459,7 @@ public: void setEndPoint(const ::Ifc4x3_add1::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint); + IfcGradientCurve initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35465,14 +34493,13 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35505,15 +34532,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35543,45 +34569,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_add1::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_add1::IfcCartesianPointList& v); @@ -35591,7 +34613,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_add1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35628,24 +34650,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35660,8 +34680,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35687,7 +34706,7 @@ public: void setOriginalValue(const ::Ifc4x3_add1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add1::IfcCostValue v10_CurrentValue, ::Ifc4x3_add1::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add1::IfcCostValue v10_CurrentValue, ::Ifc4x3_add1::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35718,27 +34737,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcKerbTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcKerbTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcKerbTypeEnum::Value v10_PredefinedType); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcKerbTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -35766,8 +34783,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -35775,7 +34791,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -35808,15 +34824,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_add1::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -35851,61 +34866,56 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcMarinePart : public IfcFacilityPart { public: - IfcMarinePart() {} - explicit IfcMarinePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v11_PredefinedType); + IfcMarinePart initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -35938,8 +34948,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -35950,7 +34959,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -35989,8 +34998,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36003,7 +35011,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36033,14 +35041,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36145,39 +35152,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_add1::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36208,27 +35212,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36239,8 +35241,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36249,7 +35250,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36455,8 +35456,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36466,7 +35466,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36499,27 +35499,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_add1::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcPavementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPavementTypeEnum::Value v10_PredefinedType); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPavementTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36528,8 +35526,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36541,7 +35538,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36576,8 +35573,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36596,7 +35592,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_add1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36637,8 +35633,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36657,7 +35652,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36668,15 +35663,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_add1::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36709,15 +35703,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -36754,15 +35747,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -36843,21 +35835,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_add1::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -36867,7 +35857,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_add1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -36885,15 +35875,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_add1::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_add1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -36950,27 +35939,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37078,8 +36065,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37087,7 +36073,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37134,8 +36120,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37158,7 +36143,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37269,8 +36254,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37279,7 +36263,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37318,15 +36302,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37358,27 +36341,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_add1::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37402,39 +36383,36 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_add1::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v10_PredefinedType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRailwayPart : public IfcFacilityPart { public: - IfcRailwayPart() {} - explicit IfcRailwayPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); + IfcRailwayPart initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37458,15 +36436,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37503,15 +36480,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_add1::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37528,27 +36504,25 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v8_PredefinedType); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v8_PredefinedType); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37560,26 +36534,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37607,8 +36579,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37631,7 +36602,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37646,8 +36617,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37682,13 +36652,12 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v20_BendingParameters); }; class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { public: - IfcRelAdheresToElement() {} - explicit IfcRelAdheresToElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_add1::IfcElement RelatingElement() const; void setRelatingElement(const ::Ifc4x3_add1::IfcElement& v); @@ -37696,7 +36665,7 @@ public: void setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_add1::IfcSurfaceFeature >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); + IfcRelAdheresToElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37722,8 +36691,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37737,31 +36705,29 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_add1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add1::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v10_PredefinedType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRoadPart : public IfcFacilityPart { public: - IfcRoadPart() {} - explicit IfcRoadPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v11_PredefinedType); + IfcRoadPart initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -37797,15 +36763,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_add1::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -37846,31 +36811,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_add1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: - IfcSecondOrderPolynomialSpiral() {} - explicit IfcSecondOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QuadraticTerm() const; void setQuadraticTerm(const double& v); @@ -37880,13 +36842,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSecondOrderPolynomialSpiral initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_add1::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_add1::IfcBoundedCurve& v); @@ -37894,13 +36855,12 @@ public: void setEndPoint(const ::Ifc4x3_add1::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint); + IfcSegmentedReferenceCurve initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement v4_EndPoint); }; class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: - IfcSeventhOrderPolynomialSpiral() {} - explicit IfcSeventhOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SepticTerm() const; void setSepticTerm(const double& v); @@ -37920,7 +36880,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); + IfcSeventhOrderPolynomialSpiral initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -37945,57 +36905,52 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_add1::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add1::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSineSpiral : public IfcSpiral { public: - IfcSineSpiral() {} - explicit IfcSineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SineTerm() const; void setSineTerm(const double& v); @@ -38005,7 +36960,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSineSpiral initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38198,8 +37153,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38221,7 +37175,7 @@ public: void setSiteAddress(const ::Ifc4x3_add1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add1::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add1::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38302,15 +37256,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_add1::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38340,14 +37293,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38601,8 +37553,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38618,7 +37569,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38652,15 +37603,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -38745,8 +37695,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_add1::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -38755,7 +37704,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -38785,15 +37734,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -38817,15 +37765,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -38862,15 +37809,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_add1::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -38893,23 +37839,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_add1::IfcBoundaryCondition AppliedCondition() const; @@ -38917,7 +37861,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -38977,8 +37921,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38988,7 +37931,7 @@ public: void setPredefinedType(const ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39009,14 +37952,13 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; ::Ifc4x3_add1::IfcDirection AxisDirection() const; void setAxisDirection(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcDirection v9_AxisDirection); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcDirection v9_AxisDirection); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39057,8 +37999,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39070,7 +38011,7 @@ public: void setAxis(const ::Ifc4x3_add1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39094,12 +38035,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39153,15 +38093,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39172,12 +38111,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39214,8 +38152,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39236,7 +38173,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39285,12 +38222,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39307,15 +38243,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_add1::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_add1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39362,12 +38297,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39375,8 +38309,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39390,7 +38323,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39446,8 +38379,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39457,7 +38389,7 @@ public: void setPredefinedType(const ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39473,12 +38405,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39506,8 +38437,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -39515,7 +38445,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -39551,8 +38481,7 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -39560,7 +38489,7 @@ public: std::vector< IfcRelAdheresToElement > AdheresToElement() const; // INVERSE IfcRelAdheresToElement::RelatedSurfaceFeatures static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39604,15 +38533,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39633,14 +38561,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39668,14 +38595,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39711,21 +38637,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_add1::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value >& v); @@ -39745,61 +38669,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_add1::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTendonTypeEnum::Value& v); @@ -39811,19 +38730,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -39854,15 +38772,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_add1::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -39929,25 +38846,23 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcTransportationDeviceType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransportationDevice : public IfcElement { public: - IfcTransportationDevice() {} - explicit IfcTransportationDevice (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcTransportationDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40029,8 +38944,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_add1::IfcCurve BasisCurve() const; @@ -40049,7 +38963,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_add1::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_add1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40082,15 +38996,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40122,15 +39035,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40172,51 +39084,47 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_add1::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVehicle : public IfcTransportationDevice { public: - IfcVehicle() {} - explicit IfcVehicle (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v9_PredefinedType); + IfcVehicle initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40254,14 +39162,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40287,15 +39194,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40385,14 +39291,13 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40428,15 +39333,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -40524,15 +39428,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_add1::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -40572,15 +39475,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40705,8 +39607,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_add1::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40720,7 +39621,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40737,8 +39638,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -40758,7 +39658,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -40806,8 +39706,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -40832,7 +39731,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -40861,8 +39760,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -40870,7 +39768,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -40914,8 +39812,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -40923,7 +39820,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41012,8 +39909,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41024,7 +39920,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41066,8 +39962,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41090,7 +39985,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41120,15 +40015,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41158,14 +40052,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41195,59 +40088,54 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3_add1::IfcAlignmentParameterSegment DesignParameters() const; void setDesignParameters(const ::Ifc4x3_add1::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcAlignmentParameterSegment v8_DesignParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcAlignmentParameterSegment v8_DesignParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41275,8 +40163,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41312,7 +40199,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_add1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add1::IfcCostValue v7_OriginalValue, ::Ifc4x3_add1::IfcCostValue v8_CurrentValue, ::Ifc4x3_add1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add1::IfcActorSelect v10_Owner, ::Ifc4x3_add1::IfcActorSelect v11_User, ::Ifc4x3_add1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add1::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add1::IfcCostValue v7_OriginalValue, ::Ifc4x3_add1::IfcCostValue v8_CurrentValue, ::Ifc4x3_add1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add1::IfcActorSelect v10_Owner, ::Ifc4x3_add1::IfcActorSelect v11_User, ::Ifc4x3_add1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add1::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41358,15 +40245,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41419,8 +40305,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41439,7 +40324,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -41460,8 +40345,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -41474,7 +40358,7 @@ public: void setKnotSpec(const ::Ifc4x3_add1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -41576,27 +40460,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_add1::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add1::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -41629,15 +40511,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_add1::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41648,36 +40529,33 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v11_PredefinedType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -41855,8 +40733,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -41869,7 +40746,7 @@ public: void setBuildingAddress(const ::Ifc4x3_add1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add1::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add1::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -41890,15 +40767,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -41906,15 +40782,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -41952,15 +40827,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42000,8 +40874,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42010,23 +40883,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value >& v); @@ -42034,7 +40905,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42065,14 +40936,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_add1::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42102,15 +40972,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42146,15 +41015,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42186,15 +41054,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42239,27 +41106,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42295,15 +41160,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_add1::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42348,8 +41212,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42357,7 +41220,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42388,25 +41251,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_add1::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42437,15 +41298,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_add1::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42720,8 +41580,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42731,7 +41590,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -42767,15 +41626,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -42806,15 +41664,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_add1::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -42845,15 +41702,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_add1::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -42879,8 +41735,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -42888,7 +41743,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -42918,8 +41773,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -42927,7 +41781,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -42946,8 +41800,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -42955,19 +41808,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43000,15 +41852,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43045,27 +41896,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43293,8 +42142,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43303,7 +42151,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43445,8 +42293,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43456,7 +42303,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43494,25 +42341,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_add1::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -43689,15 +42534,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -43889,27 +42733,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -43950,15 +42792,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44016,12 +42857,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44187,13 +43027,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44265,13 +43104,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44357,8 +43195,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44370,7 +43207,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44414,8 +43251,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44427,7 +43263,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -44787,8 +43623,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -44817,7 +43652,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -44850,15 +43685,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -44891,15 +43725,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -44929,49 +43762,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45004,15 +43833,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45043,15 +43871,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45082,27 +43909,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45138,15 +43963,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45177,15 +44001,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45216,15 +44039,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45237,12 +44059,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45287,14 +44108,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45342,14 +44162,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45417,14 +44236,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45443,8 +44261,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45452,7 +44269,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45484,15 +44301,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_add1::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45525,15 +44341,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_add1::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -45570,15 +44385,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -45591,12 +44405,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -45605,12 +44418,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -45644,15 +44456,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -45736,14 +44547,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -45752,12 +44562,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -45784,12 +44593,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -45802,12 +44610,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -45822,12 +44629,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -45836,12 +44642,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -45867,8 +44672,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -45877,17 +44681,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -45987,8 +44790,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_add1::IfcGridAxis > UAxes() const; @@ -46003,7 +44805,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46057,14 +44859,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -46111,14 +44912,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46179,14 +44979,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46256,26 +45055,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v9_PredefinedType); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v9_PredefinedType); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46326,14 +45123,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46403,36 +45199,33 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46480,14 +45273,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -46741,8 +45533,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -46752,31 +45543,29 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -46821,26 +45610,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -46849,12 +45636,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_add1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -46924,26 +45710,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v9_PredefinedType); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -46965,8 +45749,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -46980,7 +45763,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47069,14 +45852,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47140,14 +45922,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -47379,8 +46160,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -47390,7 +46170,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -47470,14 +46250,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -47521,15 +46300,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -47582,26 +46360,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -47737,8 +46513,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -47747,7 +46522,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -47884,8 +46659,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -47896,7 +46670,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48088,8 +46862,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48099,7 +46872,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48139,27 +46912,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_add1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48191,8 +46962,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48207,7 +46977,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -48227,8 +46997,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -48251,7 +47020,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add1::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -48400,8 +47169,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -48410,7 +47178,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -48540,14 +47308,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -48599,15 +47366,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_add1::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -48625,8 +47391,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -48634,19 +47399,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -48910,8 +47674,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -48921,7 +47684,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -48972,14 +47735,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -49045,14 +47807,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -49106,14 +47867,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -49282,8 +48042,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -49292,7 +48051,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -49463,8 +48222,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -49491,7 +48249,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -49518,8 +48276,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -49551,15 +48308,14 @@ public: void setSharedPlacement(const ::Ifc4x3_add1::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add1::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add1::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -49570,7 +48326,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -49581,12 +48337,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -49678,14 +48433,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -49749,26 +48503,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -49814,14 +48566,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -49941,8 +48692,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcTransportationDevice { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -49951,7 +48701,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -50002,14 +48752,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -50039,15 +48788,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -50123,14 +48871,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -50320,14 +49067,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -50573,8 +49319,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -50584,7 +49329,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -50790,12 +49535,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -50903,14 +49647,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -51272,8 +50015,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -51302,7 +50044,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -51337,15 +50079,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_add1::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -51406,14 +50147,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -51459,14 +50199,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -51515,14 +50254,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -51552,27 +50290,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_add1::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v8_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v8_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -51754,14 +50490,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -52002,8 +50737,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -52013,19 +50747,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -52098,24 +50831,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -52309,14 +51040,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -52361,14 +51091,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -52433,15 +51162,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -52504,15 +51232,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -52590,15 +51317,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -52689,27 +51415,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -52782,14 +51506,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -52859,14 +51582,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -52972,14 +51694,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -53029,14 +51750,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -53106,14 +51826,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -53153,27 +51872,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_add1::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add1::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -53226,14 +51943,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -53294,14 +52010,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -53376,26 +52091,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -53430,24 +52143,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -53529,13 +52240,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -53614,14 +52324,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -53674,14 +52383,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -53727,14 +52435,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53836,14 +52543,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -53904,14 +52610,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -53956,26 +52661,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -54026,14 +52729,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -54078,14 +52780,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -54130,14 +52831,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -54195,14 +52895,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -54293,14 +52992,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -54370,14 +53068,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -54433,34 +53130,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -54516,14 +53210,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -54661,14 +53354,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -54727,14 +53419,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -54800,14 +53491,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -54853,14 +53543,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -54970,14 +53659,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_add2.cpp b/src/ifcparse/schemas/Ifc4x3_add2.cpp index 800b59eb50..ac3e1e7861 100644 --- a/src/ifcparse/schemas/Ifc4x3_add2.cpp +++ b/src/ifcparse/schemas/Ifc4x3_add2.cpp @@ -7211,662 +7211,662 @@ const ifcopenshell::select_type& Ifc4x3_add2::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[0]); } -void Ifc4x3_add2::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcAbsorbedDoseMeasure Ifc4x3_add2::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1]); } -void Ifc4x3_add2::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcAccelerationMeasure Ifc4x3_add2::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[42]); } -void Ifc4x3_add2::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcAmountOfSubstanceMeasure Ifc4x3_add2::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[45]); } -void Ifc4x3_add2::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcAngularVelocityMeasure Ifc4x3_add2::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_add2::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[57]); } -void Ifc4x3_add2::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcArcIndex Ifc4x3_add2::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[58]); } -void Ifc4x3_add2::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcAreaDensityMeasure Ifc4x3_add2::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[59]); } -void Ifc4x3_add2::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcAreaMeasure Ifc4x3_add2::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_add2::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[80]); } -void Ifc4x3_add2::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcBinary Ifc4x3_add2::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_add2::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[86]); } -void Ifc4x3_add2::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcBoolean Ifc4x3_add2::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_add2::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[101]); } -void Ifc4x3_add2::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcBoxAlignment Ifc4x3_add2::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_add2::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[145]); } -void Ifc4x3_add2::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcCardinalPointReference Ifc4x3_add2::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_add2::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[188]); } -void Ifc4x3_add2::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcComplexNumber Ifc4x3_add2::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[196]); } -void Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcCompoundPlaneAngleMeasure Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[226]); } -void Ifc4x3_add2::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcContextDependentMeasure Ifc4x3_add2::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[252]); } -void Ifc4x3_add2::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcCountMeasure Ifc4x3_add2::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[270]); } -void Ifc4x3_add2::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcCurvatureMeasure Ifc4x3_add2::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[290]); } -void Ifc4x3_add2::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDate Ifc4x3_add2::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[291]); } -void Ifc4x3_add2::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDateTime Ifc4x3_add2::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[292]); } -void Ifc4x3_add2::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDayInMonthNumber Ifc4x3_add2::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[293]); } -void Ifc4x3_add2::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDayInWeekNumber Ifc4x3_add2::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[302]); } -void Ifc4x3_add2::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDescriptiveMeasure Ifc4x3_add2::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[304]); } -void Ifc4x3_add2::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDimensionCount Ifc4x3_add2::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[343]); } -void Ifc4x3_add2::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDoseEquivalentMeasure Ifc4x3_add2::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[355]); } -void Ifc4x3_add2::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDuration Ifc4x3_add2::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[356]); } -void Ifc4x3_add2::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcDynamicViscosityMeasure Ifc4x3_add2::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[368]); } -void Ifc4x3_add2::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcElectricCapacitanceMeasure Ifc4x3_add2::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[369]); } -void Ifc4x3_add2::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcElectricChargeMeasure Ifc4x3_add2::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[370]); } -void Ifc4x3_add2::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcElectricConductanceMeasure Ifc4x3_add2::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[371]); } -void Ifc4x3_add2::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcElectricCurrentMeasure Ifc4x3_add2::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[387]); } -void Ifc4x3_add2::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcElectricResistanceMeasure Ifc4x3_add2::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[391]); } -void Ifc4x3_add2::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcElectricVoltageMeasure Ifc4x3_add2::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[406]); } -void Ifc4x3_add2::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcEnergyMeasure Ifc4x3_add2::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_add2::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[487]); } -void Ifc4x3_add2::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcFontStyle Ifc4x3_add2::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_add2::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[488]); } -void Ifc4x3_add2::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcFontVariant Ifc4x3_add2::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_add2::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[489]); } -void Ifc4x3_add2::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcFontWeight Ifc4x3_add2::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[493]); } -void Ifc4x3_add2::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcForceMeasure Ifc4x3_add2::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[494]); } -void Ifc4x3_add2::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcFrequencyMeasure Ifc4x3_add2::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_add2::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[517]); } -void Ifc4x3_add2::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcGloballyUniqueId Ifc4x3_add2::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[531]); } -void Ifc4x3_add2::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcHeatFluxDensityMeasure Ifc4x3_add2::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[532]); } -void Ifc4x3_add2::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcHeatingValueMeasure Ifc4x3_add2::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_add2::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[536]); } -void Ifc4x3_add2::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcIdentifier Ifc4x3_add2::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[537]); } -void Ifc4x3_add2::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcIlluminanceMeasure Ifc4x3_add2::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[549]); } -void Ifc4x3_add2::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcInductanceMeasure Ifc4x3_add2::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_add2::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[550]); } -void Ifc4x3_add2::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcInteger Ifc4x3_add2::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[551]); } -void Ifc4x3_add2::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcIntegerCountRateMeasure Ifc4x3_add2::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[560]); } -void Ifc4x3_add2::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcIonConcentrationMeasure Ifc4x3_add2::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[564]); } -void Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[571]); } -void Ifc4x3_add2::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcKinematicViscosityMeasure Ifc4x3_add2::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[573]); } -void Ifc4x3_add2::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLabel Ifc4x3_add2::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[581]); } -void Ifc4x3_add2::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLanguageId Ifc4x3_add2::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[584]); } -void Ifc4x3_add2::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLengthMeasure Ifc4x3_add2::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[610]); } -void Ifc4x3_add2::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLineIndex Ifc4x3_add2::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[604]); } -void Ifc4x3_add2::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLinearForceMeasure Ifc4x3_add2::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[605]); } -void Ifc4x3_add2::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLinearMomentMeasure Ifc4x3_add2::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[608]); } -void Ifc4x3_add2::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLinearStiffnessMeasure Ifc4x3_add2::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[609]); } -void Ifc4x3_add2::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLinearVelocityMeasure Ifc4x3_add2::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[616]); } -void Ifc4x3_add2::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLogical Ifc4x3_add2::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[620]); } -void Ifc4x3_add2::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLuminousFluxMeasure Ifc4x3_add2::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[621]); } -void Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[622]); } -void Ifc4x3_add2::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcLuminousIntensityMeasure Ifc4x3_add2::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[623]); } -void Ifc4x3_add2::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMagneticFluxDensityMeasure Ifc4x3_add2::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[624]); } -void Ifc4x3_add2::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMagneticFluxMeasure Ifc4x3_add2::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[633]); } -void Ifc4x3_add2::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMassDensityMeasure Ifc4x3_add2::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[634]); } -void Ifc4x3_add2::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMassFlowRateMeasure Ifc4x3_add2::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[635]); } -void Ifc4x3_add2::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMassMeasure Ifc4x3_add2::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[636]); } -void Ifc4x3_add2::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMassPerLengthMeasure Ifc4x3_add2::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[674]); } -void Ifc4x3_add2::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcModulusOfElasticityMeasure Ifc4x3_add2::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[675]); } -void Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[676]); } -void Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[678]); } -void Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[681]); } -void Ifc4x3_add2::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMoistureDiffusivityMeasure Ifc4x3_add2::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[682]); } -void Ifc4x3_add2::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMolecularWeightMeasure Ifc4x3_add2::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[683]); } -void Ifc4x3_add2::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMomentOfInertiaMeasure Ifc4x3_add2::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[684]); } -void Ifc4x3_add2::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMonetaryMeasure Ifc4x3_add2::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_add2::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[686]); } -void Ifc4x3_add2::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcMonthInYearNumber Ifc4x3_add2::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[697]); } -void Ifc4x3_add2::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcNonNegativeLengthMeasure Ifc4x3_add2::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[698]); } -void Ifc4x3_add2::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcNormalisedRatioMeasure Ifc4x3_add2::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[699]); } -void Ifc4x3_add2::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcNumericMeasure Ifc4x3_add2::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[739]); } -void Ifc4x3_add2::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPHMeasure Ifc4x3_add2::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_add2::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[725]); } -void Ifc4x3_add2::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcParameterValue Ifc4x3_add2::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[758]); } -void Ifc4x3_add2::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPlanarForceMeasure Ifc4x3_add2::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[760]); } -void Ifc4x3_add2::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPlaneAngleMeasure Ifc4x3_add2::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[776]); } -void Ifc4x3_add2::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPositiveInteger Ifc4x3_add2::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[777]); } -void Ifc4x3_add2::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPositiveLengthMeasure Ifc4x3_add2::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[778]); } -void Ifc4x3_add2::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPositivePlaneAngleMeasure Ifc4x3_add2::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[779]); } -void Ifc4x3_add2::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPositiveRatioMeasure Ifc4x3_add2::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[781]); } -void Ifc4x3_add2::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPowerMeasure Ifc4x3_add2::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[789]); } -void Ifc4x3_add2::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPresentableText Ifc4x3_add2::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[794]); } -void Ifc4x3_add2::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcPressureMeasure Ifc4x3_add2::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_add2::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[828]); } -void Ifc4x3_add2::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_add2::IfcPropertySetDefinitionSet Ifc4x3_add2::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_add2::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[852]); } -void Ifc4x3_add2::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcRadioActivityMeasure Ifc4x3_add2::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[869]); } -void Ifc4x3_add2::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcRatioMeasure Ifc4x3_add2::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_add2::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[872]); } -void Ifc4x3_add2::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcReal Ifc4x3_add2::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[975]); } -void Ifc4x3_add2::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcRotationalFrequencyMeasure Ifc4x3_add2::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[976]); } -void Ifc4x3_add2::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcRotationalMassMeasure Ifc4x3_add2::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[977]); } -void Ifc4x3_add2::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcRotationalStiffnessMeasure Ifc4x3_add2::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[991]); } -void Ifc4x3_add2::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSectionModulusMeasure Ifc4x3_add2::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[986]); } -void Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSectionalAreaIntegralMeasure Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1009]); } -void Ifc4x3_add2::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcShearModulusMeasure Ifc4x3_add2::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1035]); } -void Ifc4x3_add2::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSolidAngleMeasure Ifc4x3_add2::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1038]); } -void Ifc4x3_add2::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSoundPowerLevelMeasure Ifc4x3_add2::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1039]); } -void Ifc4x3_add2::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSoundPowerMeasure Ifc4x3_add2::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1040]); } -void Ifc4x3_add2::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSoundPressureLevelMeasure Ifc4x3_add2::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1041]); } -void Ifc4x3_add2::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSoundPressureMeasure Ifc4x3_add2::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1057]); } -void Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSpecificHeatCapacityMeasure Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1058]); } -void Ifc4x3_add2::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSpecularExponent Ifc4x3_add2::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_add2::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1060]); } -void Ifc4x3_add2::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcSpecularRoughness Ifc4x3_add2::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcStrippedOptional const ifcopenshell::type_declaration& Ifc4x3_add2::IfcStrippedOptional::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1074]); } -void Ifc4x3_add2::IfcStrippedOptional::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcStrippedOptional Ifc4x3_add2::IfcStrippedOptional::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcStrippedOptional::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1166]); } -void Ifc4x3_add2::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTemperatureGradientMeasure Ifc4x3_add2::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1167]); } -void Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_add2::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1179]); } -void Ifc4x3_add2::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcText Ifc4x3_add2::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1180]); } -void Ifc4x3_add2::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTextAlignment Ifc4x3_add2::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1181]); } -void Ifc4x3_add2::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTextDecoration Ifc4x3_add2::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1182]); } -void Ifc4x3_add2::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTextFontName Ifc4x3_add2::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1191]); } -void Ifc4x3_add2::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTextTransformation Ifc4x3_add2::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1199]); } -void Ifc4x3_add2::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcThermalAdmittanceMeasure Ifc4x3_add2::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1200]); } -void Ifc4x3_add2::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcThermalConductivityMeasure Ifc4x3_add2::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1201]); } -void Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1202]); } -void Ifc4x3_add2::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcThermalResistanceMeasure Ifc4x3_add2::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1203]); } -void Ifc4x3_add2::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcThermalTransmittanceMeasure Ifc4x3_add2::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1204]); } -void Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcThermodynamicTemperatureMeasure Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1206]); } -void Ifc4x3_add2::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTime Ifc4x3_add2::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1207]); } -void Ifc4x3_add2::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTimeMeasure Ifc4x3_add2::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1213]); } -void Ifc4x3_add2::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTimeStamp Ifc4x3_add2::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1217]); } -void Ifc4x3_add2::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcTorqueMeasure Ifc4x3_add2::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_add2::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1254]); } -void Ifc4x3_add2::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcURIReference Ifc4x3_add2::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1260]); } -void Ifc4x3_add2::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcVaporPermeabilityMeasure Ifc4x3_add2::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1280]); } -void Ifc4x3_add2::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcVolumeMeasure Ifc4x3_add2::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1281]); } -void Ifc4x3_add2::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcVolumetricFlowRateMeasure Ifc4x3_add2::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1286]); } -void Ifc4x3_add2::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcWarpingConstantMeasure Ifc4x3_add2::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_add2::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1287]); } -void Ifc4x3_add2::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcWarpingMomentMeasure Ifc4x3_add2::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWellKnownTextLiteral const ifcopenshell::type_declaration& Ifc4x3_add2::IfcWellKnownTextLiteral::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_ADD2_types[1293]); } -void Ifc4x3_add2::IfcWellKnownTextLiteral::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_add2::IfcWellKnownTextLiteral Ifc4x3_add2::IfcWellKnownTextLiteral::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_add2::IfcWellKnownTextLiteral::operator std::string() const { return get_attribute_value(0); } @@ -7880,7 +7880,7 @@ void Ifc4x3_add2::IfcActionRequest::setLongDescription(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add2::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[2]); } -void Ifc4x3_add2::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_add2::IfcActionRequest Ifc4x3_add2::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_add2::IfcActorSelect Ifc4x3_add2::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcActorSelect>(); } @@ -7889,7 +7889,7 @@ void Ifc4x3_add2::IfcActor::setTheActor(const ::Ifc4x3_add2::IfcActorSelect& v) std::vector<::Ifc4x3_add2::IfcRelAssignsToActor> Ifc4x3_add2::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[901], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[6]); } -void Ifc4x3_add2::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_add2::IfcActor Ifc4x3_add2::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_add2::IfcRoleEnum::Value Ifc4x3_add2::IfcActorRole::Role() const { return ::Ifc4x3_add2::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7902,7 +7902,7 @@ void Ifc4x3_add2::IfcActorRole::setDescription(const std::optional< std::string std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[7]); } -void Ifc4x3_add2::IfcActorRole::initialize(::Ifc4x3_add2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_add2::IfcActorRole Ifc4x3_add2::IfcActorRole::initialize(::Ifc4x3_add2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > Ifc4x3_add2::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7910,7 +7910,7 @@ void Ifc4x3_add2::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[9]); } -void Ifc4x3_add2::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcActuator Ifc4x3_add2::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_add2::IfcActuatorTypeEnum::Value Ifc4x3_add2::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7918,7 +7918,7 @@ void Ifc4x3_add2::IfcActuatorType::setPredefinedType(const ::Ifc4x3_add2::IfcAct const ifcopenshell::entity& Ifc4x3_add2::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[10]); } -void Ifc4x3_add2::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcActuatorType Ifc4x3_add2::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > Ifc4x3_add2::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -7932,13 +7932,13 @@ std::vector<::Ifc4x3_add2::IfcPerson> Ifc4x3_add2::IfcAddress::OfPerson() const std::vector<::Ifc4x3_add2::IfcOrganization> Ifc4x3_add2::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[716], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[12]); } -void Ifc4x3_add2::IfcAddress::initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_add2::IfcAddress Ifc4x3_add2::IfcAddress::initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_add2::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[14]); } -void Ifc4x3_add2::IfcAdvancedBrep::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_add2::IfcAdvancedBrep Ifc4x3_add2::IfcAdvancedBrep::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_add2::IfcClosedShell > Ifc4x3_add2::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcClosedShell>(es); } @@ -7946,13 +7946,13 @@ void Ifc4x3_add2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[15]); } -void Ifc4x3_add2::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_add2::IfcAdvancedBrepWithVoids Ifc4x3_add2::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_add2::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[16]); } -void Ifc4x3_add2::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_add2::IfcAdvancedFace Ifc4x3_add2::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > Ifc4x3_add2::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -7960,7 +7960,7 @@ void Ifc4x3_add2::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[17]); } -void Ifc4x3_add2::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcAirTerminal Ifc4x3_add2::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_add2::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -7968,7 +7968,7 @@ void Ifc4x3_add2::IfcAirTerminalBox::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[18]); } -void Ifc4x3_add2::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcAirTerminalBox Ifc4x3_add2::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -7976,7 +7976,7 @@ void Ifc4x3_add2::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[19]); } -void Ifc4x3_add2::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcAirTerminalBoxType Ifc4x3_add2::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value Ifc4x3_add2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7984,7 +7984,7 @@ void Ifc4x3_add2::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[21]); } -void Ifc4x3_add2::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcAirTerminalType Ifc4x3_add2::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_add2::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -7992,7 +7992,7 @@ void Ifc4x3_add2::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_add2::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[23]); } -void Ifc4x3_add2::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcAirToAirHeatRecovery Ifc4x3_add2::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -8000,7 +8000,7 @@ void Ifc4x3_add2::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[24]); } -void Ifc4x3_add2::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcAirToAirHeatRecoveryType Ifc4x3_add2::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > Ifc4x3_add2::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8008,7 +8008,7 @@ void Ifc4x3_add2::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[26]); } -void Ifc4x3_add2::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcAlarm Ifc4x3_add2::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_add2::IfcAlarmTypeEnum::Value Ifc4x3_add2::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_add2::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8016,7 +8016,7 @@ void Ifc4x3_add2::IfcAlarmType::setPredefinedType(const ::Ifc4x3_add2::IfcAlarmT const ifcopenshell::entity& Ifc4x3_add2::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[27]); } -void Ifc4x3_add2::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcAlarmType Ifc4x3_add2::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > Ifc4x3_add2::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } @@ -8024,7 +8024,7 @@ void Ifc4x3_add2::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[29]); } -void Ifc4x3_add2::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add2::IfcAlignment Ifc4x3_add2::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3_add2::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8032,7 +8032,7 @@ void Ifc4x3_add2::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[30]); } -void Ifc4x3_add2::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance)); } +Ifc4x3_add2::IfcAlignmentCant Ifc4x3_add2::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3_add2::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8052,13 +8052,13 @@ void Ifc4x3_add2::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[31]); } -void Ifc4x3_add2::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_add2::IfcAlignmentCantSegment Ifc4x3_add2::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[33]); } -void Ifc4x3_add2::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcAlignmentHorizontal Ifc4x3_add2::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } @@ -8078,7 +8078,7 @@ void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[34]); } -void Ifc4x3_add2::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_add2::IfcAlignmentHorizontalSegment Ifc4x3_add2::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3_add2::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8088,7 +8088,7 @@ void Ifc4x3_add2::IfcAlignmentParameterSegment::setEndTag(const std::optional< s const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[36]); } -void Ifc4x3_add2::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3_add2::IfcAlignmentParameterSegment Ifc4x3_add2::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3_add2::IfcAlignmentParameterSegment Ifc4x3_add2::IfcAlignmentSegment::DesignParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcAlignmentParameterSegment>(); } @@ -8096,13 +8096,13 @@ void Ifc4x3_add2::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[37]); } -void Ifc4x3_add2::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters)); } +Ifc4x3_add2::IfcAlignmentSegment Ifc4x3_add2::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters));; return *this; } // Function implementations for IfcAlignmentVertical const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[39]); } -void Ifc4x3_add2::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcAlignmentVertical Ifc4x3_add2::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8122,7 +8122,7 @@ void Ifc4x3_add2::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[40]); } -void Ifc4x3_add2::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_add2::IfcAlignmentVerticalSegment Ifc4x3_add2::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > Ifc4x3_add2::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8131,7 +8131,7 @@ void Ifc4x3_add2::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3 std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[926], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[46]); } -void Ifc4x3_add2::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add2::IfcAnnotation Ifc4x3_add2::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -8141,7 +8141,7 @@ void Ifc4x3_add2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[47]); } -void Ifc4x3_add2::IfcAnnotationFillArea::initialize(::Ifc4x3_add2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_add2::IfcAnnotationFillArea Ifc4x3_add2::IfcAnnotationFillArea::initialize(::Ifc4x3_add2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcOrganization>(); } @@ -8155,7 +8155,7 @@ void Ifc4x3_add2::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_add2::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[49]); } -void Ifc4x3_add2::IfcApplication::initialize(::Ifc4x3_add2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_add2::IfcApplication Ifc4x3_add2::IfcApplication::initialize(::Ifc4x3_add2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8182,7 +8182,7 @@ void Ifc4x3_add2::IfcAppliedValue::setComponents(const std::optional< std::vecto std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[50]); } -void Ifc4x3_add2::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_add2::IfcAppliedValue Ifc4x3_add2::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_add2::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8211,7 +8211,7 @@ std::vector<::Ifc4x3_add2::IfcApprovalRelationship> Ifc4x3_add2::IfcApproval::Is std::vector<::Ifc4x3_add2::IfcApprovalRelationship> Ifc4x3_add2::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[53], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[52]); } -void Ifc4x3_add2::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add2::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add2::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcApproval>(); } @@ -8221,7 +8221,7 @@ void Ifc4x3_add2::IfcApprovalRelationship::setRelatedApprovals(const std::vector const ifcopenshell::entity& Ifc4x3_add2::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[53]); } -void Ifc4x3_add2::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add2::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_add2::IfcApprovalRelationship Ifc4x3_add2::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add2::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -8229,7 +8229,7 @@ void Ifc4x3_add2::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[54]); } -void Ifc4x3_add2::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_add2::IfcArbitraryClosedProfileDef Ifc4x3_add2::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } @@ -8237,7 +8237,7 @@ void Ifc4x3_add2::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_add2::IfcB const ifcopenshell::entity& Ifc4x3_add2::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[55]); } -void Ifc4x3_add2::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_add2::IfcArbitraryOpenProfileDef Ifc4x3_add2::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_add2::IfcCurve > Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcCurve>(es); } @@ -8245,7 +8245,7 @@ void Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vec const ifcopenshell::entity& Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[56]); } -void Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add2::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_add2::IfcArbitraryProfileDefWithVoids Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add2::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_add2::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8269,7 +8269,7 @@ void Ifc4x3_add2::IfcAsset::setDepreciatedValue(const ::Ifc4x3_add2::IfcCostValu const ifcopenshell::entity& Ifc4x3_add2::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[62]); } -void Ifc4x3_add2::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add2::IfcCostValue v7_OriginalValue, ::Ifc4x3_add2::IfcCostValue v8_CurrentValue, ::Ifc4x3_add2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add2::IfcActorSelect v10_Owner, ::Ifc4x3_add2::IfcActorSelect v11_User, ::Ifc4x3_add2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add2::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_add2::IfcAsset Ifc4x3_add2::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add2::IfcCostValue v7_OriginalValue, ::Ifc4x3_add2::IfcCostValue v8_CurrentValue, ::Ifc4x3_add2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add2::IfcActorSelect v10_Owner, ::Ifc4x3_add2::IfcActorSelect v11_User, ::Ifc4x3_add2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add2::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8299,7 +8299,7 @@ void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[63]); } -void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_add2::IfcAsymmetricIShapeProfileDef Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_add2::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8307,7 +8307,7 @@ void Ifc4x3_add2::IfcAudioVisualAppliance::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_add2::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[64]); } -void Ifc4x3_add2::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcAudioVisualAppliance Ifc4x3_add2::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8315,7 +8315,7 @@ void Ifc4x3_add2::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[65]); } -void Ifc4x3_add2::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcAudioVisualApplianceType Ifc4x3_add2::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -8323,7 +8323,7 @@ void Ifc4x3_add2::IfcAxis1Placement::setAxis(const ::Ifc4x3_add2::IfcDirection& const ifcopenshell::entity& Ifc4x3_add2::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[67]); } -void Ifc4x3_add2::IfcAxis1Placement::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_add2::IfcAxis1Placement Ifc4x3_add2::IfcAxis1Placement::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -8331,7 +8331,7 @@ void Ifc4x3_add2::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_add2::IfcD const ifcopenshell::entity& Ifc4x3_add2::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[69]); } -void Ifc4x3_add2::IfcAxis2Placement2D::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_add2::IfcAxis2Placement2D Ifc4x3_add2::IfcAxis2Placement2D::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -8341,7 +8341,7 @@ void Ifc4x3_add2::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_add2::IfcD const ifcopenshell::entity& Ifc4x3_add2::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[70]); } -void Ifc4x3_add2::IfcAxis2Placement3D::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcAxis2Placement3D::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -8351,7 +8351,7 @@ void Ifc4x3_add2::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[71]); } -void Ifc4x3_add2::IfcAxis2PlacementLinear::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_add2::IfcAxis2PlacementLinear Ifc4x3_add2::IfcAxis2PlacementLinear::initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_add2::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8367,7 +8367,7 @@ void Ifc4x3_add2::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_add2::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[107]); } -void Ifc4x3_add2::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_add2::IfcBSplineCurve Ifc4x3_add2::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8379,7 +8379,7 @@ void Ifc4x3_add2::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[109]); } -void Ifc4x3_add2::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_add2::IfcBSplineCurveWithKnots Ifc4x3_add2::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_add2::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8399,7 +8399,7 @@ void Ifc4x3_add2::IfcBSplineSurface::setSelfIntersect(const boost::logic::triboo const ifcopenshell::entity& Ifc4x3_add2::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[110]); } -void Ifc4x3_add2::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_add2::IfcBSplineSurface Ifc4x3_add2::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8415,7 +8415,7 @@ void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[112]); } -void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_add2::IfcBSplineSurfaceWithKnots Ifc4x3_add2::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > Ifc4x3_add2::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8423,7 +8423,7 @@ void Ifc4x3_add2::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[72]); } -void Ifc4x3_add2::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcBeam Ifc4x3_add2::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_add2::IfcBeamTypeEnum::Value Ifc4x3_add2::IfcBeamType::PredefinedType() const { return ::Ifc4x3_add2::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8431,7 +8431,7 @@ void Ifc4x3_add2::IfcBeamType::setPredefinedType(const ::Ifc4x3_add2::IfcBeamTyp const ifcopenshell::entity& Ifc4x3_add2::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[73]); } -void Ifc4x3_add2::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcBeamType Ifc4x3_add2::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > Ifc4x3_add2::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8439,7 +8439,7 @@ void Ifc4x3_add2::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[75]); } -void Ifc4x3_add2::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcBearing Ifc4x3_add2::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_add2::IfcBearingTypeEnum::Value Ifc4x3_add2::IfcBearingType::PredefinedType() const { return ::Ifc4x3_add2::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8447,7 +8447,7 @@ void Ifc4x3_add2::IfcBearingType::setPredefinedType(const ::Ifc4x3_add2::IfcBear const ifcopenshell::entity& Ifc4x3_add2::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[76]); } -void Ifc4x3_add2::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcBearingType Ifc4x3_add2::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_add2::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8457,7 +8457,7 @@ void Ifc4x3_add2::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v const ifcopenshell::entity& Ifc4x3_add2::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[81]); } -void Ifc4x3_add2::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_add2::IfcBlobTexture Ifc4x3_add2::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_add2::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8469,7 +8469,7 @@ void Ifc4x3_add2::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_add2::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[82]); } -void Ifc4x3_add2::IfcBlock::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_add2::IfcBlock Ifc4x3_add2::IfcBlock::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > Ifc4x3_add2::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8477,7 +8477,7 @@ void Ifc4x3_add2::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[83]); } -void Ifc4x3_add2::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcBoiler Ifc4x3_add2::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_add2::IfcBoilerTypeEnum::Value Ifc4x3_add2::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_add2::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8485,13 +8485,13 @@ void Ifc4x3_add2::IfcBoilerType::setPredefinedType(const ::Ifc4x3_add2::IfcBoile const ifcopenshell::entity& Ifc4x3_add2::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[84]); } -void Ifc4x3_add2::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcBoilerType Ifc4x3_add2::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_add2::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[87]); } -void Ifc4x3_add2::IfcBooleanClippingResult::initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_add2::IfcBooleanClippingResult Ifc4x3_add2::IfcBooleanClippingResult::initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_add2::IfcBooleanOperator::Value Ifc4x3_add2::IfcBooleanResult::Operator() const { return ::Ifc4x3_add2::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8503,13 +8503,13 @@ void Ifc4x3_add2::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_add2::IfcBoo const ifcopenshell::entity& Ifc4x3_add2::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[90]); } -void Ifc4x3_add2::IfcBooleanResult::initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_add2::IfcBooleanResult Ifc4x3_add2::IfcBooleanResult::initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_add2::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[91]); } -void Ifc4x3_add2::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcBorehole Ifc4x3_add2::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_add2::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8517,13 +8517,13 @@ void Ifc4x3_add2::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[92]); } -void Ifc4x3_add2::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcBoundaryCondition Ifc4x3_add2::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[93]); } -void Ifc4x3_add2::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add2::IfcBoundaryCurve Ifc4x3_add2::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8541,7 +8541,7 @@ void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(cons const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[94]); } -void Ifc4x3_add2::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_add2::IfcBoundaryEdgeCondition Ifc4x3_add2::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(); } @@ -8553,7 +8553,7 @@ void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(con const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[95]); } -void Ifc4x3_add2::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_add2::IfcBoundaryFaceCondition Ifc4x3_add2::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_add2::IfcTranslationalStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(); } @@ -8571,7 +8571,7 @@ void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[96]); } -void Ifc4x3_add2::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_add2::IfcBoundaryNodeCondition Ifc4x3_add2::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_add2::IfcWarpingStiffnessSelect Ifc4x3_add2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcWarpingStiffnessSelect>(); } @@ -8579,19 +8579,19 @@ void Ifc4x3_add2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::I const ifcopenshell::entity& Ifc4x3_add2::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[97]); } -void Ifc4x3_add2::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add2::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_add2::IfcBoundaryNodeConditionWarping Ifc4x3_add2::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add2::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x3_add2::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[98]); } -void Ifc4x3_add2::IfcBoundedCurve::initialize() { } +Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_add2::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[99]); } -void Ifc4x3_add2::IfcBoundedSurface::initialize() { } +Ifc4x3_add2::IfcBoundedSurface Ifc4x3_add2::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } @@ -8605,7 +8605,7 @@ void Ifc4x3_add2::IfcBoundingBox::setZDim(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_add2::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[100]); } -void Ifc4x3_add2::IfcBoundingBox::initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_add2::IfcBoundingBox Ifc4x3_add2::IfcBoundingBox::initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_add2::IfcBoundingBox Ifc4x3_add2::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundingBox>(); } @@ -8613,7 +8613,7 @@ void Ifc4x3_add2::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_add2::IfcBoundi const ifcopenshell::entity& Ifc4x3_add2::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[102]); } -void Ifc4x3_add2::IfcBoxedHalfSpace::initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_add2::IfcBoxedHalfSpace Ifc4x3_add2::IfcBoxedHalfSpace::initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > Ifc4x3_add2::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8621,7 +8621,7 @@ void Ifc4x3_add2::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[103]); } -void Ifc4x3_add2::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcBridge Ifc4x3_add2::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > Ifc4x3_add2::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } @@ -8629,7 +8629,7 @@ void Ifc4x3_add2::IfcBridgePart::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[104]); } -void Ifc4x3_add2::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcBridgePart Ifc4x3_add2::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8641,7 +8641,7 @@ void Ifc4x3_add2::IfcBuilding::setBuildingAddress(const ::Ifc4x3_add2::IfcPostal const ifcopenshell::entity& Ifc4x3_add2::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[113]); } -void Ifc4x3_add2::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add2::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_add2::IfcBuilding Ifc4x3_add2::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add2::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_add2::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8649,7 +8649,7 @@ void Ifc4x3_add2::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[114]); } -void Ifc4x3_add2::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcBuildingElementPart Ifc4x3_add2::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8657,7 +8657,7 @@ void Ifc4x3_add2::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[115]); } -void Ifc4x3_add2::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcBuildingElementPartType Ifc4x3_add2::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_add2::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8665,7 +8665,7 @@ void Ifc4x3_add2::IfcBuildingElementProxy::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_add2::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[117]); } -void Ifc4x3_add2::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcBuildingElementProxy Ifc4x3_add2::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8673,7 +8673,7 @@ void Ifc4x3_add2::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[118]); } -void Ifc4x3_add2::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcBuildingElementProxyType Ifc4x3_add2::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_add2::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8681,7 +8681,7 @@ void Ifc4x3_add2::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add2::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[120]); } -void Ifc4x3_add2::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_add2::IfcBuildingStorey Ifc4x3_add2::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_add2::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8691,19 +8691,19 @@ void Ifc4x3_add2::IfcBuildingSystem::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[121]); } -void Ifc4x3_add2::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_add2::IfcBuildingSystem Ifc4x3_add2::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_add2::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[123]); } -void Ifc4x3_add2::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcBuiltElement Ifc4x3_add2::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_add2::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[124]); } -void Ifc4x3_add2::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcBuiltElementType Ifc4x3_add2::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_add2::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8713,7 +8713,7 @@ void Ifc4x3_add2::IfcBuiltSystem::setLongName(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_add2::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[125]); } -void Ifc4x3_add2::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_add2::IfcBuiltSystem Ifc4x3_add2::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > Ifc4x3_add2::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8721,7 +8721,7 @@ void Ifc4x3_add2::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[127]); } -void Ifc4x3_add2::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcBurner Ifc4x3_add2::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_add2::IfcBurnerTypeEnum::Value Ifc4x3_add2::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_add2::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8729,7 +8729,7 @@ void Ifc4x3_add2::IfcBurnerType::setPredefinedType(const ::Ifc4x3_add2::IfcBurne const ifcopenshell::entity& Ifc4x3_add2::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[128]); } -void Ifc4x3_add2::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcBurnerType Ifc4x3_add2::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_add2::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8745,7 +8745,7 @@ void Ifc4x3_add2::IfcCShapeProfileDef::setInternalFilletRadius(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[265]); } -void Ifc4x3_add2::IfcCShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_add2::IfcCShapeProfileDef Ifc4x3_add2::IfcCShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_add2::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8753,7 +8753,7 @@ void Ifc4x3_add2::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[130]); } -void Ifc4x3_add2::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCableCarrierFitting Ifc4x3_add2::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8761,7 +8761,7 @@ void Ifc4x3_add2::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[131]); } -void Ifc4x3_add2::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCableCarrierFittingType Ifc4x3_add2::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_add2::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8769,7 +8769,7 @@ void Ifc4x3_add2::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[133]); } -void Ifc4x3_add2::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCableCarrierSegment Ifc4x3_add2::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8777,7 +8777,7 @@ void Ifc4x3_add2::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[134]); } -void Ifc4x3_add2::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCableCarrierSegmentType Ifc4x3_add2::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > Ifc4x3_add2::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8785,7 +8785,7 @@ void Ifc4x3_add2::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[136]); } -void Ifc4x3_add2::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCableFitting Ifc4x3_add2::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value Ifc4x3_add2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8793,7 +8793,7 @@ void Ifc4x3_add2::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[137]); } -void Ifc4x3_add2::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCableFittingType Ifc4x3_add2::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > Ifc4x3_add2::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8801,7 +8801,7 @@ void Ifc4x3_add2::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[139]); } -void Ifc4x3_add2::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCableSegment Ifc4x3_add2::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value Ifc4x3_add2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8809,7 +8809,7 @@ void Ifc4x3_add2::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[140]); } -void Ifc4x3_add2::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCableSegmentType Ifc4x3_add2::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_add2::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8817,7 +8817,7 @@ void Ifc4x3_add2::IfcCaissonFoundation::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[142]); } -void Ifc4x3_add2::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCaissonFoundation Ifc4x3_add2::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8825,7 +8825,7 @@ void Ifc4x3_add2::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[143]); } -void Ifc4x3_add2::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCaissonFoundationType Ifc4x3_add2::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_add2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8833,13 +8833,13 @@ void Ifc4x3_add2::IfcCartesianPoint::setCoordinates(const std::vector< double > const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[146]); } -void Ifc4x3_add2::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[147]); } -void Ifc4x3_add2::IfcCartesianPointList::initialize() { } +Ifc4x3_add2::IfcCartesianPointList Ifc4x3_add2::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_add2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8849,7 +8849,7 @@ void Ifc4x3_add2::IfcCartesianPointList2D::setTagList(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[148]); } -void Ifc4x3_add2::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_add2::IfcCartesianPointList2D Ifc4x3_add2::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_add2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8859,7 +8859,7 @@ void Ifc4x3_add2::IfcCartesianPointList3D::setTagList(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[149]); } -void Ifc4x3_add2::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_add2::IfcCartesianPointList3D Ifc4x3_add2::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -8873,13 +8873,13 @@ void Ifc4x3_add2::IfcCartesianTransformationOperator::setScale(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[150]); } -void Ifc4x3_add2::IfcCartesianTransformationOperator::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_add2::IfcCartesianTransformationOperator Ifc4x3_add2::IfcCartesianTransformationOperator::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[151]); } -void Ifc4x3_add2::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_add2::IfcCartesianTransformationOperator2D Ifc4x3_add2::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8887,7 +8887,7 @@ void Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::setScale2(cons const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[152]); } -void Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -8895,7 +8895,7 @@ void Ifc4x3_add2::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[153]); } -void Ifc4x3_add2::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_add2::IfcCartesianTransformationOperator3D Ifc4x3_add2::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8905,7 +8905,7 @@ void Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::setScale3(cons const ifcopenshell::entity& Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[154]); } -void Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_add2::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8913,7 +8913,7 @@ void Ifc4x3_add2::IfcCenterLineProfileDef::setThickness(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[155]); } -void Ifc4x3_add2::IfcCenterLineProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_add2::IfcCenterLineProfileDef Ifc4x3_add2::IfcCenterLineProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > Ifc4x3_add2::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -8921,7 +8921,7 @@ void Ifc4x3_add2::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[157]); } -void Ifc4x3_add2::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcChiller Ifc4x3_add2::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_add2::IfcChillerTypeEnum::Value Ifc4x3_add2::IfcChillerType::PredefinedType() const { return ::Ifc4x3_add2::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -8929,7 +8929,7 @@ void Ifc4x3_add2::IfcChillerType::setPredefinedType(const ::Ifc4x3_add2::IfcChil const ifcopenshell::entity& Ifc4x3_add2::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[158]); } -void Ifc4x3_add2::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcChillerType Ifc4x3_add2::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > Ifc4x3_add2::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -8937,7 +8937,7 @@ void Ifc4x3_add2::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[160]); } -void Ifc4x3_add2::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcChimney Ifc4x3_add2::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_add2::IfcChimneyTypeEnum::Value Ifc4x3_add2::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_add2::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -8945,7 +8945,7 @@ void Ifc4x3_add2::IfcChimneyType::setPredefinedType(const ::Ifc4x3_add2::IfcChim const ifcopenshell::entity& Ifc4x3_add2::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[161]); } -void Ifc4x3_add2::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcChimneyType Ifc4x3_add2::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_add2::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -8953,7 +8953,7 @@ void Ifc4x3_add2::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_add2::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[163]); } -void Ifc4x3_add2::IfcCircle::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add2::IfcCircle Ifc4x3_add2::IfcCircle::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_add2::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -8961,7 +8961,7 @@ void Ifc4x3_add2::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[164]); } -void Ifc4x3_add2::IfcCircleHollowProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_add2::IfcCircleHollowProfileDef Ifc4x3_add2::IfcCircleHollowProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_add2::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -8969,19 +8969,19 @@ void Ifc4x3_add2::IfcCircleProfileDef::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add2::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[165]); } -void Ifc4x3_add2::IfcCircleProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_add2::IfcCircleProfileDef Ifc4x3_add2::IfcCircleProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_add2::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[166]); } -void Ifc4x3_add2::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcCivilElement Ifc4x3_add2::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_add2::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[167]); } -void Ifc4x3_add2::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcCivilElementType Ifc4x3_add2::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_add2::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9003,7 +9003,7 @@ std::vector<::Ifc4x3_add2::IfcRelAssociatesClassification> Ifc4x3_add2::IfcClass std::vector<::Ifc4x3_add2::IfcClassificationReference> Ifc4x3_add2::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[169], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[168]); } -void Ifc4x3_add2::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_add2::IfcClassification Ifc4x3_add2::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_add2::IfcClassificationReferenceSelect Ifc4x3_add2::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcClassificationReferenceSelect>(); } @@ -9017,13 +9017,13 @@ std::vector<::Ifc4x3_add2::IfcRelAssociatesClassification> Ifc4x3_add2::IfcClass std::vector<::Ifc4x3_add2::IfcClassificationReference> Ifc4x3_add2::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[169], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[169]); } -void Ifc4x3_add2::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_add2::IfcClassificationReference Ifc4x3_add2::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_add2::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[172]); } -void Ifc4x3_add2::IfcClosedShell::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_add2::IfcClosedShell Ifc4x3_add2::IfcClosedShell::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid double Ifc4x3_add2::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } @@ -9031,7 +9031,7 @@ void Ifc4x3_add2::IfcClothoid::setClothoidConstant(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_add2::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[173]); } -void Ifc4x3_add2::IfcClothoid::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3_add2::IfcClothoid Ifc4x3_add2::IfcClothoid::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > Ifc4x3_add2::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9039,7 +9039,7 @@ void Ifc4x3_add2::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[174]); } -void Ifc4x3_add2::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCoil Ifc4x3_add2::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_add2::IfcCoilTypeEnum::Value Ifc4x3_add2::IfcCoilType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9047,7 +9047,7 @@ void Ifc4x3_add2::IfcCoilType::setPredefinedType(const ::Ifc4x3_add2::IfcCoilTyp const ifcopenshell::entity& Ifc4x3_add2::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[175]); } -void Ifc4x3_add2::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCoilType Ifc4x3_add2::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_add2::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9059,7 +9059,7 @@ void Ifc4x3_add2::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3 const ifcopenshell::entity& Ifc4x3_add2::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[179]); } -void Ifc4x3_add2::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_add2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9067,7 +9067,7 @@ void Ifc4x3_add2::IfcColourRgbList::setColourList(const std::vector< std::vector const ifcopenshell::entity& Ifc4x3_add2::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[180]); } -void Ifc4x3_add2::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_add2::IfcColourRgbList Ifc4x3_add2::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_add2::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9075,7 +9075,7 @@ void Ifc4x3_add2::IfcColourSpecification::setName(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_add2::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[181]); } -void Ifc4x3_add2::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcColourSpecification Ifc4x3_add2::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > Ifc4x3_add2::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9083,7 +9083,7 @@ void Ifc4x3_add2::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[182]); } -void Ifc4x3_add2::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcColumn Ifc4x3_add2::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_add2::IfcColumnTypeEnum::Value Ifc4x3_add2::IfcColumnType::PredefinedType() const { return ::Ifc4x3_add2::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9091,7 +9091,7 @@ void Ifc4x3_add2::IfcColumnType::setPredefinedType(const ::Ifc4x3_add2::IfcColum const ifcopenshell::entity& Ifc4x3_add2::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[183]); } -void Ifc4x3_add2::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcColumnType Ifc4x3_add2::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_add2::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9099,7 +9099,7 @@ void Ifc4x3_add2::IfcCommunicationsAppliance::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x3_add2::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[185]); } -void Ifc4x3_add2::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCommunicationsAppliance Ifc4x3_add2::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9107,7 +9107,7 @@ void Ifc4x3_add2::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[186]); } -void Ifc4x3_add2::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCommunicationsApplianceType Ifc4x3_add2::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_add2::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9117,7 +9117,7 @@ void Ifc4x3_add2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[189]); } -void Ifc4x3_add2::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add2::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_add2::IfcComplexProperty Ifc4x3_add2::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add2::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_add2::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9129,7 +9129,7 @@ void Ifc4x3_add2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std: const ifcopenshell::entity& Ifc4x3_add2::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[190]); } -void Ifc4x3_add2::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_add2::IfcComplexPropertyTemplate Ifc4x3_add2::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_add2::IfcSegment > Ifc4x3_add2::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcSegment>(es); } @@ -9139,13 +9139,13 @@ void Ifc4x3_add2::IfcCompositeCurve::setSelfIntersect(const boost::logic::triboo const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[192]); } -void Ifc4x3_add2::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add2::IfcCompositeCurve Ifc4x3_add2::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[193]); } -void Ifc4x3_add2::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add2::IfcCompositeCurveOnSurface Ifc4x3_add2::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_add2::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9155,7 +9155,7 @@ void Ifc4x3_add2::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[194]); } -void Ifc4x3_add2::IfcCompositeCurveSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_add2::IfcCompositeCurveSegment Ifc4x3_add2::IfcCompositeCurveSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_add2::IfcProfileDef > Ifc4x3_add2::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcProfileDef>(es); } @@ -9165,7 +9165,7 @@ void Ifc4x3_add2::IfcCompositeProfileDef::setLabel(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_add2::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[195]); } -void Ifc4x3_add2::IfcCompositeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_add2::IfcCompositeProfileDef Ifc4x3_add2::IfcCompositeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > Ifc4x3_add2::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9173,7 +9173,7 @@ void Ifc4x3_add2::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[197]); } -void Ifc4x3_add2::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCompressor Ifc4x3_add2::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_add2::IfcCompressorTypeEnum::Value Ifc4x3_add2::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_add2::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9181,7 +9181,7 @@ void Ifc4x3_add2::IfcCompressorType::setPredefinedType(const ::Ifc4x3_add2::IfcC const ifcopenshell::entity& Ifc4x3_add2::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[198]); } -void Ifc4x3_add2::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCompressorType Ifc4x3_add2::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > Ifc4x3_add2::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9189,7 +9189,7 @@ void Ifc4x3_add2::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[200]); } -void Ifc4x3_add2::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCondenser Ifc4x3_add2::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_add2::IfcCondenserTypeEnum::Value Ifc4x3_add2::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_add2::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9197,7 +9197,7 @@ void Ifc4x3_add2::IfcCondenserType::setPredefinedType(const ::Ifc4x3_add2::IfcCo const ifcopenshell::entity& Ifc4x3_add2::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[201]); } -void Ifc4x3_add2::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCondenserType Ifc4x3_add2::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } @@ -9205,7 +9205,7 @@ void Ifc4x3_add2::IfcConic::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement& const ifcopenshell::entity& Ifc4x3_add2::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[203]); } -void Ifc4x3_add2::IfcConic::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add2::IfcConic Ifc4x3_add2::IfcConic::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_add2::IfcFace > Ifc4x3_add2::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcFace>(es); } @@ -9213,7 +9213,7 @@ void Ifc4x3_add2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[204]); } -void Ifc4x3_add2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_add2::IfcConnectedFaceSet Ifc4x3_add2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_add2::IfcCurveOrEdgeCurve Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(); } @@ -9223,13 +9223,13 @@ void Ifc4x3_add2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::I const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[205]); } -void Ifc4x3_add2::IfcConnectionCurveGeometry::initialize(::Ifc4x3_add2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_add2::IfcConnectionCurveGeometry Ifc4x3_add2::IfcConnectionCurveGeometry::initialize(::Ifc4x3_add2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[206]); } -void Ifc4x3_add2::IfcConnectionGeometry::initialize() { } +Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9241,7 +9241,7 @@ void Ifc4x3_add2::IfcConnectionPointEccentricity::setEccentricityInZ(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[207]); } -void Ifc4x3_add2::IfcConnectionPointEccentricity::initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_add2::IfcConnectionPointEccentricity Ifc4x3_add2::IfcConnectionPointEccentricity::initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_add2::IfcPointOrVertexPoint Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPointOrVertexPoint>(); } @@ -9251,7 +9251,7 @@ void Ifc4x3_add2::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::I const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[208]); } -void Ifc4x3_add2::IfcConnectionPointGeometry::initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_add2::IfcConnectionPointGeometry Ifc4x3_add2::IfcConnectionPointGeometry::initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_add2::IfcSurfaceOrFaceSurface Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(); } @@ -9261,7 +9261,7 @@ void Ifc4x3_add2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[209]); } -void Ifc4x3_add2::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_add2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_add2::IfcConnectionSurfaceGeometry Ifc4x3_add2::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_add2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_add2::IfcSolidOrShell Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSolidOrShell>(); } @@ -9271,7 +9271,7 @@ void Ifc4x3_add2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const : const ifcopenshell::entity& Ifc4x3_add2::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[211]); } -void Ifc4x3_add2::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_add2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add2::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_add2::IfcConnectionVolumeGeometry Ifc4x3_add2::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_add2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add2::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_add2::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9293,7 +9293,7 @@ std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcCon std::vector<::Ifc4x3_add2::IfcResourceConstraintRelationship> Ifc4x3_add2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[956], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[212]); } -void Ifc4x3_add2::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_add2::IfcConstraint Ifc4x3_add2::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9301,7 +9301,7 @@ void Ifc4x3_add2::IfcConstructionEquipmentResource::setPredefinedType(const std: const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[214]); } -void Ifc4x3_add2::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcConstructionEquipmentResource Ifc4x3_add2::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9309,7 +9309,7 @@ void Ifc4x3_add2::IfcConstructionEquipmentResourceType::setPredefinedType(const const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[215]); } -void Ifc4x3_add2::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcConstructionEquipmentResourceType Ifc4x3_add2::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9317,7 +9317,7 @@ void Ifc4x3_add2::IfcConstructionMaterialResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[217]); } -void Ifc4x3_add2::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcConstructionMaterialResource Ifc4x3_add2::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9325,7 +9325,7 @@ void Ifc4x3_add2::IfcConstructionMaterialResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[218]); } -void Ifc4x3_add2::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcConstructionMaterialResourceType Ifc4x3_add2::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9333,7 +9333,7 @@ void Ifc4x3_add2::IfcConstructionProductResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[220]); } -void Ifc4x3_add2::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcConstructionProductResource Ifc4x3_add2::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9341,7 +9341,7 @@ void Ifc4x3_add2::IfcConstructionProductResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[221]); } -void Ifc4x3_add2::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcConstructionProductResourceType Ifc4x3_add2::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_add2::IfcResourceTime Ifc4x3_add2::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcResourceTime>(); } @@ -9353,7 +9353,7 @@ void Ifc4x3_add2::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[223]); } -void Ifc4x3_add2::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_add2::IfcConstructionResource Ifc4x3_add2::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > Ifc4x3_add2::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_add2::IfcAppliedValue>(es); } @@ -9363,7 +9363,7 @@ void Ifc4x3_add2::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[224]); } -void Ifc4x3_add2::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_add2::IfcConstructionResourceType Ifc4x3_add2::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_add2::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9381,7 +9381,7 @@ std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcContext::I std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[929], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[225]); } -void Ifc4x3_add2::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_add2::IfcContext Ifc4x3_add2::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_add2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9390,7 +9390,7 @@ void Ifc4x3_add2::IfcContextDependentUnit::setName(const std::string& v) { set_a std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[227]); } -void Ifc4x3_add2::IfcContextDependentUnit::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_add2::IfcContextDependentUnit Ifc4x3_add2::IfcContextDependentUnit::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_add2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9399,7 +9399,7 @@ void Ifc4x3_add2::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_add2::IfcRelAssignsToControl> Ifc4x3_add2::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[902], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[228]); } -void Ifc4x3_add2::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_add2::IfcControl Ifc4x3_add2::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > Ifc4x3_add2::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9407,7 +9407,7 @@ void Ifc4x3_add2::IfcController::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[229]); } -void Ifc4x3_add2::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcController Ifc4x3_add2::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_add2::IfcControllerTypeEnum::Value Ifc4x3_add2::IfcControllerType::PredefinedType() const { return ::Ifc4x3_add2::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9415,7 +9415,7 @@ void Ifc4x3_add2::IfcControllerType::setPredefinedType(const ::Ifc4x3_add2::IfcC const ifcopenshell::entity& Ifc4x3_add2::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[230]); } -void Ifc4x3_add2::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcControllerType Ifc4x3_add2::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_add2::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9426,7 +9426,7 @@ void Ifc4x3_add2::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_add std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[232]); } -void Ifc4x3_add2::IfcConversionBasedUnit::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_add2::IfcConversionBasedUnit Ifc4x3_add2::IfcConversionBasedUnit::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_add2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9434,7 +9434,7 @@ void Ifc4x3_add2::IfcConversionBasedUnitWithOffset::setConversionOffset(const do const ifcopenshell::entity& Ifc4x3_add2::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[233]); } -void Ifc4x3_add2::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_add2::IfcConversionBasedUnitWithOffset Ifc4x3_add2::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_add2::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9442,7 +9442,7 @@ void Ifc4x3_add2::IfcConveyorSegment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[234]); } -void Ifc4x3_add2::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcConveyorSegment Ifc4x3_add2::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add2::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9450,7 +9450,7 @@ void Ifc4x3_add2::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[235]); } -void Ifc4x3_add2::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcConveyorSegmentType Ifc4x3_add2::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > Ifc4x3_add2::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9458,7 +9458,7 @@ void Ifc4x3_add2::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[237]); } -void Ifc4x3_add2::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCooledBeam Ifc4x3_add2::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value Ifc4x3_add2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_add2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9466,7 +9466,7 @@ void Ifc4x3_add2::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_add2::IfcC const ifcopenshell::entity& Ifc4x3_add2::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[238]); } -void Ifc4x3_add2::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCooledBeamType Ifc4x3_add2::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_add2::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9474,7 +9474,7 @@ void Ifc4x3_add2::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[240]); } -void Ifc4x3_add2::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCoolingTower Ifc4x3_add2::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value Ifc4x3_add2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9482,7 +9482,7 @@ void Ifc4x3_add2::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[241]); } -void Ifc4x3_add2::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCoolingTowerType Ifc4x3_add2::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect Ifc4x3_add2::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect>(); } @@ -9492,7 +9492,7 @@ void Ifc4x3_add2::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_add2::IfcC const ifcopenshell::entity& Ifc4x3_add2::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[243]); } -void Ifc4x3_add2::IfcCoordinateOperation::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_add2::IfcCoordinateOperation Ifc4x3_add2::IfcCoordinateOperation::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9506,7 +9506,7 @@ std::vector<::Ifc4x3_add2::IfcCoordinateOperation> Ifc4x3_add2::IfcCoordinateRef std::vector<::Ifc4x3_add2::IfcWellKnownText> Ifc4x3_add2::IfcCoordinateReferenceSystem::WellKnownText() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1292], 1)); } const ifcopenshell::entity& Ifc4x3_add2::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[244]); } -void Ifc4x3_add2::IfcCoordinateReferenceSystem::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } } +Ifc4x3_add2::IfcCoordinateReferenceSystem Ifc4x3_add2::IfcCoordinateReferenceSystem::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); }; return *this; } // Function implementations for IfcCosineSpiral double Ifc4x3_add2::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } @@ -9516,7 +9516,7 @@ void Ifc4x3_add2::IfcCosineSpiral::setConstantTerm(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add2::IfcCosineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[246]); } -void Ifc4x3_add2::IfcCosineSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); } } +Ifc4x3_add2::IfcCosineSpiral Ifc4x3_add2::IfcCosineSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > Ifc4x3_add2::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9528,7 +9528,7 @@ void Ifc4x3_add2::IfcCostItem::setCostQuantities(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_add2::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[247]); } -void Ifc4x3_add2::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_add2::IfcCostItem Ifc4x3_add2::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > Ifc4x3_add2::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9542,13 +9542,13 @@ void Ifc4x3_add2::IfcCostSchedule::setUpdateDate(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[249]); } -void Ifc4x3_add2::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_add2::IfcCostSchedule Ifc4x3_add2::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_add2::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[251]); } -void Ifc4x3_add2::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_add2::IfcCostValue Ifc4x3_add2::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > Ifc4x3_add2::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9556,7 +9556,7 @@ void Ifc4x3_add2::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[253]); } -void Ifc4x3_add2::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCourse Ifc4x3_add2::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_add2::IfcCourseTypeEnum::Value Ifc4x3_add2::IfcCourseType::PredefinedType() const { return ::Ifc4x3_add2::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9564,7 +9564,7 @@ void Ifc4x3_add2::IfcCourseType::setPredefinedType(const ::Ifc4x3_add2::IfcCours const ifcopenshell::entity& Ifc4x3_add2::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[254]); } -void Ifc4x3_add2::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCourseType Ifc4x3_add2::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > Ifc4x3_add2::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9574,7 +9574,7 @@ std::vector<::Ifc4x3_add2::IfcRelCoversSpaces> Ifc4x3_add2::IfcCovering::CoversS std::vector<::Ifc4x3_add2::IfcRelCoversBldgElements> Ifc4x3_add2::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[927], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[256]); } -void Ifc4x3_add2::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCovering Ifc4x3_add2::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_add2::IfcCoveringTypeEnum::Value Ifc4x3_add2::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9582,7 +9582,7 @@ void Ifc4x3_add2::IfcCoveringType::setPredefinedType(const ::Ifc4x3_add2::IfcCov const ifcopenshell::entity& Ifc4x3_add2::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[257]); } -void Ifc4x3_add2::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCoveringType Ifc4x3_add2::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > Ifc4x3_add2::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9590,7 +9590,7 @@ void Ifc4x3_add2::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[259]); } -void Ifc4x3_add2::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcCrewResource Ifc4x3_add2::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value Ifc4x3_add2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9598,7 +9598,7 @@ void Ifc4x3_add2::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[260]); } -void Ifc4x3_add2::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcCrewResourceType Ifc4x3_add2::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } @@ -9606,7 +9606,7 @@ void Ifc4x3_add2::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_add2::IfcAxis2Pl const ifcopenshell::entity& Ifc4x3_add2::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[262]); } -void Ifc4x3_add2::IfcCsgPrimitive3D::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add2::IfcCsgPrimitive3D Ifc4x3_add2::IfcCsgPrimitive3D::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_add2::IfcCsgSelect Ifc4x3_add2::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCsgSelect>(); } @@ -9614,7 +9614,7 @@ void Ifc4x3_add2::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_add2::IfcCsg const ifcopenshell::entity& Ifc4x3_add2::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[264]); } -void Ifc4x3_add2::IfcCsgSolid::initialize(::Ifc4x3_add2::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_add2::IfcCsgSolid Ifc4x3_add2::IfcCsgSolid::initialize(::Ifc4x3_add2::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_add2::IfcMonetaryUnit Ifc4x3_add2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMonetaryUnit>(); } @@ -9630,7 +9630,7 @@ void Ifc4x3_add2::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[266]); } -void Ifc4x3_add2::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add2::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_add2::IfcCurrencyRelationship Ifc4x3_add2::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add2::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > Ifc4x3_add2::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9638,7 +9638,7 @@ void Ifc4x3_add2::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[267]); } -void Ifc4x3_add2::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcCurtainWall Ifc4x3_add2::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value Ifc4x3_add2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_add2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9646,13 +9646,13 @@ void Ifc4x3_add2::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[268]); } -void Ifc4x3_add2::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcCurtainWallType Ifc4x3_add2::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_add2::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[271]); } -void Ifc4x3_add2::IfcCurve::initialize() { } +Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_add2::IfcPlane Ifc4x3_add2::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPlane>(); } @@ -9664,7 +9664,7 @@ void Ifc4x3_add2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< :: const ifcopenshell::entity& Ifc4x3_add2::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[272]); } -void Ifc4x3_add2::IfcCurveBoundedPlane::initialize(::Ifc4x3_add2::IfcPlane v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add2::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_add2::IfcCurveBoundedPlane Ifc4x3_add2::IfcCurveBoundedPlane::initialize(::Ifc4x3_add2::IfcPlane v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add2::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -9676,7 +9676,7 @@ void Ifc4x3_add2::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_ const ifcopenshell::entity& Ifc4x3_add2::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[273]); } -void Ifc4x3_add2::IfcCurveBoundedSurface::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_add2::IfcCurveBoundedSurface Ifc4x3_add2::IfcCurveBoundedSurface::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcCurveSegment::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcPlacement>(); } @@ -9690,7 +9690,7 @@ void Ifc4x3_add2::IfcCurveSegment::setParentCurve(const ::Ifc4x3_add2::IfcCurve& const ifcopenshell::entity& Ifc4x3_add2::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[279]); } -void Ifc4x3_add2::IfcCurveSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add2::IfcPlacement v2_Placement, ::Ifc4x3_add2::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add2::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve)); } +Ifc4x3_add2::IfcCurveSegment Ifc4x3_add2::IfcCurveSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add2::IfcPlacement v2_Placement, ::Ifc4x3_add2::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add2::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_add2::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9704,7 +9704,7 @@ void Ifc4x3_add2::IfcCurveStyle::setModelOrDraughting(const std::optional< bool const ifcopenshell::entity& Ifc4x3_add2::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[280]); } -void Ifc4x3_add2::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_add2::IfcCurveStyle Ifc4x3_add2::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_add2::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9714,7 +9714,7 @@ void Ifc4x3_add2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[281]); } -void Ifc4x3_add2::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_add2::IfcCurveStyleFont Ifc4x3_add2::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_add2::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9726,7 +9726,7 @@ void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_add2::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[282]); } -void Ifc4x3_add2::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_add2::IfcCurveStyleFontAndScaling Ifc4x3_add2::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_add2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9736,7 +9736,7 @@ void Ifc4x3_add2::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doub const ifcopenshell::entity& Ifc4x3_add2::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[283]); } -void Ifc4x3_add2::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_add2::IfcCurveStyleFontPattern Ifc4x3_add2::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_add2::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9744,7 +9744,7 @@ void Ifc4x3_add2::IfcCylindricalSurface::setRadius(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_add2::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[285]); } -void Ifc4x3_add2::IfcCylindricalSurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add2::IfcCylindricalSurface Ifc4x3_add2::IfcCylindricalSurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > Ifc4x3_add2::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9752,7 +9752,7 @@ void Ifc4x3_add2::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[286]); } -void Ifc4x3_add2::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDamper Ifc4x3_add2::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_add2::IfcDamperTypeEnum::Value Ifc4x3_add2::IfcDamperType::PredefinedType() const { return ::Ifc4x3_add2::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9760,19 +9760,19 @@ void Ifc4x3_add2::IfcDamperType::setPredefinedType(const ::Ifc4x3_add2::IfcDampe const ifcopenshell::entity& Ifc4x3_add2::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[287]); } -void Ifc4x3_add2::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDamperType Ifc4x3_add2::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_add2::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[294]); } -void Ifc4x3_add2::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcDeepFoundation Ifc4x3_add2::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_add2::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[295]); } -void Ifc4x3_add2::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcDeepFoundationType Ifc4x3_add2::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -9784,7 +9784,7 @@ void Ifc4x3_add2::IfcDerivedProfileDef::setLabel(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[298]); } -void Ifc4x3_add2::IfcDerivedProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_add2::IfcDerivedProfileDef Ifc4x3_add2::IfcDerivedProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > Ifc4x3_add2::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcDerivedUnitElement>(es); } @@ -9798,7 +9798,7 @@ void Ifc4x3_add2::IfcDerivedUnit::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_add2::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[299]); } -void Ifc4x3_add2::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } } +Ifc4x3_add2::IfcDerivedUnit Ifc4x3_add2::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcNamedUnit>(); } @@ -9808,7 +9808,7 @@ void Ifc4x3_add2::IfcDerivedUnitElement::setExponent(const int& v) { set_attribu const ifcopenshell::entity& Ifc4x3_add2::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[300]); } -void Ifc4x3_add2::IfcDerivedUnitElement::initialize(::Ifc4x3_add2::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_add2::IfcDerivedUnitElement Ifc4x3_add2::IfcDerivedUnitElement::initialize(::Ifc4x3_add2::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_add2::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9828,7 +9828,7 @@ void Ifc4x3_add2::IfcDimensionalExponents::setLuminousIntensityExponent(const in const ifcopenshell::entity& Ifc4x3_add2::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[303]); } -void Ifc4x3_add2::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_add2::IfcDimensionalExponents Ifc4x3_add2::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_add2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9836,7 +9836,7 @@ void Ifc4x3_add2::IfcDirection::setDirectionRatios(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_add2::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[305]); } -void Ifc4x3_add2::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -9848,13 +9848,13 @@ void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[307]); } -void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid const ifcopenshell::entity& Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[308]); } -void Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_add2::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9862,7 +9862,7 @@ void Ifc4x3_add2::IfcDiscreteAccessory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[309]); } -void Ifc4x3_add2::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDiscreteAccessory Ifc4x3_add2::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9870,7 +9870,7 @@ void Ifc4x3_add2::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[310]); } -void Ifc4x3_add2::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDiscreteAccessoryType Ifc4x3_add2::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_add2::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9878,7 +9878,7 @@ void Ifc4x3_add2::IfcDistributionBoard::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[312]); } -void Ifc4x3_add2::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDistributionBoard Ifc4x3_add2::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9886,7 +9886,7 @@ void Ifc4x3_add2::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[313]); } -void Ifc4x3_add2::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDistributionBoardType Ifc4x3_add2::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_add2::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9894,7 +9894,7 @@ void Ifc4x3_add2::IfcDistributionChamberElement::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[315]); } -void Ifc4x3_add2::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDistributionChamberElement Ifc4x3_add2::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9902,52 +9902,52 @@ void Ifc4x3_add2::IfcDistributionChamberElementType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[316]); } -void Ifc4x3_add2::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDistributionChamberElementType Ifc4x3_add2::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[318]); } -void Ifc4x3_add2::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_add2::IfcDistributionCircuit Ifc4x3_add2::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_add2::IfcRelFlowControlElements> Ifc4x3_add2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[937], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[319]); } -void Ifc4x3_add2::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcDistributionControlElement Ifc4x3_add2::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[320]); } -void Ifc4x3_add2::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcDistributionControlElementType Ifc4x3_add2::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_add2::IfcRelConnectsPortToElement> Ifc4x3_add2::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[921], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[321]); } -void Ifc4x3_add2::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcDistributionElement Ifc4x3_add2::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[322]); } -void Ifc4x3_add2::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcDistributionElementType Ifc4x3_add2::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_add2::IfcRelFlowControlElements> Ifc4x3_add2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[937], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[323]); } -void Ifc4x3_add2::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcDistributionFlowElement Ifc4x3_add2::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[324]); } -void Ifc4x3_add2::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcDistributionFlowElementType Ifc4x3_add2::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > Ifc4x3_add2::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -9959,7 +9959,7 @@ void Ifc4x3_add2::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[325]); } -void Ifc4x3_add2::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_add2::IfcDistributionPort Ifc4x3_add2::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_add2::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9969,7 +9969,7 @@ void Ifc4x3_add2::IfcDistributionSystem::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[327]); } -void Ifc4x3_add2::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_add2::IfcDistributionSystem Ifc4x3_add2::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_add2::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10013,7 +10013,7 @@ std::vector<::Ifc4x3_add2::IfcDocumentInformationRelationship> Ifc4x3_add2::IfcD std::vector<::Ifc4x3_add2::IfcDocumentInformationRelationship> Ifc4x3_add2::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[331], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[330]); } -void Ifc4x3_add2::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_add2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_add2::IfcDocumentInformation Ifc4x3_add2::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_add2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_add2::IfcDocumentInformation Ifc4x3_add2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDocumentInformation>(); } @@ -10025,7 +10025,7 @@ void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelationshipType(const const ifcopenshell::entity& Ifc4x3_add2::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[331]); } -void Ifc4x3_add2::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_add2::IfcDocumentInformationRelationship Ifc4x3_add2::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_add2::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10036,7 +10036,7 @@ void Ifc4x3_add2::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_add std::vector<::Ifc4x3_add2::IfcRelAssociatesDocument> Ifc4x3_add2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[912], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[332]); } -void Ifc4x3_add2::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_add2::IfcDocumentReference Ifc4x3_add2::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_add2::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10052,7 +10052,7 @@ void Ifc4x3_add2::IfcDoor::setUserDefinedOperationType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add2::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[335]); } -void Ifc4x3_add2::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_add2::IfcDoor Ifc4x3_add2::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10084,7 +10084,7 @@ void Ifc4x3_add2::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[336]); } -void Ifc4x3_add2::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_add2::IfcDoorLiningProperties Ifc4x3_add2::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_add2::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10100,7 +10100,7 @@ void Ifc4x3_add2::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[339]); } -void Ifc4x3_add2::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_add2::IfcDoorPanelProperties Ifc4x3_add2::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_add2::IfcDoorTypeEnum::Value Ifc4x3_add2::IfcDoorType::PredefinedType() const { return ::Ifc4x3_add2::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10114,19 +10114,19 @@ void Ifc4x3_add2::IfcDoorType::setUserDefinedOperationType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[340]); } -void Ifc4x3_add2::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_add2::IfcDoorType Ifc4x3_add2::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_add2::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[344]); } -void Ifc4x3_add2::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add2::IfcDraughtingPreDefinedColour Ifc4x3_add2::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[345]); } -void Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > Ifc4x3_add2::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10134,7 +10134,7 @@ void Ifc4x3_add2::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[346]); } -void Ifc4x3_add2::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDuctFitting Ifc4x3_add2::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value Ifc4x3_add2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10142,7 +10142,7 @@ void Ifc4x3_add2::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[347]); } -void Ifc4x3_add2::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDuctFittingType Ifc4x3_add2::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_add2::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10150,7 +10150,7 @@ void Ifc4x3_add2::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[349]); } -void Ifc4x3_add2::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDuctSegment Ifc4x3_add2::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value Ifc4x3_add2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10158,7 +10158,7 @@ void Ifc4x3_add2::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[350]); } -void Ifc4x3_add2::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDuctSegmentType Ifc4x3_add2::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_add2::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10166,7 +10166,7 @@ void Ifc4x3_add2::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[352]); } -void Ifc4x3_add2::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcDuctSilencer Ifc4x3_add2::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value Ifc4x3_add2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10174,7 +10174,7 @@ void Ifc4x3_add2::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[353]); } -void Ifc4x3_add2::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcDuctSilencerType Ifc4x3_add2::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_add2::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10182,13 +10182,13 @@ void Ifc4x3_add2::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[357]); } -void Ifc4x3_add2::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcEarthworksCut Ifc4x3_add2::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_add2::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[359]); } -void Ifc4x3_add2::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcEarthworksElement Ifc4x3_add2::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_add2::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10196,7 +10196,7 @@ void Ifc4x3_add2::IfcEarthworksFill::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[360]); } -void Ifc4x3_add2::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcEarthworksFill Ifc4x3_add2::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcVertex>(); } @@ -10206,7 +10206,7 @@ void Ifc4x3_add2::IfcEdge::setEdgeEnd(const ::Ifc4x3_add2::IfcVertex& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[362]); } -void Ifc4x3_add2::IfcEdge::initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_add2::IfcEdge Ifc4x3_add2::IfcEdge::initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -10216,7 +10216,7 @@ void Ifc4x3_add2::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_add2::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[363]); } -void Ifc4x3_add2::IfcEdgeCurve::initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_add2::IfcEdgeCurve Ifc4x3_add2::IfcEdgeCurve::initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_add2::IfcOrientedEdge > Ifc4x3_add2::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcOrientedEdge>(es); } @@ -10224,7 +10224,7 @@ void Ifc4x3_add2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[364]); } -void Ifc4x3_add2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_add2::IfcEdgeLoop Ifc4x3_add2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_add2::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10232,7 +10232,7 @@ void Ifc4x3_add2::IfcElectricAppliance::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[365]); } -void Ifc4x3_add2::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricAppliance Ifc4x3_add2::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value Ifc4x3_add2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10240,7 +10240,7 @@ void Ifc4x3_add2::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[366]); } -void Ifc4x3_add2::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricApplianceType Ifc4x3_add2::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_add2::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10248,7 +10248,7 @@ void Ifc4x3_add2::IfcElectricDistributionBoard::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_add2::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[372]); } -void Ifc4x3_add2::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricDistributionBoard Ifc4x3_add2::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10256,7 +10256,7 @@ void Ifc4x3_add2::IfcElectricDistributionBoardType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_add2::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[373]); } -void Ifc4x3_add2::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricDistributionBoardType Ifc4x3_add2::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_add2::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10264,7 +10264,7 @@ void Ifc4x3_add2::IfcElectricFlowStorageDevice::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_add2::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[375]); } -void Ifc4x3_add2::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricFlowStorageDevice Ifc4x3_add2::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10272,7 +10272,7 @@ void Ifc4x3_add2::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_add2::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[376]); } -void Ifc4x3_add2::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricFlowStorageDeviceType Ifc4x3_add2::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_add2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10280,7 +10280,7 @@ void Ifc4x3_add2::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[378]); } -void Ifc4x3_add2::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricFlowTreatmentDevice Ifc4x3_add2::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10288,7 +10288,7 @@ void Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[379]); } -void Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_add2::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10296,7 +10296,7 @@ void Ifc4x3_add2::IfcElectricGenerator::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[381]); } -void Ifc4x3_add2::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricGenerator Ifc4x3_add2::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10304,7 +10304,7 @@ void Ifc4x3_add2::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[382]); } -void Ifc4x3_add2::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricGeneratorType Ifc4x3_add2::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > Ifc4x3_add2::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10312,7 +10312,7 @@ void Ifc4x3_add2::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[384]); } -void Ifc4x3_add2::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricMotor Ifc4x3_add2::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value Ifc4x3_add2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10320,7 +10320,7 @@ void Ifc4x3_add2::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[385]); } -void Ifc4x3_add2::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricMotorType Ifc4x3_add2::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_add2::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10328,7 +10328,7 @@ void Ifc4x3_add2::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[388]); } -void Ifc4x3_add2::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcElectricTimeControl Ifc4x3_add2::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10336,7 +10336,7 @@ void Ifc4x3_add2::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[389]); } -void Ifc4x3_add2::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElectricTimeControlType Ifc4x3_add2::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_add2::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10356,7 +10356,7 @@ std::vector<::Ifc4x3_add2::IfcRelCoversBldgElements> Ifc4x3_add2::IfcElement::Ha std::vector<::Ifc4x3_add2::IfcRelAdheresToElement> Ifc4x3_add2::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[898], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[392]); } -void Ifc4x3_add2::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > Ifc4x3_add2::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10366,7 +10366,7 @@ void Ifc4x3_add2::IfcElementAssembly::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[394]); } -void Ifc4x3_add2::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcElementAssembly Ifc4x3_add2::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value Ifc4x3_add2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10374,19 +10374,19 @@ void Ifc4x3_add2::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[395]); } -void Ifc4x3_add2::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcElementAssemblyType Ifc4x3_add2::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_add2::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[397]); } -void Ifc4x3_add2::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcElementComponent Ifc4x3_add2::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_add2::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[398]); } -void Ifc4x3_add2::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcElementComponentType Ifc4x3_add2::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_add2::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10396,7 +10396,7 @@ void Ifc4x3_add2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[400]); } -void Ifc4x3_add2::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_add2::IfcElementQuantity Ifc4x3_add2::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_add2::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10404,7 +10404,7 @@ void Ifc4x3_add2::IfcElementType::setElementType(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_add2::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[401]); } -void Ifc4x3_add2::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcElementType Ifc4x3_add2::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } @@ -10412,7 +10412,7 @@ void Ifc4x3_add2::IfcElementarySurface::setPosition(const ::Ifc4x3_add2::IfcAxis const ifcopenshell::entity& Ifc4x3_add2::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[393]); } -void Ifc4x3_add2::IfcElementarySurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add2::IfcElementarySurface Ifc4x3_add2::IfcElementarySurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_add2::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10422,7 +10422,7 @@ void Ifc4x3_add2::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_add2::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[402]); } -void Ifc4x3_add2::IfcEllipse::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_add2::IfcEllipse Ifc4x3_add2::IfcEllipse::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_add2::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10432,19 +10432,19 @@ void Ifc4x3_add2::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add2::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[403]); } -void Ifc4x3_add2::IfcEllipseProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_add2::IfcEllipseProfileDef Ifc4x3_add2::IfcEllipseProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_add2::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[404]); } -void Ifc4x3_add2::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcEnergyConversionDevice Ifc4x3_add2::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_add2::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[405]); } -void Ifc4x3_add2::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcEnergyConversionDeviceType Ifc4x3_add2::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > Ifc4x3_add2::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10452,7 +10452,7 @@ void Ifc4x3_add2::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[407]); } -void Ifc4x3_add2::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcEngine Ifc4x3_add2::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_add2::IfcEngineTypeEnum::Value Ifc4x3_add2::IfcEngineType::PredefinedType() const { return ::Ifc4x3_add2::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10460,7 +10460,7 @@ void Ifc4x3_add2::IfcEngineType::setPredefinedType(const ::Ifc4x3_add2::IfcEngin const ifcopenshell::entity& Ifc4x3_add2::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[408]); } -void Ifc4x3_add2::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcEngineType Ifc4x3_add2::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_add2::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10468,7 +10468,7 @@ void Ifc4x3_add2::IfcEvaporativeCooler::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[410]); } -void Ifc4x3_add2::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcEvaporativeCooler Ifc4x3_add2::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10476,7 +10476,7 @@ void Ifc4x3_add2::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[411]); } -void Ifc4x3_add2::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcEvaporativeCoolerType Ifc4x3_add2::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > Ifc4x3_add2::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10484,7 +10484,7 @@ void Ifc4x3_add2::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[413]); } -void Ifc4x3_add2::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcEvaporator Ifc4x3_add2::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value Ifc4x3_add2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10492,7 +10492,7 @@ void Ifc4x3_add2::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_add2::IfcE const ifcopenshell::entity& Ifc4x3_add2::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[414]); } -void Ifc4x3_add2::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcEvaporatorType Ifc4x3_add2::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > Ifc4x3_add2::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10506,7 +10506,7 @@ void Ifc4x3_add2::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_add2::IfcEventT const ifcopenshell::entity& Ifc4x3_add2::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[416]); } -void Ifc4x3_add2::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add2::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_add2::IfcEvent Ifc4x3_add2::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add2::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_add2::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10520,7 +10520,7 @@ void Ifc4x3_add2::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[417]); } -void Ifc4x3_add2::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_add2::IfcEventTime Ifc4x3_add2::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_add2::IfcEventTypeEnum::Value Ifc4x3_add2::IfcEventType::PredefinedType() const { return ::Ifc4x3_add2::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10532,7 +10532,7 @@ void Ifc4x3_add2::IfcEventType::setUserDefinedEventTriggerType(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[419]); } -void Ifc4x3_add2::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_add2::IfcEventType Ifc4x3_add2::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_add2::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10544,13 +10544,13 @@ void Ifc4x3_add2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[421]); } -void Ifc4x3_add2::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_add2::IfcExtendedProperties Ifc4x3_add2::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_add2::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[422]); } -void Ifc4x3_add2::IfcExternalInformation::initialize() { } +Ifc4x3_add2::IfcExternalInformation Ifc4x3_add2::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_add2::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10563,7 +10563,7 @@ void Ifc4x3_add2::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[426]); } -void Ifc4x3_add2::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add2::IfcExternalReference Ifc4x3_add2::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_add2::IfcExternalReference Ifc4x3_add2::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcExternalReference>(); } @@ -10573,7 +10573,7 @@ void Ifc4x3_add2::IfcExternalReferenceRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_add2::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[427]); } -void Ifc4x3_add2::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_add2::IfcExternalReferenceRelationship Ifc4x3_add2::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add2::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10582,31 +10582,31 @@ void Ifc4x3_add2::IfcExternalSpatialElement::setPredefinedType(const std::option std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[945], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[428]); } -void Ifc4x3_add2::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcExternalSpatialElement Ifc4x3_add2::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_add2::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[430]); } -void Ifc4x3_add2::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_add2::IfcExternalSpatialStructureElement Ifc4x3_add2::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_add2::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[423]); } -void Ifc4x3_add2::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add2::IfcExternallyDefinedHatchStyle Ifc4x3_add2::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[424]); } -void Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_add2::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[425]); } -void Ifc4x3_add2::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add2::IfcExternallyDefinedTextFont Ifc4x3_add2::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -10616,7 +10616,7 @@ void Ifc4x3_add2::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add2::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[431]); } -void Ifc4x3_add2::IfcExtrudedAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_add2::IfcExtrudedAreaSolid Ifc4x3_add2::IfcExtrudedAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -10624,7 +10624,7 @@ void Ifc4x3_add2::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[432]); } -void Ifc4x3_add2::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_add2::IfcExtrudedAreaSolidTapered Ifc4x3_add2::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_add2::IfcFaceBound > Ifc4x3_add2::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcFaceBound>(es); } @@ -10633,7 +10633,7 @@ void Ifc4x3_add2::IfcFace::setBounds(const std::vector< ::Ifc4x3_add2::IfcFaceBo std::vector<::Ifc4x3_add2::IfcTextureMap> Ifc4x3_add2::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1196], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[433]); } -void Ifc4x3_add2::IfcFace::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_add2::IfcFace Ifc4x3_add2::IfcFace::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > Ifc4x3_add2::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcConnectedFaceSet>(es); } @@ -10641,7 +10641,7 @@ void Ifc4x3_add2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[434]); } -void Ifc4x3_add2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_add2::IfcFaceBasedSurfaceModel Ifc4x3_add2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_add2::IfcLoop Ifc4x3_add2::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcLoop>(); } @@ -10651,13 +10651,13 @@ void Ifc4x3_add2::IfcFaceBound::setOrientation(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_add2::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[435]); } -void Ifc4x3_add2::IfcFaceBound::initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_add2::IfcFaceBound Ifc4x3_add2::IfcFaceBound::initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_add2::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[436]); } -void Ifc4x3_add2::IfcFaceOuterBound::initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_add2::IfcFaceOuterBound Ifc4x3_add2::IfcFaceOuterBound::initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -10667,13 +10667,13 @@ void Ifc4x3_add2::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_add2::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[437]); } -void Ifc4x3_add2::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_add2::IfcFaceSurface Ifc4x3_add2::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_add2::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[438]); } -void Ifc4x3_add2::IfcFacetedBrep::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_add2::IfcFacetedBrep Ifc4x3_add2::IfcFacetedBrep::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_add2::IfcClosedShell > Ifc4x3_add2::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcClosedShell>(es); } @@ -10681,13 +10681,13 @@ void Ifc4x3_add2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[439]); } -void Ifc4x3_add2::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_add2::IfcFacetedBrepWithVoids Ifc4x3_add2::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_add2::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[440]); } -void Ifc4x3_add2::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_add2::IfcFacility Ifc4x3_add2::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_add2::IfcFacilityUsageEnum::Value Ifc4x3_add2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_add2::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } @@ -10695,7 +10695,7 @@ void Ifc4x3_add2::IfcFacilityPart::setUsageType(const ::Ifc4x3_add2::IfcFacility const ifcopenshell::entity& Ifc4x3_add2::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[441]); } -void Ifc4x3_add2::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); } +Ifc4x3_add2::IfcFacilityPart Ifc4x3_add2::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; return *this; } // Function implementations for IfcFacilityPartCommon std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_add2::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } @@ -10703,7 +10703,7 @@ void Ifc4x3_add2::IfcFacilityPartCommon::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcFacilityPartCommon::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[442]); } -void Ifc4x3_add2::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcFacilityPartCommon Ifc4x3_add2::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10721,7 +10721,7 @@ void Ifc4x3_add2::IfcFailureConnectionCondition::setCompressionFailureZ(const st const ifcopenshell::entity& Ifc4x3_add2::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[445]); } -void Ifc4x3_add2::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_add2::IfcFailureConnectionCondition Ifc4x3_add2::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > Ifc4x3_add2::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10729,7 +10729,7 @@ void Ifc4x3_add2::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[446]); } -void Ifc4x3_add2::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFan Ifc4x3_add2::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_add2::IfcFanTypeEnum::Value Ifc4x3_add2::IfcFanType::PredefinedType() const { return ::Ifc4x3_add2::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10737,7 +10737,7 @@ void Ifc4x3_add2::IfcFanType::setPredefinedType(const ::Ifc4x3_add2::IfcFanTypeE const ifcopenshell::entity& Ifc4x3_add2::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[447]); } -void Ifc4x3_add2::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFanType Ifc4x3_add2::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > Ifc4x3_add2::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10745,7 +10745,7 @@ void Ifc4x3_add2::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[449]); } -void Ifc4x3_add2::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFastener Ifc4x3_add2::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_add2::IfcFastenerTypeEnum::Value Ifc4x3_add2::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_add2::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10753,27 +10753,27 @@ void Ifc4x3_add2::IfcFastenerType::setPredefinedType(const ::Ifc4x3_add2::IfcFas const ifcopenshell::entity& Ifc4x3_add2::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[450]); } -void Ifc4x3_add2::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFastenerType Ifc4x3_add2::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_add2::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[452]); } -void Ifc4x3_add2::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFeatureElement Ifc4x3_add2::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_add2::IfcRelProjectsElement> Ifc4x3_add2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[941], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[453]); } -void Ifc4x3_add2::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFeatureElementAddition Ifc4x3_add2::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_add2::IfcRelVoidsElement> Ifc4x3_add2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[948], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[454]); } -void Ifc4x3_add2::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFeatureElementSubtraction Ifc4x3_add2::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > Ifc4x3_add2::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcFillStyleSelect>(es); } @@ -10783,7 +10783,7 @@ void Ifc4x3_add2::IfcFillAreaStyle::setModelOrDraughting(const std::optional< bo const ifcopenshell::entity& Ifc4x3_add2::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[455]); } -void Ifc4x3_add2::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3_add2::IfcFillAreaStyle Ifc4x3_add2::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_add2::IfcCurveStyle Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurveStyle>(); } @@ -10799,7 +10799,7 @@ void Ifc4x3_add2::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[456]); } -void Ifc4x3_add2::IfcFillAreaStyleHatching::initialize(::Ifc4x3_add2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_add2::IfcFillAreaStyleHatching Ifc4x3_add2::IfcFillAreaStyleHatching::initialize(::Ifc4x3_add2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_add2::IfcVector > Ifc4x3_add2::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcVector>(es); } @@ -10811,7 +10811,7 @@ void Ifc4x3_add2::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[457]); } -void Ifc4x3_add2::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_add2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add2::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_add2::IfcFillAreaStyleTiles Ifc4x3_add2::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_add2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add2::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > Ifc4x3_add2::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10819,7 +10819,7 @@ void Ifc4x3_add2::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[459]); } -void Ifc4x3_add2::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFilter Ifc4x3_add2::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_add2::IfcFilterTypeEnum::Value Ifc4x3_add2::IfcFilterType::PredefinedType() const { return ::Ifc4x3_add2::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10827,7 +10827,7 @@ void Ifc4x3_add2::IfcFilterType::setPredefinedType(const ::Ifc4x3_add2::IfcFilte const ifcopenshell::entity& Ifc4x3_add2::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[460]); } -void Ifc4x3_add2::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFilterType Ifc4x3_add2::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_add2::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10835,7 +10835,7 @@ void Ifc4x3_add2::IfcFireSuppressionTerminal::setPredefinedType(const std::optio const ifcopenshell::entity& Ifc4x3_add2::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[462]); } -void Ifc4x3_add2::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFireSuppressionTerminal Ifc4x3_add2::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10843,7 +10843,7 @@ void Ifc4x3_add2::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[463]); } -void Ifc4x3_add2::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFireSuppressionTerminalType Ifc4x3_add2::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -10851,31 +10851,31 @@ void Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[465]); } -void Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_add2::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[466]); } -void Ifc4x3_add2::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowController Ifc4x3_add2::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[467]); } -void Ifc4x3_add2::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowControllerType Ifc4x3_add2::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_add2::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[469]); } -void Ifc4x3_add2::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowFitting Ifc4x3_add2::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[470]); } -void Ifc4x3_add2::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowFittingType Ifc4x3_add2::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_add2::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10883,7 +10883,7 @@ void Ifc4x3_add2::IfcFlowInstrument::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[471]); } -void Ifc4x3_add2::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFlowInstrument Ifc4x3_add2::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -10891,7 +10891,7 @@ void Ifc4x3_add2::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[472]); } -void Ifc4x3_add2::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFlowInstrumentType Ifc4x3_add2::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > Ifc4x3_add2::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -10899,7 +10899,7 @@ void Ifc4x3_add2::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[474]); } -void Ifc4x3_add2::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFlowMeter Ifc4x3_add2::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value Ifc4x3_add2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_add2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -10907,67 +10907,67 @@ void Ifc4x3_add2::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_add2::IfcFl const ifcopenshell::entity& Ifc4x3_add2::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[475]); } -void Ifc4x3_add2::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFlowMeterType Ifc4x3_add2::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_add2::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[477]); } -void Ifc4x3_add2::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowMovingDevice Ifc4x3_add2::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[478]); } -void Ifc4x3_add2::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowMovingDeviceType Ifc4x3_add2::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_add2::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[479]); } -void Ifc4x3_add2::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowSegment Ifc4x3_add2::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[480]); } -void Ifc4x3_add2::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowSegmentType Ifc4x3_add2::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_add2::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[481]); } -void Ifc4x3_add2::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowStorageDevice Ifc4x3_add2::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[482]); } -void Ifc4x3_add2::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowStorageDeviceType Ifc4x3_add2::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_add2::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[483]); } -void Ifc4x3_add2::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowTerminal Ifc4x3_add2::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[484]); } -void Ifc4x3_add2::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowTerminalType Ifc4x3_add2::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_add2::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[485]); } -void Ifc4x3_add2::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFlowTreatmentDevice Ifc4x3_add2::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_add2::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[486]); } -void Ifc4x3_add2::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFlowTreatmentDeviceType Ifc4x3_add2::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > Ifc4x3_add2::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -10975,7 +10975,7 @@ void Ifc4x3_add2::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[490]); } -void Ifc4x3_add2::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFooting Ifc4x3_add2::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_add2::IfcFootingTypeEnum::Value Ifc4x3_add2::IfcFootingType::PredefinedType() const { return ::Ifc4x3_add2::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -10983,19 +10983,19 @@ void Ifc4x3_add2::IfcFootingType::setPredefinedType(const ::Ifc4x3_add2::IfcFoot const ifcopenshell::entity& Ifc4x3_add2::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[491]); } -void Ifc4x3_add2::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcFootingType Ifc4x3_add2::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_add2::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[495]); } -void Ifc4x3_add2::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcFurnishingElement Ifc4x3_add2::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_add2::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[496]); } -void Ifc4x3_add2::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcFurnishingElementType Ifc4x3_add2::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > Ifc4x3_add2::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11003,7 +11003,7 @@ void Ifc4x3_add2::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[497]); } -void Ifc4x3_add2::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcFurniture Ifc4x3_add2::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value Ifc4x3_add2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_add2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11013,7 +11013,7 @@ void Ifc4x3_add2::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[498]); } -void Ifc4x3_add2::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcFurnitureType Ifc4x3_add2::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicCRS std::optional< std::string > Ifc4x3_add2::IfcGeographicCRS::PrimeMeridian() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11025,7 +11025,7 @@ void Ifc4x3_add2::IfcGeographicCRS::setHeightUnit(const ::Ifc4x3_add2::IfcNamedU const ifcopenshell::entity& Ifc4x3_add2::IfcGeographicCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[500]); } -void Ifc4x3_add2::IfcGeographicCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add2::IfcNamedUnit v5_AngleUnit, ::Ifc4x3_add2::IfcNamedUnit v6_HeightUnit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, (v5_AngleUnit));set_attribute_value(5, (v6_HeightUnit)); } +Ifc4x3_add2::IfcGeographicCRS Ifc4x3_add2::IfcGeographicCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add2::IfcNamedUnit v5_AngleUnit, ::Ifc4x3_add2::IfcNamedUnit v6_HeightUnit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, (v5_AngleUnit));set_attribute_value(5, (v6_HeightUnit));; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > Ifc4x3_add2::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11033,7 +11033,7 @@ void Ifc4x3_add2::IfcGeographicElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[501]); } -void Ifc4x3_add2::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcGeographicElement Ifc4x3_add2::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value Ifc4x3_add2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11041,13 +11041,13 @@ void Ifc4x3_add2::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[502]); } -void Ifc4x3_add2::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcGeographicElementType Ifc4x3_add2::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[504]); } -void Ifc4x3_add2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_add2::IfcGeometricCurveSet Ifc4x3_add2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_add2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11063,13 +11063,13 @@ std::vector<::Ifc4x3_add2::IfcGeometricRepresentationSubContext> Ifc4x3_add2::If std::vector<::Ifc4x3_add2::IfcCoordinateOperation> Ifc4x3_add2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[243], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[506]); } -void Ifc4x3_add2::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add2::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_add2::IfcGeometricRepresentationContext Ifc4x3_add2::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add2::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[507]); } -void Ifc4x3_add2::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_add2::IfcGeometricRepresentationItem Ifc4x3_add2::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_add2::IfcGeometricRepresentationContext Ifc4x3_add2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcGeometricRepresentationContext>(); } @@ -11083,7 +11083,7 @@ void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[508]); } -void Ifc4x3_add2::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_add2::IfcGeometricRepresentationSubContext Ifc4x3_add2::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > Ifc4x3_add2::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcGeometricSetSelect>(es); } @@ -11091,31 +11091,31 @@ void Ifc4x3_add2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[509]); } -void Ifc4x3_add2::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_add2::IfcGeometricSet Ifc4x3_add2::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_add2::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[511]); } -void Ifc4x3_add2::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcGeomodel Ifc4x3_add2::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_add2::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[512]); } -void Ifc4x3_add2::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcGeoslice Ifc4x3_add2::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_add2::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[513]); } -void Ifc4x3_add2::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcGeotechnicalAssembly Ifc4x3_add2::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_add2::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[514]); } -void Ifc4x3_add2::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcGeotechnicalElement Ifc4x3_add2::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_add2::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } @@ -11123,7 +11123,7 @@ void Ifc4x3_add2::IfcGeotechnicalStratum::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[515]); } -void Ifc4x3_add2::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcGeotechnicalStratum Ifc4x3_add2::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } @@ -11133,7 +11133,7 @@ void Ifc4x3_add2::IfcGradientCurve::setEndPoint(const ::Ifc4x3_add2::IfcPlacemen const ifcopenshell::entity& Ifc4x3_add2::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[519]); } -void Ifc4x3_add2::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_add2::IfcGradientCurve Ifc4x3_add2::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_add2::IfcGridAxis > Ifc4x3_add2::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } @@ -11147,7 +11147,7 @@ void Ifc4x3_add2::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[520]); } -void Ifc4x3_add2::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcGrid Ifc4x3_add2::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_add2::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11163,7 +11163,7 @@ std::vector<::Ifc4x3_add2::IfcGrid> Ifc4x3_add2::IfcGridAxis::PartOfU() const { std::vector<::Ifc4x3_add2::IfcVirtualGridIntersection> Ifc4x3_add2::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1277], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[521]); } -void Ifc4x3_add2::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add2::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_add2::IfcGridAxis Ifc4x3_add2::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add2::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_add2::IfcVirtualGridIntersection Ifc4x3_add2::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcVirtualGridIntersection>(); } @@ -11173,7 +11173,7 @@ void Ifc4x3_add2::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[522]); } -void Ifc4x3_add2::IfcGridPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_add2::IfcGridPlacement Ifc4x3_add2::IfcGridPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup @@ -11181,7 +11181,7 @@ std::vector<::Ifc4x3_add2::IfcRelAssignsToGroup> Ifc4x3_add2::IfcGroup::IsGroupe std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[525]); } -void Ifc4x3_add2::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_add2::IfcGroup Ifc4x3_add2::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -11191,7 +11191,7 @@ void Ifc4x3_add2::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attri const ifcopenshell::entity& Ifc4x3_add2::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[526]); } -void Ifc4x3_add2::IfcHalfSpaceSolid::initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_add2::IfcHalfSpaceSolid Ifc4x3_add2::IfcHalfSpaceSolid::initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_add2::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11199,7 +11199,7 @@ void Ifc4x3_add2::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[528]); } -void Ifc4x3_add2::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcHeatExchanger Ifc4x3_add2::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value Ifc4x3_add2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11207,7 +11207,7 @@ void Ifc4x3_add2::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[529]); } -void Ifc4x3_add2::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcHeatExchangerType Ifc4x3_add2::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > Ifc4x3_add2::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11215,7 +11215,7 @@ void Ifc4x3_add2::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[533]); } -void Ifc4x3_add2::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcHumidifier Ifc4x3_add2::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value Ifc4x3_add2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_add2::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11223,7 +11223,7 @@ void Ifc4x3_add2::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_add2::IfcH const ifcopenshell::entity& Ifc4x3_add2::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[534]); } -void Ifc4x3_add2::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcHumidifierType Ifc4x3_add2::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_add2::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11243,7 +11243,7 @@ void Ifc4x3_add2::IfcIShapeProfileDef::setFlangeSlope(const std::optional< doubl const ifcopenshell::entity& Ifc4x3_add2::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[563]); } -void Ifc4x3_add2::IfcIShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_add2::IfcIShapeProfileDef Ifc4x3_add2::IfcIShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_add2::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11251,7 +11251,7 @@ void Ifc4x3_add2::IfcImageTexture::setURLReference(const std::string& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[538]); } -void Ifc4x3_add2::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_add2::IfcImageTexture Ifc4x3_add2::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_add2::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11259,7 +11259,7 @@ void Ifc4x3_add2::IfcImpactProtectionDevice::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[539]); } -void Ifc4x3_add2::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcImpactProtectionDevice Ifc4x3_add2::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add2::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11267,7 +11267,7 @@ void Ifc4x3_add2::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[540]); } -void Ifc4x3_add2::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcImpactProtectionDeviceType Ifc4x3_add2::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_add2::IfcTessellatedFaceSet Ifc4x3_add2::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcTessellatedFaceSet>(); } @@ -11281,7 +11281,7 @@ void Ifc4x3_add2::IfcIndexedColourMap::setColourIndex(const std::vector< int > / const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[542]); } -void Ifc4x3_add2::IfcIndexedColourMap::initialize(::Ifc4x3_add2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_add2::IfcIndexedColourMap Ifc4x3_add2::IfcIndexedColourMap::initialize(::Ifc4x3_add2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_add2::IfcCartesianPointList Ifc4x3_add2::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPointList>(); } @@ -11293,7 +11293,7 @@ void Ifc4x3_add2::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< boo const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[543]); } -void Ifc4x3_add2::IfcIndexedPolyCurve::initialize(::Ifc4x3_add2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_add2::IfcIndexedPolyCurve Ifc4x3_add2::IfcIndexedPolyCurve::initialize(::Ifc4x3_add2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11303,7 +11303,7 @@ std::vector<::Ifc4x3_add2::IfcPolygonalFaceSet> Ifc4x3_add2::IfcIndexedPolygonal std::vector<::Ifc4x3_add2::IfcTextureCoordinateIndices> Ifc4x3_add2::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1194], 1)); } const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[544]); } -void Ifc4x3_add2::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_add2::IfcIndexedPolygonalFace Ifc4x3_add2::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11311,7 +11311,7 @@ void Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const s const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[545]); } -void Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedPolygonalTextureMap std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > Ifc4x3_add2::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_add2::IfcTextureCoordinateIndices>(es); } @@ -11319,7 +11319,7 @@ void Ifc4x3_add2::IfcIndexedPolygonalTextureMap::setTexCoordIndices(const std::v const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedPolygonalTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[546]); } -void Ifc4x3_add2::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices)); } +Ifc4x3_add2::IfcIndexedPolygonalTextureMap Ifc4x3_add2::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_add2::IfcTessellatedFaceSet Ifc4x3_add2::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcTessellatedFaceSet>(); } @@ -11329,7 +11329,7 @@ void Ifc4x3_add2::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_add2::IfcTex const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[547]); } -void Ifc4x3_add2::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_add2::IfcIndexedTextureMap Ifc4x3_add2::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_add2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11337,7 +11337,7 @@ void Ifc4x3_add2::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[548]); } -void Ifc4x3_add2::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_add2::IfcIndexedTriangleTextureMap Ifc4x3_add2::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > Ifc4x3_add2::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11345,7 +11345,7 @@ void Ifc4x3_add2::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[552]); } -void Ifc4x3_add2::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcInterceptor Ifc4x3_add2::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value Ifc4x3_add2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_add2::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11353,13 +11353,13 @@ void Ifc4x3_add2::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[553]); } -void Ifc4x3_add2::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcInterceptorType Ifc4x3_add2::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_add2::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[557]); } -void Ifc4x3_add2::IfcIntersectionCurve::initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_add2::IfcIntersectionCurve Ifc4x3_add2::IfcIntersectionCurve::initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > Ifc4x3_add2::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11377,7 +11377,7 @@ void Ifc4x3_add2::IfcInventory::setOriginalValue(const ::Ifc4x3_add2::IfcCostVal const ifcopenshell::entity& Ifc4x3_add2::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[558]); } -void Ifc4x3_add2::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add2::IfcCostValue v10_CurrentValue, ::Ifc4x3_add2::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_add2::IfcInventory Ifc4x3_add2::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add2::IfcCostValue v10_CurrentValue, ::Ifc4x3_add2::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > Ifc4x3_add2::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_add2::IfcIrregularTimeSeriesValue>(es); } @@ -11385,7 +11385,7 @@ void Ifc4x3_add2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[561]); } -void Ifc4x3_add2::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_add2::IfcIrregularTimeSeries Ifc4x3_add2::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_add2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11395,7 +11395,7 @@ void Ifc4x3_add2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< const ifcopenshell::entity& Ifc4x3_add2::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[562]); } -void Ifc4x3_add2::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add2::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_add2::IfcIrregularTimeSeriesValue Ifc4x3_add2::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add2::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add2::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11403,7 +11403,7 @@ void Ifc4x3_add2::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[565]); } -void Ifc4x3_add2::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcJunctionBox Ifc4x3_add2::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value Ifc4x3_add2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11411,7 +11411,7 @@ void Ifc4x3_add2::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[566]); } -void Ifc4x3_add2::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcJunctionBoxType Ifc4x3_add2::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > Ifc4x3_add2::IfcKerb::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcKerbTypeEnum::FromString(get_attribute_value(8)); } @@ -11419,7 +11419,7 @@ void Ifc4x3_add2::IfcKerb::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[568]); } -void Ifc4x3_add2::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcKerb Ifc4x3_add2::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcKerbType ::Ifc4x3_add2::IfcKerbTypeEnum::Value Ifc4x3_add2::IfcKerbType::PredefinedType() const { return ::Ifc4x3_add2::IfcKerbTypeEnum::FromString(get_attribute_value(9)); } @@ -11427,7 +11427,7 @@ void Ifc4x3_add2::IfcKerbType::setPredefinedType(const ::Ifc4x3_add2::IfcKerbTyp const ifcopenshell::entity& Ifc4x3_add2::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[569]); } -void Ifc4x3_add2::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcKerbTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcKerbType Ifc4x3_add2::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcKerbTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_add2::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11445,7 +11445,7 @@ void Ifc4x3_add2::IfcLShapeProfileDef::setLegSlope(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add2::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[619]); } -void Ifc4x3_add2::IfcLShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_add2::IfcLShapeProfileDef Ifc4x3_add2::IfcLShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > Ifc4x3_add2::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11453,7 +11453,7 @@ void Ifc4x3_add2::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[574]); } -void Ifc4x3_add2::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcLaborResource Ifc4x3_add2::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value Ifc4x3_add2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11461,7 +11461,7 @@ void Ifc4x3_add2::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[575]); } -void Ifc4x3_add2::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcLaborResourceType Ifc4x3_add2::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_add2::IfcTimeOrRatioSelect Ifc4x3_add2::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcTimeOrRatioSelect>(); } @@ -11471,7 +11471,7 @@ void Ifc4x3_add2::IfcLagTime::setDurationType(const ::Ifc4x3_add2::IfcTaskDurati const ifcopenshell::entity& Ifc4x3_add2::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[577]); } -void Ifc4x3_add2::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add2::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_add2::IfcLagTime Ifc4x3_add2::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add2::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > Ifc4x3_add2::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11479,7 +11479,7 @@ void Ifc4x3_add2::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[578]); } -void Ifc4x3_add2::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcLamp Ifc4x3_add2::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_add2::IfcLampTypeEnum::Value Ifc4x3_add2::IfcLampType::PredefinedType() const { return ::Ifc4x3_add2::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11487,7 +11487,7 @@ void Ifc4x3_add2::IfcLampType::setPredefinedType(const ::Ifc4x3_add2::IfcLampTyp const ifcopenshell::entity& Ifc4x3_add2::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[579]); } -void Ifc4x3_add2::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcLampType Ifc4x3_add2::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_add2::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11507,7 +11507,7 @@ std::vector<::Ifc4x3_add2::IfcRelAssociatesLibrary> Ifc4x3_add2::IfcLibraryInfor std::vector<::Ifc4x3_add2::IfcLibraryReference> Ifc4x3_add2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[586], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[585]); } -void Ifc4x3_add2::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_add2::IfcLibraryInformation Ifc4x3_add2::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11520,7 +11520,7 @@ void Ifc4x3_add2::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_add2: std::vector<::Ifc4x3_add2::IfcRelAssociatesLibrary> Ifc4x3_add2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[913], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[586]); } -void Ifc4x3_add2::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add2::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_add2::IfcLibraryReference Ifc4x3_add2::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add2::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_add2::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11532,7 +11532,7 @@ void Ifc4x3_add2::IfcLightDistributionData::setLuminousIntensity(const std::vect const ifcopenshell::entity& Ifc4x3_add2::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[589]); } -void Ifc4x3_add2::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_add2::IfcLightDistributionData Ifc4x3_add2::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > Ifc4x3_add2::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11540,7 +11540,7 @@ void Ifc4x3_add2::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[592]); } -void Ifc4x3_add2::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcLightFixture Ifc4x3_add2::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value Ifc4x3_add2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_add2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11548,7 +11548,7 @@ void Ifc4x3_add2::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[593]); } -void Ifc4x3_add2::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcLightFixtureType Ifc4x3_add2::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value Ifc4x3_add2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_add2::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11558,7 +11558,7 @@ void Ifc4x3_add2::IfcLightIntensityDistribution::setDistributionData(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[595]); } -void Ifc4x3_add2::IfcLightIntensityDistribution::initialize(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add2::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_add2::IfcLightIntensityDistribution Ifc4x3_add2::IfcLightIntensityDistribution::initialize(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add2::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_add2::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11572,13 +11572,13 @@ void Ifc4x3_add2::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_add2::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[596]); } -void Ifc4x3_add2::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_add2::IfcLightSource Ifc4x3_add2::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[597]); } -void Ifc4x3_add2::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_add2::IfcLightSourceAmbient Ifc4x3_add2::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -11586,7 +11586,7 @@ void Ifc4x3_add2::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[598]); } -void Ifc4x3_add2::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_add2::IfcLightSourceDirectional Ifc4x3_add2::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } @@ -11604,7 +11604,7 @@ void Ifc4x3_add2::IfcLightSourceGoniometric::setLightDistributionDataSource(cons const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[599]); } -void Ifc4x3_add2::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_add2::IfcLightSourceGoniometric Ifc4x3_add2::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } @@ -11620,7 +11620,7 @@ void Ifc4x3_add2::IfcLightSourcePositional::setQuadricAttenuation(const double& const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[600]); } -void Ifc4x3_add2::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_add2::IfcLightSourcePositional Ifc4x3_add2::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -11634,7 +11634,7 @@ void Ifc4x3_add2::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[601]); } -void Ifc4x3_add2::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_add2::IfcLightSourceSpot Ifc4x3_add2::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_add2::IfcCartesianPoint Ifc4x3_add2::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPoint>(); } @@ -11644,13 +11644,13 @@ void Ifc4x3_add2::IfcLine::setDir(const ::Ifc4x3_add2::IfcVector& v) { set_attri const ifcopenshell::entity& Ifc4x3_add2::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[602]); } -void Ifc4x3_add2::IfcLine::initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add2::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_add2::IfcLine Ifc4x3_add2::IfcLine::initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add2::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3_add2::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[603]); } -void Ifc4x3_add2::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcLinearElement Ifc4x3_add2::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_add2::IfcAxis2PlacementLinear Ifc4x3_add2::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2PlacementLinear>(); } @@ -11660,13 +11660,13 @@ void Ifc4x3_add2::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[606]); } -void Ifc4x3_add2::IfcLinearPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add2::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition)); } +Ifc4x3_add2::IfcLinearPlacement Ifc4x3_add2::IfcLinearPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add2::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement const ifcopenshell::entity& Ifc4x3_add2::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[607]); } -void Ifc4x3_add2::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcLinearPositioningElement Ifc4x3_add2::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_add2::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11674,7 +11674,7 @@ void Ifc4x3_add2::IfcLiquidTerminal::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[611]); } -void Ifc4x3_add2::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcLiquidTerminal Ifc4x3_add2::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add2::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11682,7 +11682,7 @@ void Ifc4x3_add2::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[612]); } -void Ifc4x3_add2::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcLiquidTerminalType Ifc4x3_add2::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } @@ -11690,13 +11690,13 @@ void Ifc4x3_add2::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[615]); } -void Ifc4x3_add2::IfcLocalPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_add2::IfcLocalPlacement Ifc4x3_add2::IfcLocalPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_add2::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[618]); } -void Ifc4x3_add2::IfcLoop::initialize() { } +Ifc4x3_add2::IfcLoop Ifc4x3_add2::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_add2::IfcClosedShell Ifc4x3_add2::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcClosedShell>(); } @@ -11704,7 +11704,7 @@ void Ifc4x3_add2::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_add2::IfcClosedS const ifcopenshell::entity& Ifc4x3_add2::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[625]); } -void Ifc4x3_add2::IfcManifoldSolidBrep::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_add2::IfcManifoldSolidBrep Ifc4x3_add2::IfcManifoldSolidBrep::initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_add2::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11722,7 +11722,7 @@ void Ifc4x3_add2::IfcMapConversion::setScale(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[626]); } -void Ifc4x3_add2::IfcMapConversion::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4x3_add2::IfcMapConversion Ifc4x3_add2::IfcMapConversion::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMapConversionScaled double Ifc4x3_add2::IfcMapConversionScaled::FactorX() const { double v = get_attribute_value(8); return v; } @@ -11734,7 +11734,7 @@ void Ifc4x3_add2::IfcMapConversionScaled::setFactorZ(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add2::IfcMapConversionScaled::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[627]); } -void Ifc4x3_add2::IfcMapConversionScaled::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_FactorX, double v10_FactorY, double v11_FactorZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_FactorX));set_attribute_value(9, (v10_FactorY));set_attribute_value(10, (v11_FactorZ)); } +Ifc4x3_add2::IfcMapConversionScaled Ifc4x3_add2::IfcMapConversionScaled::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_FactorX, double v10_FactorY, double v11_FactorZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_FactorX));set_attribute_value(9, (v10_FactorY));set_attribute_value(10, (v11_FactorZ));; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_add2::IfcRepresentationMap Ifc4x3_add2::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcRepresentationMap>(); } @@ -11744,7 +11744,7 @@ void Ifc4x3_add2::IfcMappedItem::setMappingTarget(const ::Ifc4x3_add2::IfcCartes const ifcopenshell::entity& Ifc4x3_add2::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[628]); } -void Ifc4x3_add2::IfcMappedItem::initialize(::Ifc4x3_add2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add2::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_add2::IfcMappedItem Ifc4x3_add2::IfcMappedItem::initialize(::Ifc4x3_add2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add2::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > Ifc4x3_add2::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11752,7 +11752,7 @@ void Ifc4x3_add2::IfcMarineFacility::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[629]); } -void Ifc4x3_add2::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcMarineFacility Ifc4x3_add2::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcMarinePart std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > Ifc4x3_add2::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } @@ -11760,7 +11760,7 @@ void Ifc4x3_add2::IfcMarinePart::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcMarinePart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[631]); } -void Ifc4x3_add2::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcMarinePart Ifc4x3_add2::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_add2::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11775,7 +11775,7 @@ std::vector<::Ifc4x3_add2::IfcMaterialRelationship> Ifc4x3_add2::IfcMaterial::Is std::vector<::Ifc4x3_add2::IfcMaterialRelationship> Ifc4x3_add2::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[654], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[637]); } -void Ifc4x3_add2::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_add2::IfcClassificationSelect > Ifc4x3_add2::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcClassificationSelect>(es); } @@ -11785,7 +11785,7 @@ void Ifc4x3_add2::IfcMaterialClassificationRelationship::setClassifiedMaterial(c const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[638]); } -void Ifc4x3_add2::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_add2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add2::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_add2::IfcMaterialClassificationRelationship Ifc4x3_add2::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_add2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add2::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11802,7 +11802,7 @@ void Ifc4x3_add2::IfcMaterialConstituent::setCategory(const std::optional< std:: std::vector<::Ifc4x3_add2::IfcMaterialConstituentSet> Ifc4x3_add2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[640], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[639]); } -void Ifc4x3_add2::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_add2::IfcMaterialConstituent Ifc4x3_add2::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11814,7 +11814,7 @@ void Ifc4x3_add2::IfcMaterialConstituentSet::setMaterialConstituents(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[640]); } -void Ifc4x3_add2::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_add2::IfcMaterialConstituentSet Ifc4x3_add2::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11823,7 +11823,7 @@ std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcMat std::vector<::Ifc4x3_add2::IfcMaterialProperties> Ifc4x3_add2::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[653], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[641]); } -void Ifc4x3_add2::IfcMaterialDefinition::initialize() { } +Ifc4x3_add2::IfcMaterialDefinition Ifc4x3_add2::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMaterial>(); } @@ -11831,7 +11831,7 @@ void Ifc4x3_add2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(co const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[642]); } -void Ifc4x3_add2::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations, ::Ifc4x3_add2::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_add2::IfcMaterialDefinitionRepresentation Ifc4x3_add2::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations, ::Ifc4x3_add2::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add2::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcMaterial>(); } @@ -11852,7 +11852,7 @@ void Ifc4x3_add2::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_add2::IfcMaterialLayerSet> Ifc4x3_add2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[644], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[643]); } -void Ifc4x3_add2::IfcMaterialLayer::initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_add2::IfcMaterialLayer Ifc4x3_add2::IfcMaterialLayer::initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_add2::IfcMaterialLayer > Ifc4x3_add2::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcMaterialLayer>(es); } @@ -11864,7 +11864,7 @@ void Ifc4x3_add2::IfcMaterialLayerSet::setDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[644]); } -void Ifc4x3_add2::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_add2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_add2::IfcMaterialLayerSet Ifc4x3_add2::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_add2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_add2::IfcMaterialLayerSet Ifc4x3_add2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcMaterialLayerSet>(); } @@ -11880,7 +11880,7 @@ void Ifc4x3_add2::IfcMaterialLayerSetUsage::setReferenceExtent(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[645]); } -void Ifc4x3_add2::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_add2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_add2::IfcMaterialLayerSetUsage Ifc4x3_add2::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_add2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_add2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -11890,7 +11890,7 @@ void Ifc4x3_add2::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[646]); } -void Ifc4x3_add2::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_add2::IfcMaterialLayerWithOffsets Ifc4x3_add2::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_add2::IfcMaterial > Ifc4x3_add2::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcMaterial>(es); } @@ -11898,7 +11898,7 @@ void Ifc4x3_add2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[647]); } -void Ifc4x3_add2::IfcMaterialList::initialize(std::vector< ::Ifc4x3_add2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_add2::IfcMaterialList Ifc4x3_add2::IfcMaterialList::initialize(std::vector< ::Ifc4x3_add2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11917,7 +11917,7 @@ void Ifc4x3_add2::IfcMaterialProfile::setCategory(const std::optional< std::stri std::vector<::Ifc4x3_add2::IfcMaterialProfileSet> Ifc4x3_add2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[649], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[648]); } -void Ifc4x3_add2::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_add2::IfcMaterialProfile Ifc4x3_add2::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11931,7 +11931,7 @@ void Ifc4x3_add2::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[649]); } -void Ifc4x3_add2::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add2::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_add2::IfcMaterialProfileSet Ifc4x3_add2::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add2::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_add2::IfcMaterialProfileSet Ifc4x3_add2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcMaterialProfileSet>(); } @@ -11943,7 +11943,7 @@ void Ifc4x3_add2::IfcMaterialProfileSetUsage::setReferenceExtent(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[650]); } -void Ifc4x3_add2::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_add2::IfcMaterialProfileSetUsage Ifc4x3_add2::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_add2::IfcMaterialProfileSet Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMaterialProfileSet>(); } @@ -11953,7 +11953,7 @@ void Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[651]); } -void Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_add2::IfcMaterialProfileSetUsageTapering Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_add2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -11961,7 +11961,7 @@ void Ifc4x3_add2::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vect const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[652]); } -void Ifc4x3_add2::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_add2::IfcMaterialProfileWithOffsets Ifc4x3_add2::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_add2::IfcMaterialDefinition Ifc4x3_add2::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcMaterialDefinition>(); } @@ -11969,7 +11969,7 @@ void Ifc4x3_add2::IfcMaterialProperties::setMaterial(const ::Ifc4x3_add2::IfcMat const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[653]); } -void Ifc4x3_add2::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_add2::IfcMaterialProperties Ifc4x3_add2::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_add2::IfcMaterial Ifc4x3_add2::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMaterial>(); } @@ -11981,14 +11981,14 @@ void Ifc4x3_add2::IfcMaterialRelationship::setMaterialExpression(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[654]); } -void Ifc4x3_add2::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); } } +Ifc4x3_add2::IfcMaterialRelationship Ifc4x3_add2::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_add2::IfcRelAssociatesMaterial> Ifc4x3_add2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[914], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[656]); } -void Ifc4x3_add2::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_add2::IfcMaterialUsageDefinition Ifc4x3_add2::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcValue>(); } @@ -11998,7 +11998,7 @@ void Ifc4x3_add2::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_add2::IfcU const ifcopenshell::entity& Ifc4x3_add2::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[658]); } -void Ifc4x3_add2::IfcMeasureWithUnit::initialize(::Ifc4x3_add2::IfcValue v1_ValueComponent, ::Ifc4x3_add2::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_add2::IfcMeasureWithUnit Ifc4x3_add2::IfcMeasureWithUnit::initialize(::Ifc4x3_add2::IfcValue v1_ValueComponent, ::Ifc4x3_add2::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_add2::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12010,7 +12010,7 @@ void Ifc4x3_add2::IfcMechanicalFastener::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[659]); } -void Ifc4x3_add2::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcMechanicalFastener Ifc4x3_add2::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12022,7 +12022,7 @@ void Ifc4x3_add2::IfcMechanicalFastenerType::setNominalLength(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[660]); } -void Ifc4x3_add2::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_add2::IfcMechanicalFastenerType Ifc4x3_add2::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_add2::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12030,7 +12030,7 @@ void Ifc4x3_add2::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[662]); } -void Ifc4x3_add2::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcMedicalDevice Ifc4x3_add2::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12038,7 +12038,7 @@ void Ifc4x3_add2::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[663]); } -void Ifc4x3_add2::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcMedicalDeviceType Ifc4x3_add2::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > Ifc4x3_add2::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12046,7 +12046,7 @@ void Ifc4x3_add2::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[665]); } -void Ifc4x3_add2::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcMember Ifc4x3_add2::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_add2::IfcMemberTypeEnum::Value Ifc4x3_add2::IfcMemberType::PredefinedType() const { return ::Ifc4x3_add2::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12054,7 +12054,7 @@ void Ifc4x3_add2::IfcMemberType::setPredefinedType(const ::Ifc4x3_add2::IfcMembe const ifcopenshell::entity& Ifc4x3_add2::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[666]); } -void Ifc4x3_add2::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcMemberType Ifc4x3_add2::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_add2::IfcBenchmarkEnum::Value Ifc4x3_add2::IfcMetric::Benchmark() const { return ::Ifc4x3_add2::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12068,13 +12068,13 @@ void Ifc4x3_add2::IfcMetric::setReferencePath(const ::Ifc4x3_add2::IfcReference& const ifcopenshell::entity& Ifc4x3_add2::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[668]); } -void Ifc4x3_add2::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add2::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_add2::IfcMetric Ifc4x3_add2::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add2::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_add2::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[670]); } -void Ifc4x3_add2::IfcMirroredProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_add2::IfcMirroredProfileDef Ifc4x3_add2::IfcMirroredProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12082,7 +12082,7 @@ void Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::setPredefinedType(const const ifcopenshell::entity& Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[671]); } -void Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcMobileTelecommunicationsAppliance Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12090,7 +12090,7 @@ void Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::setPredefinedType(co const ifcopenshell::entity& Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[672]); } -void Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_add2::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12098,7 +12098,7 @@ void Ifc4x3_add2::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attri const ifcopenshell::entity& Ifc4x3_add2::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[685]); } -void Ifc4x3_add2::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_add2::IfcMonetaryUnit Ifc4x3_add2::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_add2::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12106,7 +12106,7 @@ void Ifc4x3_add2::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[687]); } -void Ifc4x3_add2::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcMooringDevice Ifc4x3_add2::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value Ifc4x3_add2::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12114,7 +12114,7 @@ void Ifc4x3_add2::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[688]); } -void Ifc4x3_add2::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcMooringDeviceType Ifc4x3_add2::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_add2::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12122,7 +12122,7 @@ void Ifc4x3_add2::IfcMotorConnection::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[690]); } -void Ifc4x3_add2::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcMotorConnection Ifc4x3_add2::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value Ifc4x3_add2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12130,7 +12130,7 @@ void Ifc4x3_add2::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[691]); } -void Ifc4x3_add2::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcMotorConnectionType Ifc4x3_add2::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_add2::IfcDimensionalExponents Ifc4x3_add2::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcDimensionalExponents>(); } @@ -12140,7 +12140,7 @@ void Ifc4x3_add2::IfcNamedUnit::setUnitType(const ::Ifc4x3_add2::IfcUnitEnum::Va const ifcopenshell::entity& Ifc4x3_add2::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[693]); } -void Ifc4x3_add2::IfcNamedUnit::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcNamedUnit::initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > Ifc4x3_add2::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12148,7 +12148,7 @@ void Ifc4x3_add2::IfcNavigationElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[694]); } -void Ifc4x3_add2::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcNavigationElement Ifc4x3_add2::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value Ifc4x3_add2::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12156,7 +12156,7 @@ void Ifc4x3_add2::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[695]); } -void Ifc4x3_add2::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcNavigationElementType Ifc4x3_add2::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_add2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12168,7 +12168,7 @@ std::vector<::Ifc4x3_add2::IfcRelDefinesByType> Ifc4x3_add2::IfcObject::IsTypedB std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[933], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[700]); } -void Ifc4x3_add2::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_add2::IfcObject Ifc4x3_add2::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12181,7 +12181,7 @@ std::vector<::Ifc4x3_add2::IfcRelAggregates> Ifc4x3_add2::IfcObjectDefinition::D std::vector<::Ifc4x3_add2::IfcRelAssociates> Ifc4x3_add2::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[908], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[701]); } -void Ifc4x3_add2::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcObjectDefinition Ifc4x3_add2::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_add2::IfcObjectPlacement Ifc4x3_add2::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcObjectPlacement>(); } @@ -12191,7 +12191,7 @@ std::vector<::Ifc4x3_add2::IfcProduct> Ifc4x3_add2::IfcObjectPlacement::PlacesOb std::vector<::Ifc4x3_add2::IfcObjectPlacement> Ifc4x3_add2::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[704], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[704]); } -void Ifc4x3_add2::IfcObjectPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_add2::IfcObjectPlacement Ifc4x3_add2::IfcObjectPlacement::initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > > Ifc4x3_add2::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcConstraint>(es); } @@ -12205,7 +12205,7 @@ void Ifc4x3_add2::IfcObjective::setUserDefinedQualifier(const std::optional< std const ifcopenshell::entity& Ifc4x3_add2::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[702]); } -void Ifc4x3_add2::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_add2::IfcObjective Ifc4x3_add2::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > Ifc4x3_add2::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12213,7 +12213,7 @@ void Ifc4x3_add2::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[706]); } -void Ifc4x3_add2::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_add2::IfcOccupant Ifc4x3_add2::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -12221,7 +12221,7 @@ void Ifc4x3_add2::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v const ifcopenshell::entity& Ifc4x3_add2::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[708]); } -void Ifc4x3_add2::IfcOffsetCurve::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_add2::IfcOffsetCurve Ifc4x3_add2::IfcOffsetCurve::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_add2::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12231,7 +12231,7 @@ void Ifc4x3_add2::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_add2::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[709]); } -void Ifc4x3_add2::IfcOffsetCurve2D::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_add2::IfcOffsetCurve2D Ifc4x3_add2::IfcOffsetCurve2D::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_add2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12243,7 +12243,7 @@ void Ifc4x3_add2::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_add2::IfcDire const ifcopenshell::entity& Ifc4x3_add2::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[710]); } -void Ifc4x3_add2::IfcOffsetCurve3D::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add2::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_add2::IfcOffsetCurve3D Ifc4x3_add2::IfcOffsetCurve3D::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add2::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > Ifc4x3_add2::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcPointByDistanceExpression>(es); } @@ -12253,7 +12253,7 @@ void Ifc4x3_add2::IfcOffsetCurveByDistances::setTag(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_add2::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[711]); } -void Ifc4x3_add2::IfcOffsetCurveByDistances::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_add2::IfcOffsetCurveByDistances Ifc4x3_add2::IfcOffsetCurveByDistances::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_add2::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12269,13 +12269,13 @@ void Ifc4x3_add2::IfcOpenCrossProfileDef::setOffsetPoint(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[712]); } -void Ifc4x3_add2::IfcOpenCrossProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add2::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint)); } +Ifc4x3_add2::IfcOpenCrossProfileDef Ifc4x3_add2::IfcOpenCrossProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add2::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint));; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_add2::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[715]); } -void Ifc4x3_add2::IfcOpenShell::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_add2::IfcOpenShell Ifc4x3_add2::IfcOpenShell::initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > Ifc4x3_add2::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12284,7 +12284,7 @@ void Ifc4x3_add2::IfcOpeningElement::setPredefinedType(const std::optional< ::If std::vector<::Ifc4x3_add2::IfcRelFillsElement> Ifc4x3_add2::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[936], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[713]); } -void Ifc4x3_add2::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcOpeningElement Ifc4x3_add2::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_add2::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12303,7 +12303,7 @@ std::vector<::Ifc4x3_add2::IfcOrganizationRelationship> Ifc4x3_add2::IfcOrganiza std::vector<::Ifc4x3_add2::IfcPersonAndOrganization> Ifc4x3_add2::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[738], 1)); } const ifcopenshell::entity& Ifc4x3_add2::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[716]); } -void Ifc4x3_add2::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_add2::IfcOrganization Ifc4x3_add2::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcOrganization>(); } @@ -12313,7 +12313,7 @@ void Ifc4x3_add2::IfcOrganizationRelationship::setRelatedOrganizations(const std const ifcopenshell::entity& Ifc4x3_add2::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[717]); } -void Ifc4x3_add2::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add2::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_add2::IfcOrganizationRelationship Ifc4x3_add2::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add2::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_add2::IfcEdge Ifc4x3_add2::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcEdge>(); } @@ -12323,13 +12323,13 @@ void Ifc4x3_add2::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute const ifcopenshell::entity& Ifc4x3_add2::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[718]); } -void Ifc4x3_add2::IfcOrientedEdge::initialize(::Ifc4x3_add2::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_add2::IfcOrientedEdge Ifc4x3_add2::IfcOrientedEdge::initialize(::Ifc4x3_add2::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_add2::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[719]); } -void Ifc4x3_add2::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_add2::IfcOuterBoundaryCurve Ifc4x3_add2::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > Ifc4x3_add2::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12337,7 +12337,7 @@ void Ifc4x3_add2::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[720]); } -void Ifc4x3_add2::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcOutlet Ifc4x3_add2::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_add2::IfcOutletTypeEnum::Value Ifc4x3_add2::IfcOutletType::PredefinedType() const { return ::Ifc4x3_add2::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12345,7 +12345,7 @@ void Ifc4x3_add2::IfcOutletType::setPredefinedType(const ::Ifc4x3_add2::IfcOutle const ifcopenshell::entity& Ifc4x3_add2::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[721]); } -void Ifc4x3_add2::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcOutletType Ifc4x3_add2::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_add2::IfcPersonAndOrganization Ifc4x3_add2::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPersonAndOrganization>(); } @@ -12367,7 +12367,7 @@ void Ifc4x3_add2::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute const ifcopenshell::entity& Ifc4x3_add2::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[723]); } -void Ifc4x3_add2::IfcOwnerHistory::initialize(::Ifc4x3_add2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_add2::IfcOwnerHistory Ifc4x3_add2::IfcOwnerHistory::initialize(::Ifc4x3_add2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_add2::IfcAxis2Placement2D Ifc4x3_add2::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement2D>(); } @@ -12375,7 +12375,7 @@ void Ifc4x3_add2::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[724]); } -void Ifc4x3_add2::IfcParameterizedProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_add2::IfcParameterizedProfileDef Ifc4x3_add2::IfcParameterizedProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_add2::IfcOrientedEdge > Ifc4x3_add2::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcOrientedEdge>(es); } @@ -12383,7 +12383,7 @@ void Ifc4x3_add2::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrie const ifcopenshell::entity& Ifc4x3_add2::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[726]); } -void Ifc4x3_add2::IfcPath::initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_add2::IfcPath Ifc4x3_add2::IfcPath::initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > Ifc4x3_add2::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } @@ -12391,7 +12391,7 @@ void Ifc4x3_add2::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[727]); } -void Ifc4x3_add2::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcPavement Ifc4x3_add2::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPavementType ::Ifc4x3_add2::IfcPavementTypeEnum::Value Ifc4x3_add2::IfcPavementType::PredefinedType() const { return ::Ifc4x3_add2::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } @@ -12399,7 +12399,7 @@ void Ifc4x3_add2::IfcPavementType::setPredefinedType(const ::Ifc4x3_add2::IfcPav const ifcopenshell::entity& Ifc4x3_add2::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[728]); } -void Ifc4x3_add2::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcPavementType Ifc4x3_add2::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -12409,7 +12409,7 @@ void Ifc4x3_add2::IfcPcurve::setReferenceCurve(const ::Ifc4x3_add2::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_add2::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[730]); } -void Ifc4x3_add2::IfcPcurve::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_add2::IfcPcurve Ifc4x3_add2::IfcPcurve::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_add2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12419,7 +12419,7 @@ void Ifc4x3_add2::IfcPerformanceHistory::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[731]); } -void Ifc4x3_add2::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add2::IfcPerformanceHistory Ifc4x3_add2::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12435,7 +12435,7 @@ void Ifc4x3_add2::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::If const ifcopenshell::entity& Ifc4x3_add2::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[734]); } -void Ifc4x3_add2::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_add2::IfcPermeableCoveringProperties Ifc4x3_add2::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > Ifc4x3_add2::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12447,7 +12447,7 @@ void Ifc4x3_add2::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[735]); } -void Ifc4x3_add2::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_add2::IfcPermit Ifc4x3_add2::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_add2::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12470,7 +12470,7 @@ void Ifc4x3_add2::IfcPerson::setAddresses(const std::optional< std::vector< ::If std::vector<::Ifc4x3_add2::IfcPersonAndOrganization> Ifc4x3_add2::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[738], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[737]); } -void Ifc4x3_add2::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_add2::IfcPerson Ifc4x3_add2::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_add2::IfcPerson Ifc4x3_add2::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPerson>(); } @@ -12482,7 +12482,7 @@ void Ifc4x3_add2::IfcPersonAndOrganization::setRoles(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_add2::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[738]); } -void Ifc4x3_add2::IfcPersonAndOrganization::initialize(::Ifc4x3_add2::IfcPerson v1_ThePerson, ::Ifc4x3_add2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_add2::IfcPersonAndOrganization Ifc4x3_add2::IfcPersonAndOrganization::initialize(::Ifc4x3_add2::IfcPerson v1_ThePerson, ::Ifc4x3_add2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > Ifc4x3_add2::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcPhysicalQuantity>(es); } @@ -12496,7 +12496,7 @@ void Ifc4x3_add2::IfcPhysicalComplexQuantity::setUsage(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add2::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[740]); } -void Ifc4x3_add2::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_add2::IfcPhysicalComplexQuantity Ifc4x3_add2::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_add2::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12508,7 +12508,7 @@ std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPhy std::vector<::Ifc4x3_add2::IfcPhysicalComplexQuantity> Ifc4x3_add2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[740], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[742]); } -void Ifc4x3_add2::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_add2::IfcPhysicalQuantity Ifc4x3_add2::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_add2::IfcNamedUnit Ifc4x3_add2::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcNamedUnit>(); } @@ -12516,7 +12516,7 @@ void Ifc4x3_add2::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_add2::IfcNam const ifcopenshell::entity& Ifc4x3_add2::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[743]); } -void Ifc4x3_add2::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_add2::IfcPhysicalSimpleQuantity Ifc4x3_add2::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > Ifc4x3_add2::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12526,7 +12526,7 @@ void Ifc4x3_add2::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[744]); } -void Ifc4x3_add2::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_add2::IfcPile Ifc4x3_add2::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_add2::IfcPileTypeEnum::Value Ifc4x3_add2::IfcPileType::PredefinedType() const { return ::Ifc4x3_add2::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12534,7 +12534,7 @@ void Ifc4x3_add2::IfcPileType::setPredefinedType(const ::Ifc4x3_add2::IfcPileTyp const ifcopenshell::entity& Ifc4x3_add2::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[746]); } -void Ifc4x3_add2::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcPileType Ifc4x3_add2::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > Ifc4x3_add2::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12542,7 +12542,7 @@ void Ifc4x3_add2::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[748]); } -void Ifc4x3_add2::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcPipeFitting Ifc4x3_add2::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value Ifc4x3_add2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12550,7 +12550,7 @@ void Ifc4x3_add2::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[749]); } -void Ifc4x3_add2::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcPipeFittingType Ifc4x3_add2::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_add2::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12558,7 +12558,7 @@ void Ifc4x3_add2::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[751]); } -void Ifc4x3_add2::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcPipeSegment Ifc4x3_add2::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value Ifc4x3_add2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12566,7 +12566,7 @@ void Ifc4x3_add2::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[752]); } -void Ifc4x3_add2::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcPipeSegmentType Ifc4x3_add2::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_add2::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12580,7 +12580,7 @@ void Ifc4x3_add2::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bi const ifcopenshell::entity& Ifc4x3_add2::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[754]); } -void Ifc4x3_add2::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_add2::IfcPixelTexture Ifc4x3_add2::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_add2::IfcPoint Ifc4x3_add2::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPoint>(); } @@ -12588,7 +12588,7 @@ void Ifc4x3_add2::IfcPlacement::setLocation(const ::Ifc4x3_add2::IfcPoint& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[755]); } -void Ifc4x3_add2::IfcPlacement::initialize(::Ifc4x3_add2::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcPlacement::initialize(::Ifc4x3_add2::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } @@ -12596,7 +12596,7 @@ void Ifc4x3_add2::IfcPlanarBox::setPlacement(const ::Ifc4x3_add2::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_add2::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[756]); } -void Ifc4x3_add2::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add2::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_add2::IfcPlanarBox Ifc4x3_add2::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add2::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_add2::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12606,13 +12606,13 @@ void Ifc4x3_add2::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_v const ifcopenshell::entity& Ifc4x3_add2::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[757]); } -void Ifc4x3_add2::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_add2::IfcPlanarExtent Ifc4x3_add2::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_add2::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[759]); } -void Ifc4x3_add2::IfcPlane::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add2::IfcPlane Ifc4x3_add2::IfcPlane::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > Ifc4x3_add2::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12620,7 +12620,7 @@ void Ifc4x3_add2::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[761]); } -void Ifc4x3_add2::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcPlate Ifc4x3_add2::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_add2::IfcPlateTypeEnum::Value Ifc4x3_add2::IfcPlateType::PredefinedType() const { return ::Ifc4x3_add2::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12628,13 +12628,13 @@ void Ifc4x3_add2::IfcPlateType::setPredefinedType(const ::Ifc4x3_add2::IfcPlateT const ifcopenshell::entity& Ifc4x3_add2::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[762]); } -void Ifc4x3_add2::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcPlateType Ifc4x3_add2::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_add2::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[764]); } -void Ifc4x3_add2::IfcPoint::initialize() { } +Ifc4x3_add2::IfcPoint Ifc4x3_add2::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3_add2::IfcCurveMeasureSelect Ifc4x3_add2::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurveMeasureSelect>(); } @@ -12650,7 +12650,7 @@ void Ifc4x3_add2::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[765]); } -void Ifc4x3_add2::IfcPointByDistanceExpression::initialize(::Ifc4x3_add2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add2::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3_add2::IfcPointByDistanceExpression Ifc4x3_add2::IfcPointByDistanceExpression::initialize(::Ifc4x3_add2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add2::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -12660,7 +12660,7 @@ void Ifc4x3_add2::IfcPointOnCurve::setPointParameter(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add2::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[766]); } -void Ifc4x3_add2::IfcPointOnCurve::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_add2::IfcPointOnCurve Ifc4x3_add2::IfcPointOnCurve::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -12672,7 +12672,7 @@ void Ifc4x3_add2::IfcPointOnSurface::setPointParameterV(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[767]); } -void Ifc4x3_add2::IfcPointOnSurface::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_add2::IfcPointOnSurface Ifc4x3_add2::IfcPointOnSurface::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Ifc4x3_add2::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } @@ -12680,7 +12680,7 @@ void Ifc4x3_add2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_add2::IfcC const ifcopenshell::entity& Ifc4x3_add2::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[772]); } -void Ifc4x3_add2::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_add2::IfcPolyLoop Ifc4x3_add2::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } @@ -12690,7 +12690,7 @@ void Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[769]); } -void Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add2::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_add2::IfcPolygonalBoundedHalfSpace Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add2::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_add2::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12702,7 +12702,7 @@ void Ifc4x3_add2::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vect const ifcopenshell::entity& Ifc4x3_add2::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[770]); } -void Ifc4x3_add2::IfcPolygonalFaceSet::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_add2::IfcPolygonalFaceSet Ifc4x3_add2::IfcPolygonalFaceSet::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Ifc4x3_add2::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcCartesianPoint>(es); } @@ -12710,7 +12710,7 @@ void Ifc4x3_add2::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_add2::IfcCa const ifcopenshell::entity& Ifc4x3_add2::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[771]); } -void Ifc4x3_add2::IfcPolyline::initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_add2::IfcPolyline Ifc4x3_add2::IfcPolyline::initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPolynomialCurve ::Ifc4x3_add2::IfcPlacement Ifc4x3_add2::IfcPolynomialCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPlacement>(); } @@ -12724,7 +12724,7 @@ void Ifc4x3_add2::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add2::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[773]); } -void Ifc4x3_add2::IfcPolynomialCurve::initialize(::Ifc4x3_add2::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); } } +Ifc4x3_add2::IfcPolynomialCurve Ifc4x3_add2::IfcPolynomialCurve::initialize(::Ifc4x3_add2::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; return *this; } // Function implementations for IfcPort @@ -12733,7 +12733,7 @@ std::vector<::Ifc4x3_add2::IfcRelConnectsPorts> Ifc4x3_add2::IfcPort::ConnectedF std::vector<::Ifc4x3_add2::IfcRelConnectsPorts> Ifc4x3_add2::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[920], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[774]); } -void Ifc4x3_add2::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12741,7 +12741,7 @@ std::vector<::Ifc4x3_add2::IfcRelContainedInSpatialStructure> Ifc4x3_add2::IfcPo std::vector<::Ifc4x3_add2::IfcRelPositions> Ifc4x3_add2::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[775]); } -void Ifc4x3_add2::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcPositioningElement Ifc4x3_add2::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_add2::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12761,19 +12761,19 @@ void Ifc4x3_add2::IfcPostalAddress::setCountry(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[780]); } -void Ifc4x3_add2::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_add2::IfcPostalAddress Ifc4x3_add2::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_add2::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[782]); } -void Ifc4x3_add2::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add2::IfcPreDefinedColour Ifc4x3_add2::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_add2::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[783]); } -void Ifc4x3_add2::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add2::IfcPreDefinedCurveFont Ifc4x3_add2::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_add2::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12781,31 +12781,31 @@ void Ifc4x3_add2::IfcPreDefinedItem::setName(const std::string& v) { set_attribu const ifcopenshell::entity& Ifc4x3_add2::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[784]); } -void Ifc4x3_add2::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add2::IfcPreDefinedItem Ifc4x3_add2::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_add2::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[785]); } -void Ifc4x3_add2::IfcPreDefinedProperties::initialize() { } +Ifc4x3_add2::IfcPreDefinedProperties Ifc4x3_add2::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_add2::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[786]); } -void Ifc4x3_add2::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcPreDefinedPropertySet Ifc4x3_add2::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_add2::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[787]); } -void Ifc4x3_add2::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_add2::IfcPreDefinedTextFont Ifc4x3_add2::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_add2::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[790]); } -void Ifc4x3_add2::IfcPresentationItem::initialize() { } +Ifc4x3_add2::IfcPresentationItem Ifc4x3_add2::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_add2::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12819,7 +12819,7 @@ void Ifc4x3_add2::IfcPresentationLayerAssignment::setIdentifier(const std::optio const ifcopenshell::entity& Ifc4x3_add2::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[791]); } -void Ifc4x3_add2::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_add2::IfcPresentationLayerAssignment Ifc4x3_add2::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12833,7 +12833,7 @@ void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vecto const ifcopenshell::entity& Ifc4x3_add2::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[792]); } -void Ifc4x3_add2::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_add2::IfcPresentationLayerWithStyle Ifc4x3_add2::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_add2::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12841,7 +12841,7 @@ void Ifc4x3_add2::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[793]); } -void Ifc4x3_add2::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcPresentationStyle Ifc4x3_add2::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > Ifc4x3_add2::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12849,7 +12849,7 @@ void Ifc4x3_add2::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[795]); } -void Ifc4x3_add2::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add2::IfcProcedure Ifc4x3_add2::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_add2::IfcProcedureTypeEnum::Value Ifc4x3_add2::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_add2::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12857,7 +12857,7 @@ void Ifc4x3_add2::IfcProcedureType::setPredefinedType(const ::Ifc4x3_add2::IfcPr const ifcopenshell::entity& Ifc4x3_add2::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[796]); } -void Ifc4x3_add2::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcProcedureType Ifc4x3_add2::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_add2::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12870,7 +12870,7 @@ std::vector<::Ifc4x3_add2::IfcRelSequence> Ifc4x3_add2::IfcProcess::IsSuccessorF std::vector<::Ifc4x3_add2::IfcRelAssignsToProcess> Ifc4x3_add2::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[798]); } -void Ifc4x3_add2::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_add2::IfcProcess Ifc4x3_add2::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_add2::IfcObjectPlacement Ifc4x3_add2::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_add2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcObjectPlacement>(); } @@ -12883,7 +12883,7 @@ std::vector<::Ifc4x3_add2::IfcRelPositions> Ifc4x3_add2::IfcProduct::PositionedR std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[800]); } -void Ifc4x3_add2::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcProduct Ifc4x3_add2::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -12891,7 +12891,7 @@ std::vector<::Ifc4x3_add2::IfcProduct> Ifc4x3_add2::IfcProductDefinitionShape::S std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1006], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[801]); } -void Ifc4x3_add2::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_add2::IfcProductDefinitionShape Ifc4x3_add2::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_add2::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12903,7 +12903,7 @@ void Ifc4x3_add2::IfcProductRepresentation::setRepresentations(const std::vector const ifcopenshell::entity& Ifc4x3_add2::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[802]); } -void Ifc4x3_add2::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_add2::IfcProductRepresentation Ifc4x3_add2::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_add2::IfcProfileTypeEnum::Value Ifc4x3_add2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_add2::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -12915,7 +12915,7 @@ std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPro std::vector<::Ifc4x3_add2::IfcProfileProperties> Ifc4x3_add2::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[806], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[805]); } -void Ifc4x3_add2::IfcProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -12923,19 +12923,19 @@ void Ifc4x3_add2::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[806]); } -void Ifc4x3_add2::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_add2::IfcProfileProperties Ifc4x3_add2::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_add2::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[808]); } -void Ifc4x3_add2::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_add2::IfcProject Ifc4x3_add2::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_add2::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[813]); } -void Ifc4x3_add2::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_add2::IfcProjectLibrary Ifc4x3_add2::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > Ifc4x3_add2::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -12947,7 +12947,7 @@ void Ifc4x3_add2::IfcProjectOrder::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_add2::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[814]); } -void Ifc4x3_add2::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_add2::IfcProjectOrder Ifc4x3_add2::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12961,7 +12961,7 @@ void Ifc4x3_add2::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_add2::IfcNamedUnit& const ifcopenshell::entity& Ifc4x3_add2::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[809]); } -void Ifc4x3_add2::IfcProjectedCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add2::IfcNamedUnit v7_MapUnit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_add2::IfcProjectedCRS Ifc4x3_add2::IfcProjectedCRS::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add2::IfcNamedUnit v7_MapUnit) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > Ifc4x3_add2::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12969,7 +12969,7 @@ void Ifc4x3_add2::IfcProjectionElement::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[811]); } -void Ifc4x3_add2::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcProjectionElement Ifc4x3_add2::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_add2::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12985,14 +12985,14 @@ std::vector<::Ifc4x3_add2::IfcResourceConstraintRelationship> Ifc4x3_add2::IfcPr std::vector<::Ifc4x3_add2::IfcResourceApprovalRelationship> Ifc4x3_add2::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[955], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[816]); } -void Ifc4x3_add2::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3_add2::IfcProperty Ifc4x3_add2::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[817]); } -void Ifc4x3_add2::IfcPropertyAbstraction::initialize() { } +Ifc4x3_add2::IfcPropertyAbstraction Ifc4x3_add2::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcValue>(); } @@ -13006,7 +13006,7 @@ void Ifc4x3_add2::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[818]); } -void Ifc4x3_add2::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_UpperBoundValue, ::Ifc4x3_add2::IfcValue v4_LowerBoundValue, ::Ifc4x3_add2::IfcUnit v5_Unit, ::Ifc4x3_add2::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_add2::IfcPropertyBoundedValue Ifc4x3_add2::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_UpperBoundValue, ::Ifc4x3_add2::IfcValue v4_LowerBoundValue, ::Ifc4x3_add2::IfcUnit v5_Unit, ::Ifc4x3_add2::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13014,7 +13014,7 @@ std::vector<::Ifc4x3_add2::IfcRelDeclares> Ifc4x3_add2::IfcPropertyDefinition::H std::vector<::Ifc4x3_add2::IfcRelAssociates> Ifc4x3_add2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[908], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[819]); } -void Ifc4x3_add2::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcPropertyDefinition Ifc4x3_add2::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_add2::IfcProperty Ifc4x3_add2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcProperty>(); } @@ -13026,7 +13026,7 @@ void Ifc4x3_add2::IfcPropertyDependencyRelationship::setExpression(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[820]); } -void Ifc4x3_add2::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcProperty v3_DependingProperty, ::Ifc4x3_add2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_add2::IfcPropertyDependencyRelationship Ifc4x3_add2::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcProperty v3_DependingProperty, ::Ifc4x3_add2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } @@ -13036,7 +13036,7 @@ void Ifc4x3_add2::IfcPropertyEnumeratedValue::setEnumerationReference(const ::If const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[821]); } -void Ifc4x3_add2::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add2::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_add2::IfcPropertyEnumeratedValue Ifc4x3_add2::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add2::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_add2::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13048,7 +13048,7 @@ void Ifc4x3_add2::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_add2::IfcUnit& const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[822]); } -void Ifc4x3_add2::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_add2::IfcValue > v2_EnumerationValues, ::Ifc4x3_add2::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_add2::IfcPropertyEnumeration Ifc4x3_add2::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_add2::IfcValue > v2_EnumerationValues, ::Ifc4x3_add2::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > Ifc4x3_add2::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } @@ -13058,7 +13058,7 @@ void Ifc4x3_add2::IfcPropertyListValue::setUnit(const ::Ifc4x3_add2::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[823]); } -void Ifc4x3_add2::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_ListValues, ::Ifc4x3_add2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_add2::IfcPropertyListValue Ifc4x3_add2::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_ListValues, ::Ifc4x3_add2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_add2::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13068,7 +13068,7 @@ void Ifc4x3_add2::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[824]); } -void Ifc4x3_add2::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add2::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_add2::IfcPropertyReferenceValue Ifc4x3_add2::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add2::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_add2::IfcProperty > Ifc4x3_add2::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcProperty>(es); } @@ -13076,7 +13076,7 @@ void Ifc4x3_add2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[825]); } -void Ifc4x3_add2::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_add2::IfcPropertySet Ifc4x3_add2::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13085,7 +13085,7 @@ std::vector<::Ifc4x3_add2::IfcRelDefinesByTemplate> Ifc4x3_add2::IfcPropertySetD std::vector<::Ifc4x3_add2::IfcRelDefinesByProperties> Ifc4x3_add2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[933], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[826]); } -void Ifc4x3_add2::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcPropertySetDefinition Ifc4x3_add2::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add2::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13098,7 +13098,7 @@ void Ifc4x3_add2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vec std::vector<::Ifc4x3_add2::IfcRelDefinesByTemplate> Ifc4x3_add2::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[934], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[829]); } -void Ifc4x3_add2::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_add2::IfcPropertySetTemplate Ifc4x3_add2::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_add2::IfcValue Ifc4x3_add2::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcValue>(); } @@ -13108,7 +13108,7 @@ void Ifc4x3_add2::IfcPropertySingleValue::setUnit(const ::Ifc4x3_add2::IfcUnit& const ifcopenshell::entity& Ifc4x3_add2::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[831]); } -void Ifc4x3_add2::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_NominalValue, ::Ifc4x3_add2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_add2::IfcPropertySingleValue Ifc4x3_add2::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_NominalValue, ::Ifc4x3_add2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > Ifc4x3_add2::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } @@ -13126,7 +13126,7 @@ void Ifc4x3_add2::IfcPropertyTableValue::setCurveInterpolation(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[832]); } -void Ifc4x3_add2::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add2::IfcUnit v6_DefiningUnit, ::Ifc4x3_add2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_add2::IfcPropertyTableValue Ifc4x3_add2::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add2::IfcUnit v6_DefiningUnit, ::Ifc4x3_add2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13134,13 +13134,13 @@ std::vector<::Ifc4x3_add2::IfcComplexPropertyTemplate> Ifc4x3_add2::IfcPropertyT std::vector<::Ifc4x3_add2::IfcPropertySetTemplate> Ifc4x3_add2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[829], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[833]); } -void Ifc4x3_add2::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcPropertyTemplate Ifc4x3_add2::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_add2::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[834]); } -void Ifc4x3_add2::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcPropertyTemplateDefinition Ifc4x3_add2::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_add2::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13148,7 +13148,7 @@ void Ifc4x3_add2::IfcProtectiveDevice::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add2::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[835]); } -void Ifc4x3_add2::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcProtectiveDevice Ifc4x3_add2::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13156,7 +13156,7 @@ void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[836]); } -void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13164,7 +13164,7 @@ void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[837]); } -void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13172,7 +13172,7 @@ void Ifc4x3_add2::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[839]); } -void Ifc4x3_add2::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcProtectiveDeviceType Ifc4x3_add2::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > Ifc4x3_add2::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13180,7 +13180,7 @@ void Ifc4x3_add2::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[841]); } -void Ifc4x3_add2::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcPump Ifc4x3_add2::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_add2::IfcPumpTypeEnum::Value Ifc4x3_add2::IfcPumpType::PredefinedType() const { return ::Ifc4x3_add2::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13188,7 +13188,7 @@ void Ifc4x3_add2::IfcPumpType::setPredefinedType(const ::Ifc4x3_add2::IfcPumpTyp const ifcopenshell::entity& Ifc4x3_add2::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[842]); } -void Ifc4x3_add2::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcPumpType Ifc4x3_add2::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_add2::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13198,7 +13198,7 @@ void Ifc4x3_add2::IfcQuantityArea::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[844]); } -void Ifc4x3_add2::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityArea Ifc4x3_add2::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount int Ifc4x3_add2::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } @@ -13208,7 +13208,7 @@ void Ifc4x3_add2::IfcQuantityCount::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[845]); } -void Ifc4x3_add2::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityCount Ifc4x3_add2::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_add2::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13218,7 +13218,7 @@ void Ifc4x3_add2::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[846]); } -void Ifc4x3_add2::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityLength Ifc4x3_add2::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityNumber double Ifc4x3_add2::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } @@ -13228,13 +13228,13 @@ void Ifc4x3_add2::IfcQuantityNumber::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityNumber::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[847]); } -void Ifc4x3_add2::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityNumber Ifc4x3_add2::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_add2::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[848]); } -void Ifc4x3_add2::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcQuantitySet Ifc4x3_add2::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_add2::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13244,7 +13244,7 @@ void Ifc4x3_add2::IfcQuantityTime::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[849]); } -void Ifc4x3_add2::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityTime Ifc4x3_add2::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_add2::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13254,7 +13254,7 @@ void Ifc4x3_add2::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[850]); } -void Ifc4x3_add2::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityVolume Ifc4x3_add2::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_add2::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13264,7 +13264,7 @@ void Ifc4x3_add2::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[851]); } -void Ifc4x3_add2::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_add2::IfcQuantityWeight Ifc4x3_add2::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > Ifc4x3_add2::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13272,7 +13272,7 @@ void Ifc4x3_add2::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[853]); } -void Ifc4x3_add2::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcRail Ifc4x3_add2::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_add2::IfcRailTypeEnum::Value Ifc4x3_add2::IfcRailType::PredefinedType() const { return ::Ifc4x3_add2::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13280,7 +13280,7 @@ void Ifc4x3_add2::IfcRailType::setPredefinedType(const ::Ifc4x3_add2::IfcRailTyp const ifcopenshell::entity& Ifc4x3_add2::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[857]); } -void Ifc4x3_add2::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcRailType Ifc4x3_add2::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > Ifc4x3_add2::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13288,7 +13288,7 @@ void Ifc4x3_add2::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[854]); } -void Ifc4x3_add2::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcRailing Ifc4x3_add2::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_add2::IfcRailingTypeEnum::Value Ifc4x3_add2::IfcRailingType::PredefinedType() const { return ::Ifc4x3_add2::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13296,7 +13296,7 @@ void Ifc4x3_add2::IfcRailingType::setPredefinedType(const ::Ifc4x3_add2::IfcRail const ifcopenshell::entity& Ifc4x3_add2::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[855]); } -void Ifc4x3_add2::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcRailingType Ifc4x3_add2::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > Ifc4x3_add2::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } @@ -13304,7 +13304,7 @@ void Ifc4x3_add2::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[859]); } -void Ifc4x3_add2::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcRailway Ifc4x3_add2::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRailwayPart std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > Ifc4x3_add2::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } @@ -13312,7 +13312,7 @@ void Ifc4x3_add2::IfcRailwayPart::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcRailwayPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[860]); } -void Ifc4x3_add2::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcRailwayPart Ifc4x3_add2::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > Ifc4x3_add2::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13320,7 +13320,7 @@ void Ifc4x3_add2::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[863]); } -void Ifc4x3_add2::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcRamp Ifc4x3_add2::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > Ifc4x3_add2::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13328,7 +13328,7 @@ void Ifc4x3_add2::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[864]); } -void Ifc4x3_add2::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcRampFlight Ifc4x3_add2::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value Ifc4x3_add2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_add2::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13336,7 +13336,7 @@ void Ifc4x3_add2::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_add2::IfcR const ifcopenshell::entity& Ifc4x3_add2::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[865]); } -void Ifc4x3_add2::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcRampFlightType Ifc4x3_add2::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_add2::IfcRampTypeEnum::Value Ifc4x3_add2::IfcRampType::PredefinedType() const { return ::Ifc4x3_add2::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13344,7 +13344,7 @@ void Ifc4x3_add2::IfcRampType::setPredefinedType(const ::Ifc4x3_add2::IfcRampTyp const ifcopenshell::entity& Ifc4x3_add2::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[867]); } -void Ifc4x3_add2::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcRampType Ifc4x3_add2::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13352,7 +13352,7 @@ void Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::ve const ifcopenshell::entity& Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[870]); } -void Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_add2::IfcRationalBSplineCurveWithKnots Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13360,7 +13360,7 @@ void Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[871]); } -void Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_add2::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13372,7 +13372,7 @@ void Ifc4x3_add2::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[873]); } -void Ifc4x3_add2::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_add2::IfcRectangleHollowProfileDef Ifc4x3_add2::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_add2::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13382,7 +13382,7 @@ void Ifc4x3_add2::IfcRectangleProfileDef::setYDim(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_add2::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[874]); } -void Ifc4x3_add2::IfcRectangleProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_add2::IfcRectangleProfileDef Ifc4x3_add2::IfcRectangleProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_add2::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13394,7 +13394,7 @@ void Ifc4x3_add2::IfcRectangularPyramid::setHeight(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_add2::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[875]); } -void Ifc4x3_add2::IfcRectangularPyramid::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_add2::IfcRectangularPyramid Ifc4x3_add2::IfcRectangularPyramid::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -13414,7 +13414,7 @@ void Ifc4x3_add2::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[876]); } -void Ifc4x3_add2::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_add2::IfcRectangularTrimmedSurface Ifc4x3_add2::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value Ifc4x3_add2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_add2::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13436,7 +13436,7 @@ void Ifc4x3_add2::IfcRecurrencePattern::setTimePeriods(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add2::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[877]); } -void Ifc4x3_add2::IfcRecurrencePattern::initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_add2::IfcRecurrencePattern Ifc4x3_add2::IfcRecurrencePattern::initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_add2::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13452,7 +13452,7 @@ void Ifc4x3_add2::IfcReference::setInnerReference(const ::Ifc4x3_add2::IfcRefere const ifcopenshell::entity& Ifc4x3_add2::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[879]); } -void Ifc4x3_add2::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add2::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_add2::IfcReference Ifc4x3_add2::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add2::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > Ifc4x3_add2::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13460,7 +13460,7 @@ void Ifc4x3_add2::IfcReferent::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[880]); } -void Ifc4x3_add2::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_add2::IfcReferent Ifc4x3_add2::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_add2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13470,7 +13470,7 @@ void Ifc4x3_add2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[883]); } -void Ifc4x3_add2::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_add2::IfcRegularTimeSeries Ifc4x3_add2::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_add2::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13478,7 +13478,7 @@ void Ifc4x3_add2::IfcReinforcedSoil::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[884]); } -void Ifc4x3_add2::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcReinforcedSoil Ifc4x3_add2::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_add2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13496,7 +13496,7 @@ void Ifc4x3_add2::IfcReinforcementBarProperties::setBarCount(const std::optional const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[886]); } -void Ifc4x3_add2::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_add2::IfcReinforcementBarProperties Ifc4x3_add2::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_add2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13506,7 +13506,7 @@ void Ifc4x3_add2::IfcReinforcementDefinitionProperties::setReinforcementSectionD const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[887]); } -void Ifc4x3_add2::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_add2::IfcReinforcementDefinitionProperties Ifc4x3_add2::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_add2::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13522,7 +13522,7 @@ void Ifc4x3_add2::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[888]); } -void Ifc4x3_add2::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_add2::IfcReinforcingBar Ifc4x3_add2::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value Ifc4x3_add2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13542,7 +13542,7 @@ void Ifc4x3_add2::IfcReinforcingBarType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[891]); } -void Ifc4x3_add2::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_add2::IfcReinforcingBarType Ifc4x3_add2::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_add2::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13550,13 +13550,13 @@ void Ifc4x3_add2::IfcReinforcingElement::setSteelGrade(const std::optional< std: const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[893]); } -void Ifc4x3_add2::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_add2::IfcReinforcingElement Ifc4x3_add2::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[894]); } -void Ifc4x3_add2::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcReinforcingElementType Ifc4x3_add2::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_add2::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13580,7 +13580,7 @@ void Ifc4x3_add2::IfcReinforcingMesh::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[895]); } -void Ifc4x3_add2::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_add2::IfcReinforcingMesh Ifc4x3_add2::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13608,7 +13608,7 @@ void Ifc4x3_add2::IfcReinforcingMeshType::setBendingParameters(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[896]); } -void Ifc4x3_add2::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_add2::IfcReinforcingMeshType Ifc4x3_add2::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelAdheresToElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } @@ -13618,7 +13618,7 @@ void Ifc4x3_add2::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::v const ifcopenshell::entity& Ifc4x3_add2::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[898]); } -void Ifc4x3_add2::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add2::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures)); } +Ifc4x3_add2::IfcRelAdheresToElement Ifc4x3_add2::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add2::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures));; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_add2::IfcObjectDefinition Ifc4x3_add2::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcObjectDefinition>(); } @@ -13628,7 +13628,7 @@ void Ifc4x3_add2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[899]); } -void Ifc4x3_add2::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_add2::IfcRelAggregates Ifc4x3_add2::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } @@ -13638,7 +13638,7 @@ void Ifc4x3_add2::IfcRelAssigns::setRelatedObjectsType(const std::optional< bool const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[900]); } -void Ifc4x3_add2::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); } } +Ifc4x3_add2::IfcRelAssigns Ifc4x3_add2::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_add2::IfcActor Ifc4x3_add2::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcActor>(); } @@ -13648,7 +13648,7 @@ void Ifc4x3_add2::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_add2::IfcAc const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[901]); } -void Ifc4x3_add2::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcActor v7_RelatingActor, ::Ifc4x3_add2::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_add2::IfcRelAssignsToActor Ifc4x3_add2::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcActor v7_RelatingActor, ::Ifc4x3_add2::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_add2::IfcControl Ifc4x3_add2::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcControl>(); } @@ -13656,7 +13656,7 @@ void Ifc4x3_add2::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[902]); } -void Ifc4x3_add2::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_add2::IfcRelAssignsToControl Ifc4x3_add2::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_add2::IfcGroup Ifc4x3_add2::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcGroup>(); } @@ -13664,7 +13664,7 @@ void Ifc4x3_add2::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[903]); } -void Ifc4x3_add2::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_add2::IfcRelAssignsToGroup Ifc4x3_add2::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_add2::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13672,7 +13672,7 @@ void Ifc4x3_add2::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[904]); } -void Ifc4x3_add2::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_add2::IfcRelAssignsToGroupByFactor Ifc4x3_add2::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_add2::IfcProcessSelect Ifc4x3_add2::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcProcessSelect>(); } @@ -13682,7 +13682,7 @@ void Ifc4x3_add2::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[905]); } -void Ifc4x3_add2::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add2::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_add2::IfcRelAssignsToProcess Ifc4x3_add2::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add2::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_add2::IfcProductSelect Ifc4x3_add2::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcProductSelect>(); } @@ -13690,7 +13690,7 @@ void Ifc4x3_add2::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[906]); } -void Ifc4x3_add2::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_add2::IfcRelAssignsToProduct Ifc4x3_add2::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_add2::IfcResourceSelect Ifc4x3_add2::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_add2::IfcResourceSelect>(); } @@ -13698,7 +13698,7 @@ void Ifc4x3_add2::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[907]); } -void Ifc4x3_add2::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_add2::IfcRelAssignsToResource Ifc4x3_add2::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > Ifc4x3_add2::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcDefinitionSelect>(es); } @@ -13706,7 +13706,7 @@ void Ifc4x3_add2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[908]); } -void Ifc4x3_add2::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_add2::IfcRelAssociates Ifc4x3_add2::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_add2::IfcApproval Ifc4x3_add2::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcApproval>(); } @@ -13714,7 +13714,7 @@ void Ifc4x3_add2::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[909]); } -void Ifc4x3_add2::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_add2::IfcRelAssociatesApproval Ifc4x3_add2::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_add2::IfcClassificationSelect Ifc4x3_add2::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcClassificationSelect>(); } @@ -13722,7 +13722,7 @@ void Ifc4x3_add2::IfcRelAssociatesClassification::setRelatingClassification(cons const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[910]); } -void Ifc4x3_add2::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_add2::IfcRelAssociatesClassification Ifc4x3_add2::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_add2::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13732,7 +13732,7 @@ void Ifc4x3_add2::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[911]); } -void Ifc4x3_add2::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add2::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_add2::IfcRelAssociatesConstraint Ifc4x3_add2::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add2::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_add2::IfcDocumentSelect Ifc4x3_add2::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcDocumentSelect>(); } @@ -13740,7 +13740,7 @@ void Ifc4x3_add2::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[912]); } -void Ifc4x3_add2::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_add2::IfcRelAssociatesDocument Ifc4x3_add2::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_add2::IfcLibrarySelect Ifc4x3_add2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcLibrarySelect>(); } @@ -13748,7 +13748,7 @@ void Ifc4x3_add2::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[913]); } -void Ifc4x3_add2::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_add2::IfcRelAssociatesLibrary Ifc4x3_add2::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_add2::IfcMaterialSelect Ifc4x3_add2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcMaterialSelect>(); } @@ -13756,7 +13756,7 @@ void Ifc4x3_add2::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[914]); } -void Ifc4x3_add2::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_add2::IfcRelAssociatesMaterial Ifc4x3_add2::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -13764,13 +13764,13 @@ void Ifc4x3_add2::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[915]); } -void Ifc4x3_add2::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_add2::IfcRelAssociatesProfileDef Ifc4x3_add2::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[917]); } -void Ifc4x3_add2::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcRelConnects Ifc4x3_add2::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_add2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } @@ -13782,7 +13782,7 @@ void Ifc4x3_add2::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[918]); } -void Ifc4x3_add2::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_add2::IfcRelConnectsElements Ifc4x3_add2::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_add2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13796,7 +13796,7 @@ void Ifc4x3_add2::IfcRelConnectsPathElements::setRelatingConnectionType(const :: const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[919]); } -void Ifc4x3_add2::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_add2::IfcRelConnectsPathElements Ifc4x3_add2::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcPort>(); } @@ -13806,7 +13806,7 @@ void Ifc4x3_add2::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[921]); } -void Ifc4x3_add2::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_add2::IfcRelConnectsPortToElement Ifc4x3_add2::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_add2::IfcPort Ifc4x3_add2::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcPort>(); } @@ -13818,7 +13818,7 @@ void Ifc4x3_add2::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[920]); } -void Ifc4x3_add2::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcPort v6_RelatedPort, ::Ifc4x3_add2::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_add2::IfcRelConnectsPorts Ifc4x3_add2::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcPort v6_RelatedPort, ::Ifc4x3_add2::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect>(); } @@ -13828,7 +13828,7 @@ void Ifc4x3_add2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[922]); } -void Ifc4x3_add2::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add2::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_add2::IfcRelConnectsStructuralActivity Ifc4x3_add2::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add2::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_add2::IfcStructuralMember Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcStructuralMember>(); } @@ -13846,7 +13846,7 @@ void Ifc4x3_add2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(c const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[923]); } -void Ifc4x3_add2::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_add2::IfcRelConnectsStructuralMember Ifc4x3_add2::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_add2::IfcConnectionGeometry Ifc4x3_add2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcConnectionGeometry>(); } @@ -13854,7 +13854,7 @@ void Ifc4x3_add2::IfcRelConnectsWithEccentricity::setConnectionConstraint(const const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[924]); } -void Ifc4x3_add2::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add2::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_add2::IfcRelConnectsWithEccentricity Ifc4x3_add2::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add2::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_add2::IfcElement > Ifc4x3_add2::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_add2::IfcElement>(es); } @@ -13864,7 +13864,7 @@ void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::setConnectionType(const s const ifcopenshell::entity& Ifc4x3_add2::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[925]); } -void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_add2::IfcRelConnectsWithRealizingElements Ifc4x3_add2::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_add2::IfcProduct > Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcProduct>(es); } @@ -13874,7 +13874,7 @@ void Ifc4x3_add2::IfcRelContainedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_add2::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[926]); } -void Ifc4x3_add2::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProduct > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_add2::IfcRelContainedInSpatialStructure Ifc4x3_add2::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProduct > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } @@ -13884,7 +13884,7 @@ void Ifc4x3_add2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vecto const ifcopenshell::entity& Ifc4x3_add2::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[927]); } -void Ifc4x3_add2::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_add2::IfcRelCoversBldgElements Ifc4x3_add2::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_add2::IfcSpace Ifc4x3_add2::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSpace>(); } @@ -13894,7 +13894,7 @@ void Ifc4x3_add2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[928]); } -void Ifc4x3_add2::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_add2::IfcRelCoversSpaces Ifc4x3_add2::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_add2::IfcContext Ifc4x3_add2::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcContext>(); } @@ -13904,19 +13904,19 @@ void Ifc4x3_add2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[929]); } -void Ifc4x3_add2::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_add2::IfcRelDeclares Ifc4x3_add2::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_add2::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[930]); } -void Ifc4x3_add2::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcRelDecomposes Ifc4x3_add2::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[931]); } -void Ifc4x3_add2::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcRelDefines Ifc4x3_add2::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_add2::IfcObject > Ifc4x3_add2::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObject>(es); } @@ -13926,7 +13926,7 @@ void Ifc4x3_add2::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[932]); } -void Ifc4x3_add2::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_add2::IfcRelDefinesByObject Ifc4x3_add2::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_add2::IfcObjectDefinition > Ifc4x3_add2::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObjectDefinition>(es); } @@ -13936,7 +13936,7 @@ void Ifc4x3_add2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[933]); } -void Ifc4x3_add2::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_add2::IfcRelDefinesByProperties Ifc4x3_add2::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > Ifc4x3_add2::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcPropertySetDefinition>(es); } @@ -13946,7 +13946,7 @@ void Ifc4x3_add2::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[934]); } -void Ifc4x3_add2::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add2::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_add2::IfcRelDefinesByTemplate Ifc4x3_add2::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add2::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_add2::IfcObject > Ifc4x3_add2::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcObject>(es); } @@ -13956,7 +13956,7 @@ void Ifc4x3_add2::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_add2::IfcT const ifcopenshell::entity& Ifc4x3_add2::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[935]); } -void Ifc4x3_add2::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_add2::IfcRelDefinesByType Ifc4x3_add2::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_add2::IfcOpeningElement Ifc4x3_add2::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcOpeningElement>(); } @@ -13966,7 +13966,7 @@ void Ifc4x3_add2::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[936]); } -void Ifc4x3_add2::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_add2::IfcRelFillsElement Ifc4x3_add2::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > Ifc4x3_add2::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcDistributionControlElement>(es); } @@ -13976,7 +13976,7 @@ void Ifc4x3_add2::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[937]); } -void Ifc4x3_add2::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add2::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_add2::IfcRelFlowControlElements Ifc4x3_add2::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add2::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_add2::IfcInterferenceSelect Ifc4x3_add2::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcInterferenceSelect>(); } @@ -13994,7 +13994,7 @@ void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceSpace(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[938]); } -void Ifc4x3_add2::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add2::IfcSpatialZone v10_InterferenceSpace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, (v10_InterferenceSpace)); } +Ifc4x3_add2::IfcRelInterferesElements Ifc4x3_add2::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add2::IfcSpatialZone v10_InterferenceSpace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, (v10_InterferenceSpace));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_add2::IfcObjectDefinition Ifc4x3_add2::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcObjectDefinition>(); } @@ -14004,7 +14004,7 @@ void Ifc4x3_add2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[939]); } -void Ifc4x3_add2::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_add2::IfcRelNests Ifc4x3_add2::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_add2::IfcPositioningElement Ifc4x3_add2::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcPositioningElement>(); } @@ -14014,7 +14014,7 @@ void Ifc4x3_add2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[940]); } -void Ifc4x3_add2::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add2::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_add2::IfcRelPositions Ifc4x3_add2::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add2::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } @@ -14024,7 +14024,7 @@ void Ifc4x3_add2::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[941]); } -void Ifc4x3_add2::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, ::Ifc4x3_add2::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_add2::IfcRelProjectsElement Ifc4x3_add2::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, ::Ifc4x3_add2::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect > Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_add2::IfcSpatialReferenceSelect>(es); } @@ -14034,7 +14034,7 @@ void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_add2::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[942]); } -void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_add2::IfcRelReferencedInSpatialStructure Ifc4x3_add2::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_add2::IfcProcess Ifc4x3_add2::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProcess>(); } @@ -14050,7 +14050,7 @@ void Ifc4x3_add2::IfcRelSequence::setUserDefinedSequenceType(const std::optional const ifcopenshell::entity& Ifc4x3_add2::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[943]); } -void Ifc4x3_add2::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcProcess v5_RelatingProcess, ::Ifc4x3_add2::IfcProcess v6_RelatedProcess, ::Ifc4x3_add2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_add2::IfcRelSequence Ifc4x3_add2::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcProcess v5_RelatingProcess, ::Ifc4x3_add2::IfcProcess v6_RelatedProcess, ::Ifc4x3_add2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_add2::IfcSystem Ifc4x3_add2::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSystem>(); } @@ -14060,7 +14060,7 @@ void Ifc4x3_add2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector const ifcopenshell::entity& Ifc4x3_add2::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[944]); } -void Ifc4x3_add2::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add2::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_add2::IfcRelServicesBuildings Ifc4x3_add2::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add2::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_add2::IfcSpaceBoundarySelect Ifc4x3_add2::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcSpaceBoundarySelect>(); } @@ -14076,7 +14076,7 @@ void Ifc4x3_add2::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[945]); } -void Ifc4x3_add2::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_add2::IfcRelSpaceBoundary Ifc4x3_add2::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel>(); } @@ -14085,7 +14085,7 @@ void Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_ std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel> Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[946], 9)); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[946]); } -void Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_add2::IfcRelSpaceBoundary1stLevel Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel>(); } @@ -14094,7 +14094,7 @@ void Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const :: std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel> Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[947], 10)); } const ifcopenshell::entity& Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[947]); } -void Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_add2::IfcElement Ifc4x3_add2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcElement>(); } @@ -14104,13 +14104,13 @@ void Ifc4x3_add2::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[948]); } -void Ifc4x3_add2::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add2::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_add2::IfcRelVoidsElement Ifc4x3_add2::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add2::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_add2::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[916]); } -void Ifc4x3_add2::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcRelationship Ifc4x3_add2::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14118,7 +14118,7 @@ void Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::setParamLength(const d const ifcopenshell::entity& Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[949]); } -void Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_add2::IfcRepresentationContext Ifc4x3_add2::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcRepresentationContext>(); } @@ -14135,7 +14135,7 @@ std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepre std::vector<::Ifc4x3_add2::IfcProductRepresentation> Ifc4x3_add2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[802], 2)); } const ifcopenshell::entity& Ifc4x3_add2::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[950]); } -void Ifc4x3_add2::IfcRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add2::IfcRepresentation Ifc4x3_add2::IfcRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_add2::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14146,7 +14146,7 @@ void Ifc4x3_add2::IfcRepresentationContext::setContextType(const std::optional< std::vector<::Ifc4x3_add2::IfcRepresentation> Ifc4x3_add2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[950], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[951]); } -void Ifc4x3_add2::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_add2::IfcRepresentationContext Ifc4x3_add2::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14154,7 +14154,7 @@ std::vector<::Ifc4x3_add2::IfcPresentationLayerAssignment> Ifc4x3_add2::IfcRepre std::vector<::Ifc4x3_add2::IfcStyledItem> Ifc4x3_add2::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1117], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[952]); } -void Ifc4x3_add2::IfcRepresentationItem::initialize() { } +Ifc4x3_add2::IfcRepresentationItem Ifc4x3_add2::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } @@ -14166,7 +14166,7 @@ std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcRepresentationMap::Ha std::vector<::Ifc4x3_add2::IfcMappedItem> Ifc4x3_add2::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[628], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[953]); } -void Ifc4x3_add2::IfcRepresentationMap::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add2::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_add2::IfcRepresentationMap Ifc4x3_add2::IfcRepresentationMap::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add2::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_add2::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14177,7 +14177,7 @@ void Ifc4x3_add2::IfcResource::setLongDescription(const std::optional< std::stri std::vector<::Ifc4x3_add2::IfcRelAssignsToResource> Ifc4x3_add2::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[907], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[954]); } -void Ifc4x3_add2::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_add2::IfcResource Ifc4x3_add2::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > Ifc4x3_add2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcResourceObjectSelect>(es); } @@ -14187,7 +14187,7 @@ void Ifc4x3_add2::IfcResourceApprovalRelationship::setRelatingApproval(const ::I const ifcopenshell::entity& Ifc4x3_add2::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[955]); } -void Ifc4x3_add2::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add2::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_add2::IfcResourceApprovalRelationship Ifc4x3_add2::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add2::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_add2::IfcConstraint Ifc4x3_add2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcConstraint>(); } @@ -14197,7 +14197,7 @@ void Ifc4x3_add2::IfcResourceConstraintRelationship::setRelatedResourceObjects(c const ifcopenshell::entity& Ifc4x3_add2::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[956]); } -void Ifc4x3_add2::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_add2::IfcResourceConstraintRelationship Ifc4x3_add2::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_add2::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14207,7 +14207,7 @@ void Ifc4x3_add2::IfcResourceLevelRelationship::setDescription(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[957]); } -void Ifc4x3_add2::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_add2::IfcResourceLevelRelationship Ifc4x3_add2::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14243,7 +14243,7 @@ void Ifc4x3_add2::IfcResourceTime::setCompletion(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add2::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[960]); } -void Ifc4x3_add2::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_add2::IfcResourceTime Ifc4x3_add2::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_add2::IfcAxis1Placement Ifc4x3_add2::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis1Placement>(); } @@ -14253,7 +14253,7 @@ void Ifc4x3_add2::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add2::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[961]); } -void Ifc4x3_add2::IfcRevolvedAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_add2::IfcRevolvedAreaSolid Ifc4x3_add2::IfcRevolvedAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -14261,7 +14261,7 @@ void Ifc4x3_add2::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[962]); } -void Ifc4x3_add2::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_add2::IfcRevolvedAreaSolidTapered Ifc4x3_add2::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_add2::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14271,7 +14271,7 @@ void Ifc4x3_add2::IfcRightCircularCone::setBottomRadius(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[963]); } -void Ifc4x3_add2::IfcRightCircularCone::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_add2::IfcRightCircularCone Ifc4x3_add2::IfcRightCircularCone::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_add2::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14281,7 +14281,7 @@ void Ifc4x3_add2::IfcRightCircularCylinder::setRadius(const double& v) { set_att const ifcopenshell::entity& Ifc4x3_add2::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[964]); } -void Ifc4x3_add2::IfcRightCircularCylinder::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_add2::IfcRightCircularCylinder Ifc4x3_add2::IfcRightCircularCylinder::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRigidOperation ::Ifc4x3_add2::IfcMeasureValue Ifc4x3_add2::IfcRigidOperation::FirstCoordinate() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcMeasureValue>(); } @@ -14293,7 +14293,7 @@ void Ifc4x3_add2::IfcRigidOperation::setHeight(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_add2::IfcRigidOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[965]); } -void Ifc4x3_add2::IfcRigidOperation::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add2::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add2::IfcMeasureValue v4_SecondCoordinate, std::optional< double > v5_Height) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_FirstCoordinate));set_attribute_value(3, (v4_SecondCoordinate)); if (v5_Height) {set_attribute_value(4, (*v5_Height)); } } +Ifc4x3_add2::IfcRigidOperation Ifc4x3_add2::IfcRigidOperation::initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add2::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add2::IfcMeasureValue v4_SecondCoordinate, std::optional< double > v5_Height) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_FirstCoordinate));set_attribute_value(3, (v4_SecondCoordinate)); if (v5_Height) {set_attribute_value(4, (*v5_Height)); }; return *this; } // Function implementations for IfcRoad std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > Ifc4x3_add2::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } @@ -14301,7 +14301,7 @@ void Ifc4x3_add2::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[966]); } -void Ifc4x3_add2::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcRoad Ifc4x3_add2::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRoadPart std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > Ifc4x3_add2::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } @@ -14309,7 +14309,7 @@ void Ifc4x3_add2::IfcRoadPart::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcRoadPart::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[967]); } -void Ifc4x3_add2::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcRoadPart Ifc4x3_add2::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > Ifc4x3_add2::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14317,7 +14317,7 @@ void Ifc4x3_add2::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[971]); } -void Ifc4x3_add2::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcRoof Ifc4x3_add2::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_add2::IfcRoofTypeEnum::Value Ifc4x3_add2::IfcRoofType::PredefinedType() const { return ::Ifc4x3_add2::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14325,7 +14325,7 @@ void Ifc4x3_add2::IfcRoofType::setPredefinedType(const ::Ifc4x3_add2::IfcRoofTyp const ifcopenshell::entity& Ifc4x3_add2::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[972]); } -void Ifc4x3_add2::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcRoofType Ifc4x3_add2::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_add2::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14339,7 +14339,7 @@ void Ifc4x3_add2::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_add2::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[974]); } -void Ifc4x3_add2::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_add2::IfcRoot Ifc4x3_add2::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_add2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14347,7 +14347,7 @@ void Ifc4x3_add2::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_add2::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[979]); } -void Ifc4x3_add2::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_add2::IfcRoundedRectangleProfileDef Ifc4x3_add2::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > Ifc4x3_add2::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14357,7 +14357,7 @@ void Ifc4x3_add2::IfcSIUnit::setName(const ::Ifc4x3_add2::IfcSIUnitName::Value& const ifcopenshell::entity& Ifc4x3_add2::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1025]); } -void Ifc4x3_add2::IfcSIUnit::initialize(::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add2::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_add2::IfcSIUnit Ifc4x3_add2::IfcSIUnit::initialize(::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add2::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_add2::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14365,7 +14365,7 @@ void Ifc4x3_add2::IfcSanitaryTerminal::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add2::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[980]); } -void Ifc4x3_add2::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSanitaryTerminal Ifc4x3_add2::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14373,7 +14373,7 @@ void Ifc4x3_add2::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[981]); } -void Ifc4x3_add2::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSanitaryTerminalType Ifc4x3_add2::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_add2::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14385,13 +14385,13 @@ void Ifc4x3_add2::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[983]); } -void Ifc4x3_add2::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_add2::IfcSchedulingTime Ifc4x3_add2::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_add2::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[984]); } -void Ifc4x3_add2::IfcSeamCurve::initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_add2::IfcSeamCurve Ifc4x3_add2::IfcSeamCurve::initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSecondOrderPolynomialSpiral double Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } @@ -14403,7 +14403,7 @@ void Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::opt const ifcopenshell::entity& Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[985]); } -void Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_add2::IfcSecondOrderPolynomialSpiral Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_add2::IfcSectionTypeEnum::Value Ifc4x3_add2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14415,7 +14415,7 @@ void Ifc4x3_add2::IfcSectionProperties::setEndProfile(const ::Ifc4x3_add2::IfcPr const ifcopenshell::entity& Ifc4x3_add2::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[992]); } -void Ifc4x3_add2::IfcSectionProperties::initialize(::Ifc4x3_add2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add2::IfcProfileDef v2_StartProfile, ::Ifc4x3_add2::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_add2::IfcSectionProperties Ifc4x3_add2::IfcSectionProperties::initialize(::Ifc4x3_add2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add2::IfcProfileDef v2_StartProfile, ::Ifc4x3_add2::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_add2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14433,7 +14433,7 @@ void Ifc4x3_add2::IfcSectionReinforcementProperties::setCrossSectionReinforcemen const ifcopenshell::entity& Ifc4x3_add2::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[993]); } -void Ifc4x3_add2::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_add2::IfcSectionReinforcementProperties Ifc4x3_add2::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -14443,7 +14443,7 @@ void Ifc4x3_add2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[987]); } -void Ifc4x3_add2::IfcSectionedSolid::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_add2::IfcSectionedSolid Ifc4x3_add2::IfcSectionedSolid::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > Ifc4x3_add2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_add2::IfcAxis2PlacementLinear>(es); } @@ -14451,7 +14451,7 @@ void Ifc4x3_add2::IfcSectionedSolidHorizontal::setCrossSectionPositions(const st const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[988]); } -void Ifc4x3_add2::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_add2::IfcSectionedSolidHorizontal Ifc4x3_add2::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_add2::IfcCompositeCurve Ifc4x3_add2::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCompositeCurve>(); } @@ -14463,7 +14463,7 @@ void Ifc4x3_add2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[989]); } -void Ifc4x3_add2::IfcSectionedSpine::initialize(::Ifc4x3_add2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_add2::IfcSectionedSpine Ifc4x3_add2::IfcSectionedSpine::initialize(::Ifc4x3_add2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -14475,7 +14475,7 @@ void Ifc4x3_add2::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[990]); } -void Ifc4x3_add2::IfcSectionedSurface::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections)); } +Ifc4x3_add2::IfcSectionedSurface Ifc4x3_add2::IfcSectionedSurface::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));; return *this; } // Function implementations for IfcSegment ::Ifc4x3_add2::IfcTransitionCode::Value Ifc4x3_add2::IfcSegment::Transition() const { return ::Ifc4x3_add2::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14484,7 +14484,7 @@ void Ifc4x3_add2::IfcSegment::setTransition(const ::Ifc4x3_add2::IfcTransitionCo std::vector<::Ifc4x3_add2::IfcCompositeCurve> Ifc4x3_add2::IfcSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[192], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[995]); } -void Ifc4x3_add2::IfcSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3_add2::IfcSegment Ifc4x3_add2::IfcSegment::initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3_add2::IfcBoundedCurve Ifc4x3_add2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcBoundedCurve>(); } @@ -14494,7 +14494,7 @@ void Ifc4x3_add2::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[996]); } -void Ifc4x3_add2::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_add2::IfcSegmentedReferenceCurve Ifc4x3_add2::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > Ifc4x3_add2::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14502,7 +14502,7 @@ void Ifc4x3_add2::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[998]); } -void Ifc4x3_add2::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSensor Ifc4x3_add2::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_add2::IfcSensorTypeEnum::Value Ifc4x3_add2::IfcSensorType::PredefinedType() const { return ::Ifc4x3_add2::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14510,7 +14510,7 @@ void Ifc4x3_add2::IfcSensorType::setPredefinedType(const ::Ifc4x3_add2::IfcSenso const ifcopenshell::entity& Ifc4x3_add2::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[999]); } -void Ifc4x3_add2::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSensorType Ifc4x3_add2::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSeventhOrderPolynomialSpiral double Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } @@ -14532,7 +14532,7 @@ void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setConstantTerm(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1002]); } -void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); } } +Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_add2::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14540,7 +14540,7 @@ void Ifc4x3_add2::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1003]); } -void Ifc4x3_add2::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcShadingDevice Ifc4x3_add2::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value Ifc4x3_add2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14548,7 +14548,7 @@ void Ifc4x3_add2::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1004]); } -void Ifc4x3_add2::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcShadingDeviceType Ifc4x3_add2::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_add2::IfcShapeModel > Ifc4x3_add2::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcShapeModel>(es); } @@ -14565,20 +14565,20 @@ void Ifc4x3_add2::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3 std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1006]); } -void Ifc4x3_add2::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_add2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_add2::IfcShapeAspect Ifc4x3_add2::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_add2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_add2::IfcShapeAspect> Ifc4x3_add2::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1006], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1007]); } -void Ifc4x3_add2::IfcShapeModel::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add2::IfcShapeModel Ifc4x3_add2::IfcShapeModel::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_add2::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1008]); } -void Ifc4x3_add2::IfcShapeRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add2::IfcShapeRepresentation Ifc4x3_add2::IfcShapeRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_add2::IfcShell > Ifc4x3_add2::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcShell>(es); } @@ -14586,7 +14586,7 @@ void Ifc4x3_add2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< const ifcopenshell::entity& Ifc4x3_add2::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1011]); } -void Ifc4x3_add2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_add2::IfcShellBasedSurfaceModel Ifc4x3_add2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_add2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > Ifc4x3_add2::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14594,7 +14594,7 @@ void Ifc4x3_add2::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1012]); } -void Ifc4x3_add2::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSign Ifc4x3_add2::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_add2::IfcSignTypeEnum::Value Ifc4x3_add2::IfcSignType::PredefinedType() const { return ::Ifc4x3_add2::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14602,7 +14602,7 @@ void Ifc4x3_add2::IfcSignType::setPredefinedType(const ::Ifc4x3_add2::IfcSignTyp const ifcopenshell::entity& Ifc4x3_add2::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1016]); } -void Ifc4x3_add2::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSignType Ifc4x3_add2::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > Ifc4x3_add2::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14610,7 +14610,7 @@ void Ifc4x3_add2::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1013]); } -void Ifc4x3_add2::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSignal Ifc4x3_add2::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_add2::IfcSignalTypeEnum::Value Ifc4x3_add2::IfcSignalType::PredefinedType() const { return ::Ifc4x3_add2::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14618,13 +14618,13 @@ void Ifc4x3_add2::IfcSignalType::setPredefinedType(const ::Ifc4x3_add2::IfcSigna const ifcopenshell::entity& Ifc4x3_add2::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1014]); } -void Ifc4x3_add2::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSignalType Ifc4x3_add2::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_add2::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1018]); } -void Ifc4x3_add2::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3_add2::IfcSimpleProperty Ifc4x3_add2::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_add2::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14646,7 +14646,7 @@ void Ifc4x3_add2::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1019]); } -void Ifc4x3_add2::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_add2::IfcSimplePropertyTemplate Ifc4x3_add2::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSineSpiral double Ifc4x3_add2::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } @@ -14658,7 +14658,7 @@ void Ifc4x3_add2::IfcSineSpiral::setConstantTerm(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add2::IfcSineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1022]); } -void Ifc4x3_add2::IfcSineSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_add2::IfcSineSpiral Ifc4x3_add2::IfcSineSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add2::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14674,7 +14674,7 @@ void Ifc4x3_add2::IfcSite::setSiteAddress(const ::Ifc4x3_add2::IfcPostalAddress& const ifcopenshell::entity& Ifc4x3_add2::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1024]); } -void Ifc4x3_add2::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add2::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_add2::IfcSite Ifc4x3_add2::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add2::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > Ifc4x3_add2::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14682,7 +14682,7 @@ void Ifc4x3_add2::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1028]); } -void Ifc4x3_add2::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSlab Ifc4x3_add2::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_add2::IfcSlabTypeEnum::Value Ifc4x3_add2::IfcSlabType::PredefinedType() const { return ::Ifc4x3_add2::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14690,7 +14690,7 @@ void Ifc4x3_add2::IfcSlabType::setPredefinedType(const ::Ifc4x3_add2::IfcSlabTyp const ifcopenshell::entity& Ifc4x3_add2::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1029]); } -void Ifc4x3_add2::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSlabType Ifc4x3_add2::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14702,7 +14702,7 @@ void Ifc4x3_add2::IfcSlippageConnectionCondition::setSlippageZ(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1031]); } -void Ifc4x3_add2::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_add2::IfcSlippageConnectionCondition Ifc4x3_add2::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_add2::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14710,7 +14710,7 @@ void Ifc4x3_add2::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1032]); } -void Ifc4x3_add2::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSolarDevice Ifc4x3_add2::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value Ifc4x3_add2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14718,13 +14718,13 @@ void Ifc4x3_add2::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1033]); } -void Ifc4x3_add2::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSolarDeviceType Ifc4x3_add2::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_add2::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1036]); } -void Ifc4x3_add2::IfcSolidModel::initialize() { } +Ifc4x3_add2::IfcSolidModel Ifc4x3_add2::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > Ifc4x3_add2::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14736,7 +14736,7 @@ std::vector<::Ifc4x3_add2::IfcRelCoversSpaces> Ifc4x3_add2::IfcSpace::HasCoverin std::vector<::Ifc4x3_add2::IfcRelSpaceBoundary> Ifc4x3_add2::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[945], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1042]); } -void Ifc4x3_add2::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_add2::IfcSpace Ifc4x3_add2::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_add2::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14744,7 +14744,7 @@ void Ifc4x3_add2::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1044]); } -void Ifc4x3_add2::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSpaceHeater Ifc4x3_add2::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14752,7 +14752,7 @@ void Ifc4x3_add2::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1045]); } -void Ifc4x3_add2::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSpaceHeaterType Ifc4x3_add2::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_add2::IfcSpaceTypeEnum::Value Ifc4x3_add2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14762,7 +14762,7 @@ void Ifc4x3_add2::IfcSpaceType::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add2::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1047]); } -void Ifc4x3_add2::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_add2::IfcSpaceType Ifc4x3_add2::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_add2::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14775,7 +14775,7 @@ std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcSpatialElem std::vector<::Ifc4x3_add2::IfcRelInterferesElements> Ifc4x3_add2::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[938], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1049]); } -void Ifc4x3_add2::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_add2::IfcSpatialElement Ifc4x3_add2::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_add2::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14783,7 +14783,7 @@ void Ifc4x3_add2::IfcSpatialElementType::setElementType(const std::optional< std const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1050]); } -void Ifc4x3_add2::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcSpatialElementType Ifc4x3_add2::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > Ifc4x3_add2::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14791,13 +14791,13 @@ void Ifc4x3_add2::IfcSpatialStructureElement::setCompositionType(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1052]); } -void Ifc4x3_add2::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_add2::IfcSpatialStructureElement Ifc4x3_add2::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1053]); } -void Ifc4x3_add2::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcSpatialStructureElementType Ifc4x3_add2::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_add2::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14805,7 +14805,7 @@ void Ifc4x3_add2::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1054]); } -void Ifc4x3_add2::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSpatialZone Ifc4x3_add2::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value Ifc4x3_add2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14815,7 +14815,7 @@ void Ifc4x3_add2::IfcSpatialZoneType::setLongName(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_add2::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1055]); } -void Ifc4x3_add2::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_add2::IfcSpatialZoneType Ifc4x3_add2::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_add2::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14823,7 +14823,7 @@ void Ifc4x3_add2::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_add2::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1061]); } -void Ifc4x3_add2::IfcSphere::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add2::IfcSphere Ifc4x3_add2::IfcSphere::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_add2::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14831,7 +14831,7 @@ void Ifc4x3_add2::IfcSphericalSurface::setRadius(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add2::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1062]); } -void Ifc4x3_add2::IfcSphericalSurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_add2::IfcSphericalSurface Ifc4x3_add2::IfcSphericalSurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSpiral ::Ifc4x3_add2::IfcAxis2Placement Ifc4x3_add2::IfcSpiral::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcAxis2Placement>(); } @@ -14839,7 +14839,7 @@ void Ifc4x3_add2::IfcSpiral::setPosition(const ::Ifc4x3_add2::IfcAxis2Placement& const ifcopenshell::entity& Ifc4x3_add2::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1063]); } -void Ifc4x3_add2::IfcSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_add2::IfcSpiral Ifc4x3_add2::IfcSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > Ifc4x3_add2::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14847,7 +14847,7 @@ void Ifc4x3_add2::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1064]); } -void Ifc4x3_add2::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcStackTerminal Ifc4x3_add2::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value Ifc4x3_add2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14855,7 +14855,7 @@ void Ifc4x3_add2::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1065]); } -void Ifc4x3_add2::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcStackTerminalType Ifc4x3_add2::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > Ifc4x3_add2::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14863,7 +14863,7 @@ void Ifc4x3_add2::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1067]); } -void Ifc4x3_add2::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcStair Ifc4x3_add2::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_add2::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14879,7 +14879,7 @@ void Ifc4x3_add2::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1068]); } -void Ifc4x3_add2::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_add2::IfcStairFlight Ifc4x3_add2::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value Ifc4x3_add2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_add2::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14887,7 +14887,7 @@ void Ifc4x3_add2::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1069]); } -void Ifc4x3_add2::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcStairFlightType Ifc4x3_add2::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_add2::IfcStairTypeEnum::Value Ifc4x3_add2::IfcStairType::PredefinedType() const { return ::Ifc4x3_add2::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14895,7 +14895,7 @@ void Ifc4x3_add2::IfcStairType::setPredefinedType(const ::Ifc4x3_add2::IfcStairT const ifcopenshell::entity& Ifc4x3_add2::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1071]); } -void Ifc4x3_add2::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcStairType Ifc4x3_add2::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_add2::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -14903,7 +14903,7 @@ void Ifc4x3_add2::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1075]); } -void Ifc4x3_add2::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_add2::IfcStructuralAction Ifc4x3_add2::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_add2::IfcStructuralLoad Ifc4x3_add2::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcStructuralLoad>(); } @@ -14914,7 +14914,7 @@ void Ifc4x3_add2::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_add2::I std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralActivity> Ifc4x3_add2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[922], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1076]); } -void Ifc4x3_add2::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_add2::IfcStructuralActivity Ifc4x3_add2::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value Ifc4x3_add2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -14930,7 +14930,7 @@ void Ifc4x3_add2::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1078]); } -void Ifc4x3_add2::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add2::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_add2::IfcStructuralAnalysisModel Ifc4x3_add2::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add2::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_add2::IfcBoundaryCondition Ifc4x3_add2::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_add2::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_add2::IfcBoundaryCondition>(); } @@ -14939,7 +14939,7 @@ void Ifc4x3_add2::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_ad std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralMember> Ifc4x3_add2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[923], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1079]); } -void Ifc4x3_add2::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_add2::IfcStructuralConnection Ifc4x3_add2::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_add2::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14947,7 +14947,7 @@ void Ifc4x3_add2::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1080]); } -void Ifc4x3_add2::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcStructuralConnectionCondition Ifc4x3_add2::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -14957,7 +14957,7 @@ void Ifc4x3_add2::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1081]); } -void Ifc4x3_add2::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcStructuralCurveAction Ifc4x3_add2::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcStructuralCurveConnection::AxisDirection() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -14965,7 +14965,7 @@ void Ifc4x3_add2::IfcStructuralCurveConnection::setAxisDirection(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1083]); } -void Ifc4x3_add2::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection)); } +Ifc4x3_add2::IfcStructuralCurveConnection Ifc4x3_add2::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -14975,13 +14975,13 @@ void Ifc4x3_add2::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_add2::IfcDire const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1084]); } -void Ifc4x3_add2::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_add2::IfcStructuralCurveMember Ifc4x3_add2::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1086]); } -void Ifc4x3_add2::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_add2::IfcStructuralCurveMemberVarying Ifc4x3_add2::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -14989,20 +14989,20 @@ void Ifc4x3_add2::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1087]); } -void Ifc4x3_add2::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcStructuralCurveReaction Ifc4x3_add2::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralActivity> Ifc4x3_add2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[922], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1088]); } -void Ifc4x3_add2::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcStructuralItem Ifc4x3_add2::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1089]); } -void Ifc4x3_add2::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcStructuralLinearAction Ifc4x3_add2::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_add2::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15010,7 +15010,7 @@ void Ifc4x3_add2::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1090]); } -void Ifc4x3_add2::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcStructuralLoad Ifc4x3_add2::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_add2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -15018,7 +15018,7 @@ void Ifc4x3_add2::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1091]); } -void Ifc4x3_add2::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_add2::IfcStructuralLoadCase Ifc4x3_add2::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > Ifc4x3_add2::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcStructuralLoadOrResult>(es); } @@ -15028,7 +15028,7 @@ void Ifc4x3_add2::IfcStructuralLoadConfiguration::setLocations(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1092]); } -void Ifc4x3_add2::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_add2::IfcStructuralLoadConfiguration Ifc4x3_add2::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_add2::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15046,7 +15046,7 @@ std::vector<::Ifc4x3_add2::IfcStructuralResultGroup> Ifc4x3_add2::IfcStructuralL std::vector<::Ifc4x3_add2::IfcStructuralAnalysisModel> Ifc4x3_add2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1078], 7)); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1093]); } -void Ifc4x3_add2::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_add2::IfcStructuralLoadGroup Ifc4x3_add2::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15064,13 +15064,13 @@ void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1094]); } -void Ifc4x3_add2::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_add2::IfcStructuralLoadLinearForce Ifc4x3_add2::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1095]); } -void Ifc4x3_add2::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcStructuralLoadOrResult Ifc4x3_add2::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15082,7 +15082,7 @@ void Ifc4x3_add2::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::optio const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1096]); } -void Ifc4x3_add2::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_add2::IfcStructuralLoadPlanarForce Ifc4x3_add2::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15100,7 +15100,7 @@ void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacement const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1097]); } -void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_add2::IfcStructuralLoadSingleDisplacement Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15108,7 +15108,7 @@ void Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(c const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1098]); } -void Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15126,7 +15126,7 @@ void Ifc4x3_add2::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1099]); } -void Ifc4x3_add2::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_add2::IfcStructuralLoadSingleForce Ifc4x3_add2::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15134,13 +15134,13 @@ void Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const st const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1100]); } -void Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_add2::IfcStructuralLoadSingleForceWarping Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1101]); } -void Ifc4x3_add2::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_add2::IfcStructuralLoadStatic Ifc4x3_add2::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15152,26 +15152,26 @@ void Ifc4x3_add2::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1102]); } -void Ifc4x3_add2::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_add2::IfcStructuralLoadTemperature Ifc4x3_add2::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_add2::IfcRelConnectsStructuralMember> Ifc4x3_add2::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[923], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1103]); } -void Ifc4x3_add2::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_add2::IfcStructuralMember Ifc4x3_add2::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1104]); } -void Ifc4x3_add2::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcStructuralPlanarAction Ifc4x3_add2::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1105]); } -void Ifc4x3_add2::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_add2::IfcStructuralPointAction Ifc4x3_add2::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_add2::IfcAxis2Placement3D Ifc4x3_add2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_add2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_add2::IfcAxis2Placement3D>(); } @@ -15179,19 +15179,19 @@ void Ifc4x3_add2::IfcStructuralPointConnection::setConditionCoordinateSystem(con const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1106]); } -void Ifc4x3_add2::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_add2::IfcStructuralPointConnection Ifc4x3_add2::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1107]); } -void Ifc4x3_add2::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_add2::IfcStructuralPointReaction Ifc4x3_add2::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1108]); } -void Ifc4x3_add2::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_add2::IfcStructuralReaction Ifc4x3_add2::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15204,7 +15204,7 @@ void Ifc4x3_add2::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_att std::vector<::Ifc4x3_add2::IfcStructuralAnalysisModel> Ifc4x3_add2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1078], 8)); } const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1109]); } -void Ifc4x3_add2::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_add2::IfcStructuralResultGroup Ifc4x3_add2::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15214,13 +15214,13 @@ void Ifc4x3_add2::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1110]); } -void Ifc4x3_add2::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcStructuralSurfaceAction Ifc4x3_add2::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1112]); } -void Ifc4x3_add2::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_add2::IfcStructuralSurfaceConnection Ifc4x3_add2::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15230,13 +15230,13 @@ void Ifc4x3_add2::IfcStructuralSurfaceMember::setThickness(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1113]); } -void Ifc4x3_add2::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_add2::IfcStructuralSurfaceMember Ifc4x3_add2::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1115]); } -void Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_add2::IfcStructuralSurfaceMemberVarying Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15244,13 +15244,13 @@ void Ifc4x3_add2::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1116]); } -void Ifc4x3_add2::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcStructuralSurfaceReaction Ifc4x3_add2::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_add2::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1119]); } -void Ifc4x3_add2::IfcStyleModel::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add2::IfcStyleModel Ifc4x3_add2::IfcStyleModel::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_add2::IfcRepresentationItem Ifc4x3_add2::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add2::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcRepresentationItem>(); } @@ -15262,13 +15262,13 @@ void Ifc4x3_add2::IfcStyledItem::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_add2::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1117]); } -void Ifc4x3_add2::IfcStyledItem::initialize(::Ifc4x3_add2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_add2::IfcStyledItem Ifc4x3_add2::IfcStyledItem::initialize(::Ifc4x3_add2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_add2::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1118]); } -void Ifc4x3_add2::IfcStyledRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add2::IfcStyledRepresentation Ifc4x3_add2::IfcStyledRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_add2::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15276,7 +15276,7 @@ void Ifc4x3_add2::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1120]); } -void Ifc4x3_add2::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_add2::IfcSubContractResource Ifc4x3_add2::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value Ifc4x3_add2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15284,7 +15284,7 @@ void Ifc4x3_add2::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1121]); } -void Ifc4x3_add2::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_add2::IfcSubContractResourceType Ifc4x3_add2::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_add2::IfcEdge Ifc4x3_add2::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcEdge>(); } @@ -15292,13 +15292,13 @@ void Ifc4x3_add2::IfcSubedge::setParentEdge(const ::Ifc4x3_add2::IfcEdge& v) { s const ifcopenshell::entity& Ifc4x3_add2::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1123]); } -void Ifc4x3_add2::IfcSubedge::initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_add2::IfcSubedge Ifc4x3_add2::IfcSubedge::initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_add2::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1124]); } -void Ifc4x3_add2::IfcSurface::initialize() { } +Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -15310,7 +15310,7 @@ void Ifc4x3_add2::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1125]); } -void Ifc4x3_add2::IfcSurfaceCurve::initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_add2::IfcSurfaceCurve Ifc4x3_add2::IfcSurfaceCurve::initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_add2::IfcSurface Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_add2::IfcSurface>(); } @@ -15318,7 +15318,7 @@ void Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1126]); } -void Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15327,7 +15327,7 @@ void Ifc4x3_add2::IfcSurfaceFeature::setPredefinedType(const std::optional< ::If std::vector<::Ifc4x3_add2::IfcRelAdheresToElement> Ifc4x3_add2::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[898], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1127]); } -void Ifc4x3_add2::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSurfaceFeature Ifc4x3_add2::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -15337,7 +15337,7 @@ void Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1129]); } -void Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_add2::IfcSurfaceOfLinearExtrusion Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_add2::IfcAxis1Placement Ifc4x3_add2::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcAxis1Placement>(); } @@ -15345,7 +15345,7 @@ void Ifc4x3_add2::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1130]); } -void Ifc4x3_add2::IfcSurfaceOfRevolution::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_add2::IfcSurfaceOfRevolution Ifc4x3_add2::IfcSurfaceOfRevolution::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15357,7 +15357,7 @@ void Ifc4x3_add2::IfcSurfaceReinforcementArea::setShearReinforcement(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1132]); } -void Ifc4x3_add2::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_add2::IfcSurfaceReinforcementArea Ifc4x3_add2::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_add2::IfcSurfaceSide::Value Ifc4x3_add2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add2::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15367,7 +15367,7 @@ void Ifc4x3_add2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1134]); } -void Ifc4x3_add2::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_add2::IfcSurfaceStyle Ifc4x3_add2::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcColourRgb>(); } @@ -15381,7 +15381,7 @@ void Ifc4x3_add2::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1136]); } -void Ifc4x3_add2::IfcSurfaceStyleLighting::initialize(::Ifc4x3_add2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add2::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_add2::IfcSurfaceStyleLighting Ifc4x3_add2::IfcSurfaceStyleLighting::initialize(::Ifc4x3_add2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add2::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_add2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15391,7 +15391,7 @@ void Ifc4x3_add2::IfcSurfaceStyleRefraction::setDispersionFactor(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1137]); } -void Ifc4x3_add2::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_add2::IfcSurfaceStyleRefraction Ifc4x3_add2::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_add2::IfcColourOrFactor Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_add2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_add2::IfcColourOrFactor>(); } @@ -15411,7 +15411,7 @@ void Ifc4x3_add2::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1138]); } -void Ifc4x3_add2::IfcSurfaceStyleRendering::initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_add2::IfcSurfaceStyleRendering Ifc4x3_add2::IfcSurfaceStyleRendering::initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_add2::IfcColourRgb Ifc4x3_add2::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcColourRgb>(); } @@ -15421,7 +15421,7 @@ void Ifc4x3_add2::IfcSurfaceStyleShading::setTransparency(const std::optional< d const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1139]); } -void Ifc4x3_add2::IfcSurfaceStyleShading::initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_add2::IfcSurfaceStyleShading Ifc4x3_add2::IfcSurfaceStyleShading::initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > Ifc4x3_add2::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcSurfaceTexture>(es); } @@ -15429,7 +15429,7 @@ void Ifc4x3_add2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< :: const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1140]); } -void Ifc4x3_add2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_add2::IfcSurfaceStyleWithTextures Ifc4x3_add2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_add2::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15447,7 +15447,7 @@ std::vector<::Ifc4x3_add2::IfcTextureCoordinate> Ifc4x3_add2::IfcSurfaceTexture: std::vector<::Ifc4x3_add2::IfcSurfaceStyleWithTextures> Ifc4x3_add2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[1140], 0)); } const ifcopenshell::entity& Ifc4x3_add2::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1141]); } -void Ifc4x3_add2::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_add2::IfcSurfaceTexture Ifc4x3_add2::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -15457,7 +15457,7 @@ void Ifc4x3_add2::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_add2::IfcAxis2Pl const ifcopenshell::entity& Ifc4x3_add2::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1142]); } -void Ifc4x3_add2::IfcSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_add2::IfcSweptAreaSolid Ifc4x3_add2::IfcSweptAreaSolid::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -15473,7 +15473,7 @@ void Ifc4x3_add2::IfcSweptDiskSolid::setEndParam(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_add2::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1143]); } -void Ifc4x3_add2::IfcSweptDiskSolid::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_add2::IfcSweptDiskSolid Ifc4x3_add2::IfcSweptDiskSolid::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_add2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15481,7 +15481,7 @@ void Ifc4x3_add2::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1144]); } -void Ifc4x3_add2::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_add2::IfcSweptDiskSolidPolygonal Ifc4x3_add2::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_add2::IfcProfileDef Ifc4x3_add2::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcProfileDef>(); } @@ -15491,7 +15491,7 @@ void Ifc4x3_add2::IfcSweptSurface::setPosition(const ::Ifc4x3_add2::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_add2::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1145]); } -void Ifc4x3_add2::IfcSweptSurface::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_add2::IfcSweptSurface Ifc4x3_add2::IfcSweptSurface::initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_add2::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15499,7 +15499,7 @@ void Ifc4x3_add2::IfcSwitchingDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1146]); } -void Ifc4x3_add2::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSwitchingDevice Ifc4x3_add2::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15507,7 +15507,7 @@ void Ifc4x3_add2::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1147]); } -void Ifc4x3_add2::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcSwitchingDeviceType Ifc4x3_add2::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15515,7 +15515,7 @@ std::vector<::Ifc4x3_add2::IfcRelServicesBuildings> Ifc4x3_add2::IfcSystem::Serv std::vector<::Ifc4x3_add2::IfcRelReferencedInSpatialStructure> Ifc4x3_add2::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_add2::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1149]); } -void Ifc4x3_add2::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_add2::IfcSystem Ifc4x3_add2::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add2::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15523,7 +15523,7 @@ void Ifc4x3_add2::IfcSystemFurnitureElement::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_add2::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1150]); } -void Ifc4x3_add2::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcSystemFurnitureElement Ifc4x3_add2::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add2::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15531,7 +15531,7 @@ void Ifc4x3_add2::IfcSystemFurnitureElementType::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_add2::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1151]); } -void Ifc4x3_add2::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcSystemFurnitureElementType Ifc4x3_add2::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_add2::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15555,7 +15555,7 @@ void Ifc4x3_add2::IfcTShapeProfileDef::setFlangeSlope(const std::optional< doubl const ifcopenshell::entity& Ifc4x3_add2::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1237]); } -void Ifc4x3_add2::IfcTShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_add2::IfcTShapeProfileDef Ifc4x3_add2::IfcTShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_add2::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15567,7 +15567,7 @@ void Ifc4x3_add2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1153]); } -void Ifc4x3_add2::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_add2::IfcTable Ifc4x3_add2::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_add2::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15583,7 +15583,7 @@ void Ifc4x3_add2::IfcTableColumn::setReferencePath(const ::Ifc4x3_add2::IfcRefer const ifcopenshell::entity& Ifc4x3_add2::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1154]); } -void Ifc4x3_add2::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add2::IfcUnit v4_Unit, ::Ifc4x3_add2::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_add2::IfcTableColumn Ifc4x3_add2::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add2::IfcUnit v4_Unit, ::Ifc4x3_add2::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > Ifc4x3_add2::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } @@ -15593,7 +15593,7 @@ void Ifc4x3_add2::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_add2::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1155]); } -void Ifc4x3_add2::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_add2::IfcTableRow Ifc4x3_add2::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > Ifc4x3_add2::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15601,7 +15601,7 @@ void Ifc4x3_add2::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1156]); } -void Ifc4x3_add2::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcTank Ifc4x3_add2::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_add2::IfcTankTypeEnum::Value Ifc4x3_add2::IfcTankType::PredefinedType() const { return ::Ifc4x3_add2::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15609,7 +15609,7 @@ void Ifc4x3_add2::IfcTankType::setPredefinedType(const ::Ifc4x3_add2::IfcTankTyp const ifcopenshell::entity& Ifc4x3_add2::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1157]); } -void Ifc4x3_add2::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTankType Ifc4x3_add2::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_add2::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15627,7 +15627,7 @@ void Ifc4x3_add2::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1159]); } -void Ifc4x3_add2::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_add2::IfcTask Ifc4x3_add2::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > Ifc4x3_add2::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15667,7 +15667,7 @@ void Ifc4x3_add2::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1161]); } -void Ifc4x3_add2::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_add2::IfcTaskTime Ifc4x3_add2::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_add2::IfcRecurrencePattern Ifc4x3_add2::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_add2::IfcRecurrencePattern>(); } @@ -15675,7 +15675,7 @@ void Ifc4x3_add2::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_add2::IfcRe const ifcopenshell::entity& Ifc4x3_add2::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1162]); } -void Ifc4x3_add2::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add2::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_add2::IfcTaskTimeRecurring Ifc4x3_add2::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add2::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_add2::IfcTaskTypeEnum::Value Ifc4x3_add2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_add2::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15685,7 +15685,7 @@ void Ifc4x3_add2::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add2::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1163]); } -void Ifc4x3_add2::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_add2::IfcTaskType Ifc4x3_add2::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15703,7 +15703,7 @@ void Ifc4x3_add2::IfcTelecomAddress::setMessagingIDs(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_add2::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1165]); } -void Ifc4x3_add2::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_add2::IfcTelecomAddress Ifc4x3_add2::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > Ifc4x3_add2::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15725,7 +15725,7 @@ void Ifc4x3_add2::IfcTendon::setMinCurvatureRadius(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add2::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1168]); } -void Ifc4x3_add2::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_add2::IfcTendon Ifc4x3_add2::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_add2::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15733,7 +15733,7 @@ void Ifc4x3_add2::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1169]); } -void Ifc4x3_add2::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcTendonAnchor Ifc4x3_add2::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value Ifc4x3_add2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15741,7 +15741,7 @@ void Ifc4x3_add2::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1170]); } -void Ifc4x3_add2::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTendonAnchorType Ifc4x3_add2::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > Ifc4x3_add2::IfcTendonConduit::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15749,7 +15749,7 @@ void Ifc4x3_add2::IfcTendonConduit::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1172]); } -void Ifc4x3_add2::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_add2::IfcTendonConduit Ifc4x3_add2::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value Ifc4x3_add2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15757,7 +15757,7 @@ void Ifc4x3_add2::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1173]); } -void Ifc4x3_add2::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTendonConduitType Ifc4x3_add2::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_add2::IfcTendonTypeEnum::Value Ifc4x3_add2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15771,7 +15771,7 @@ void Ifc4x3_add2::IfcTendonType::setSheathDiameter(const std::optional< double > const ifcopenshell::entity& Ifc4x3_add2::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1175]); } -void Ifc4x3_add2::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_add2::IfcTendonType Ifc4x3_add2::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_add2::IfcCartesianPointList3D Ifc4x3_add2::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCartesianPointList3D>(); } @@ -15781,13 +15781,13 @@ std::vector<::Ifc4x3_add2::IfcIndexedColourMap> Ifc4x3_add2::IfcTessellatedFaceS std::vector<::Ifc4x3_add2::IfcIndexedTextureMap> Ifc4x3_add2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[547], 1)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1177]); } -void Ifc4x3_add2::IfcTessellatedFaceSet::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_add2::IfcTessellatedFaceSet Ifc4x3_add2::IfcTessellatedFaceSet::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_add2::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1178]); } -void Ifc4x3_add2::IfcTessellatedItem::initialize() { } +Ifc4x3_add2::IfcTessellatedItem Ifc4x3_add2::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_add2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15799,7 +15799,7 @@ void Ifc4x3_add2::IfcTextLiteral::setPath(const ::Ifc4x3_add2::IfcTextPath::Valu const ifcopenshell::entity& Ifc4x3_add2::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1184]); } -void Ifc4x3_add2::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_add2::IfcTextLiteral Ifc4x3_add2::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_add2::IfcPlanarExtent Ifc4x3_add2::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcPlanarExtent>(); } @@ -15809,7 +15809,7 @@ void Ifc4x3_add2::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v const ifcopenshell::entity& Ifc4x3_add2::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1185]); } -void Ifc4x3_add2::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path, ::Ifc4x3_add2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_add2::IfcTextLiteralWithExtent Ifc4x3_add2::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path, ::Ifc4x3_add2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_add2::IfcTextStyleForDefinedFont Ifc4x3_add2::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_add2::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_add2::IfcTextStyleForDefinedFont>(); } @@ -15823,7 +15823,7 @@ void Ifc4x3_add2::IfcTextStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1187]); } -void Ifc4x3_add2::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_add2::IfcTextStyle Ifc4x3_add2::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_add2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15839,7 +15839,7 @@ void Ifc4x3_add2::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_add2::IfcSiz const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1188]); } -void Ifc4x3_add2::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add2::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_add2::IfcTextStyleFontModel Ifc4x3_add2::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add2::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_add2::IfcColour Ifc4x3_add2::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcColour>(); } @@ -15849,7 +15849,7 @@ void Ifc4x3_add2::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1189]); } -void Ifc4x3_add2::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_add2::IfcColour v1_Colour, ::Ifc4x3_add2::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_add2::IfcTextStyleForDefinedFont Ifc4x3_add2::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_add2::IfcColour v1_Colour, ::Ifc4x3_add2::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_add2::IfcSizeSelect Ifc4x3_add2::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_add2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcSizeSelect>(); } @@ -15869,7 +15869,7 @@ void Ifc4x3_add2::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_add2::IfcS const ifcopenshell::entity& Ifc4x3_add2::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1190]); } -void Ifc4x3_add2::IfcTextStyleTextModel::initialize(::Ifc4x3_add2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add2::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_add2::IfcTextStyleTextModel Ifc4x3_add2::IfcTextStyleTextModel::initialize(::Ifc4x3_add2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add2::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > Ifc4x3_add2::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcSurfaceTexture>(es); } @@ -15877,7 +15877,7 @@ void Ifc4x3_add2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1192]); } -void Ifc4x3_add2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_add2::IfcTextureCoordinate Ifc4x3_add2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_add2::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15887,7 +15887,7 @@ void Ifc4x3_add2::IfcTextureCoordinateGenerator::setParameter(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1193]); } -void Ifc4x3_add2::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_add2::IfcTextureCoordinateGenerator Ifc4x3_add2::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureCoordinateIndices std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -15898,7 +15898,7 @@ void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3_add std::vector<::Ifc4x3_add2::IfcIndexedPolygonalTextureMap> Ifc4x3_add2::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[546], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinateIndices::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1194]); } -void Ifc4x3_add2::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf)); } +Ifc4x3_add2::IfcTextureCoordinateIndices Ifc4x3_add2::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));; return *this; } // Function implementations for IfcTextureCoordinateIndicesWithVoids std::vector< std::vector< int > > Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } @@ -15906,7 +15906,7 @@ void Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices( const ifcopenshell::entity& Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1195]); } -void Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices)); } +Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices));; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_add2::IfcTextureVertex > Ifc4x3_add2::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_add2::IfcTextureVertex>(es); } @@ -15916,7 +15916,7 @@ void Ifc4x3_add2::IfcTextureMap::setMappedTo(const ::Ifc4x3_add2::IfcFace& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1196]); } -void Ifc4x3_add2::IfcTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add2::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_add2::IfcTextureMap Ifc4x3_add2::IfcTextureMap::initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add2::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_add2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -15924,7 +15924,7 @@ void Ifc4x3_add2::IfcTextureVertex::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_add2::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1197]); } -void Ifc4x3_add2::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_add2::IfcTextureVertex Ifc4x3_add2::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_add2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -15932,7 +15932,7 @@ void Ifc4x3_add2::IfcTextureVertexList::setTexCoordsList(const std::vector< std: const ifcopenshell::entity& Ifc4x3_add2::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1198]); } -void Ifc4x3_add2::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_add2::IfcTextureVertexList Ifc4x3_add2::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcThirdOrderPolynomialSpiral double Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } @@ -15946,7 +15946,7 @@ void Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::opti const ifcopenshell::entity& Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1205]); } -void Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); } } +Ifc4x3_add2::IfcThirdOrderPolynomialSpiral Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_add2::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -15956,7 +15956,7 @@ void Ifc4x3_add2::IfcTimePeriod::setEndTime(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_add2::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1209]); } -void Ifc4x3_add2::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_add2::IfcTimePeriod Ifc4x3_add2::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_add2::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -15979,7 +15979,7 @@ void Ifc4x3_add2::IfcTimeSeries::setUnit(const ::Ifc4x3_add2::IfcUnit& v) { set_ std::vector<::Ifc4x3_add2::IfcExternalReferenceRelationship> Ifc4x3_add2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1210]); } -void Ifc4x3_add2::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_add2::IfcTimeSeries Ifc4x3_add2::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_add2::IfcValue > Ifc4x3_add2::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcValue>(es); } @@ -15987,19 +15987,19 @@ void Ifc4x3_add2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1212]); } -void Ifc4x3_add2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_add2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_add2::IfcTimeSeriesValue Ifc4x3_add2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_add2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_add2::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1214]); } -void Ifc4x3_add2::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_add2::IfcTopologicalRepresentationItem Ifc4x3_add2::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_add2::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1215]); } -void Ifc4x3_add2::IfcTopologyRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_add2::IfcTopologyRepresentation Ifc4x3_add2::IfcTopologyRepresentation::initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_add2::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -16009,7 +16009,7 @@ void Ifc4x3_add2::IfcToroidalSurface::setMinorRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_add2::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1216]); } -void Ifc4x3_add2::IfcToroidalSurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_add2::IfcToroidalSurface Ifc4x3_add2::IfcToroidalSurface::initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > Ifc4x3_add2::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16017,7 +16017,7 @@ void Ifc4x3_add2::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1218]); } -void Ifc4x3_add2::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcTrackElement Ifc4x3_add2::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value Ifc4x3_add2::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16025,7 +16025,7 @@ void Ifc4x3_add2::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_add2::If const ifcopenshell::entity& Ifc4x3_add2::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1219]); } -void Ifc4x3_add2::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTrackElementType Ifc4x3_add2::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > Ifc4x3_add2::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -16033,7 +16033,7 @@ void Ifc4x3_add2::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_add2::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1221]); } -void Ifc4x3_add2::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcTransformer Ifc4x3_add2::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_add2::IfcTransformerTypeEnum::Value Ifc4x3_add2::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_add2::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16041,7 +16041,7 @@ void Ifc4x3_add2::IfcTransformerType::setPredefinedType(const ::Ifc4x3_add2::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1222]); } -void Ifc4x3_add2::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTransformerType Ifc4x3_add2::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > Ifc4x3_add2::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16049,7 +16049,7 @@ void Ifc4x3_add2::IfcTransportElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add2::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1228]); } -void Ifc4x3_add2::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcTransportElement Ifc4x3_add2::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value Ifc4x3_add2::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16057,19 +16057,19 @@ void Ifc4x3_add2::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1229]); } -void Ifc4x3_add2::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTransportElementType Ifc4x3_add2::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportationDevice const ifcopenshell::entity& Ifc4x3_add2::IfcTransportationDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1226]); } -void Ifc4x3_add2::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcTransportationDevice Ifc4x3_add2::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTransportationDeviceType const ifcopenshell::entity& Ifc4x3_add2::IfcTransportationDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1227]); } -void Ifc4x3_add2::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_add2::IfcTransportationDeviceType Ifc4x3_add2::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_add2::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16083,7 +16083,7 @@ void Ifc4x3_add2::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_a const ifcopenshell::entity& Ifc4x3_add2::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1231]); } -void Ifc4x3_add2::IfcTrapeziumProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_add2::IfcTrapeziumProfileDef Ifc4x3_add2::IfcTrapeziumProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_add2::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16097,7 +16097,7 @@ void Ifc4x3_add2::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_add2::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1232]); } -void Ifc4x3_add2::IfcTriangulatedFaceSet::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_add2::IfcTriangulatedFaceSet Ifc4x3_add2::IfcTriangulatedFaceSet::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_add2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16105,7 +16105,7 @@ void Ifc4x3_add2::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< i const ifcopenshell::entity& Ifc4x3_add2::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1233]); } -void Ifc4x3_add2::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_add2::IfcTriangulatedIrregularNetwork Ifc4x3_add2::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_add2::IfcCurve Ifc4x3_add2::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcCurve>(); } @@ -16121,7 +16121,7 @@ void Ifc4x3_add2::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1234]); } -void Ifc4x3_add2::IfcTrimmedCurve::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add2::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_add2::IfcTrimmedCurve Ifc4x3_add2::IfcTrimmedCurve::initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add2::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > Ifc4x3_add2::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16129,7 +16129,7 @@ void Ifc4x3_add2::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1238]); } -void Ifc4x3_add2::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcTubeBundle Ifc4x3_add2::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value Ifc4x3_add2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_add2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16137,7 +16137,7 @@ void Ifc4x3_add2::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_add2::IfcT const ifcopenshell::entity& Ifc4x3_add2::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1239]); } -void Ifc4x3_add2::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcTubeBundleType Ifc4x3_add2::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_add2::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16148,7 +16148,7 @@ void Ifc4x3_add2::IfcTypeObject::setHasPropertySets(const std::optional< std::ve std::vector<::Ifc4x3_add2::IfcRelDefinesByType> Ifc4x3_add2::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[935], 5)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1241]); } -void Ifc4x3_add2::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_add2::IfcTypeObject Ifc4x3_add2::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_add2::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16161,7 +16161,7 @@ void Ifc4x3_add2::IfcTypeProcess::setProcessType(const std::optional< std::strin std::vector<::Ifc4x3_add2::IfcRelAssignsToProcess> Ifc4x3_add2::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1242]); } -void Ifc4x3_add2::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_add2::IfcTypeProcess Ifc4x3_add2::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > Ifc4x3_add2::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcRepresentationMap>(es); } @@ -16172,7 +16172,7 @@ void Ifc4x3_add2::IfcTypeProduct::setTag(const std::optional< std::string >& v) std::vector<::Ifc4x3_add2::IfcRelAssignsToProduct> Ifc4x3_add2::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[906], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1243]); } -void Ifc4x3_add2::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_add2::IfcTypeProduct Ifc4x3_add2::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_add2::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16185,7 +16185,7 @@ void Ifc4x3_add2::IfcTypeResource::setResourceType(const std::optional< std::str std::vector<::Ifc4x3_add2::IfcRelAssignsToResource> Ifc4x3_add2::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_ADD2_types[907], 6)); } const ifcopenshell::entity& Ifc4x3_add2::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1244]); } -void Ifc4x3_add2::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_add2::IfcTypeResource Ifc4x3_add2::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_add2::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16205,7 +16205,7 @@ void Ifc4x3_add2::IfcUShapeProfileDef::setFlangeSlope(const std::optional< doubl const ifcopenshell::entity& Ifc4x3_add2::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1255]); } -void Ifc4x3_add2::IfcUShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_add2::IfcUShapeProfileDef Ifc4x3_add2::IfcUShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_add2::IfcUnit > Ifc4x3_add2::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcUnit>(es); } @@ -16213,7 +16213,7 @@ void Ifc4x3_add2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_add2:: const ifcopenshell::entity& Ifc4x3_add2::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1252]); } -void Ifc4x3_add2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_add2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_add2::IfcUnitAssignment Ifc4x3_add2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_add2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add2::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16221,7 +16221,7 @@ void Ifc4x3_add2::IfcUnitaryControlElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_add2::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1246]); } -void Ifc4x3_add2::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcUnitaryControlElement Ifc4x3_add2::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16229,7 +16229,7 @@ void Ifc4x3_add2::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_add2::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1247]); } -void Ifc4x3_add2::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcUnitaryControlElementType Ifc4x3_add2::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_add2::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16237,7 +16237,7 @@ void Ifc4x3_add2::IfcUnitaryEquipment::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_add2::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1249]); } -void Ifc4x3_add2::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcUnitaryEquipment Ifc4x3_add2::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16245,7 +16245,7 @@ void Ifc4x3_add2::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1250]); } -void Ifc4x3_add2::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcUnitaryEquipmentType Ifc4x3_add2::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > Ifc4x3_add2::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16253,7 +16253,7 @@ void Ifc4x3_add2::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_add2 const ifcopenshell::entity& Ifc4x3_add2::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1257]); } -void Ifc4x3_add2::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcValve Ifc4x3_add2::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_add2::IfcValveTypeEnum::Value Ifc4x3_add2::IfcValveType::PredefinedType() const { return ::Ifc4x3_add2::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16261,7 +16261,7 @@ void Ifc4x3_add2::IfcValveType::setPredefinedType(const ::Ifc4x3_add2::IfcValveT const ifcopenshell::entity& Ifc4x3_add2::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1258]); } -void Ifc4x3_add2::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcValveType Ifc4x3_add2::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_add2::IfcDirection Ifc4x3_add2::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcDirection>(); } @@ -16271,7 +16271,7 @@ void Ifc4x3_add2::IfcVector::setMagnitude(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_add2::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1261]); } -void Ifc4x3_add2::IfcVector::initialize(::Ifc4x3_add2::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_add2::IfcVector Ifc4x3_add2::IfcVector::initialize(::Ifc4x3_add2::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVehicle std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > Ifc4x3_add2::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } @@ -16279,7 +16279,7 @@ void Ifc4x3_add2::IfcVehicle::setPredefinedType(const std::optional< ::Ifc4x3_ad const ifcopenshell::entity& Ifc4x3_add2::IfcVehicle::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1263]); } -void Ifc4x3_add2::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcVehicle Ifc4x3_add2::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVehicleType ::Ifc4x3_add2::IfcVehicleTypeEnum::Value Ifc4x3_add2::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_add2::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } @@ -16287,13 +16287,13 @@ void Ifc4x3_add2::IfcVehicleType::setPredefinedType(const ::Ifc4x3_add2::IfcVehi const ifcopenshell::entity& Ifc4x3_add2::IfcVehicleType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1264]); } -void Ifc4x3_add2::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcVehicleType Ifc4x3_add2::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_add2::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1266]); } -void Ifc4x3_add2::IfcVertex::initialize() { } +Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_add2::IfcVertex Ifc4x3_add2::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcVertex>(); } @@ -16301,7 +16301,7 @@ void Ifc4x3_add2::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_add2::IfcVertex& v const ifcopenshell::entity& Ifc4x3_add2::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1267]); } -void Ifc4x3_add2::IfcVertexLoop::initialize(::Ifc4x3_add2::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_add2::IfcVertexLoop Ifc4x3_add2::IfcVertexLoop::initialize(::Ifc4x3_add2::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_add2::IfcPoint Ifc4x3_add2::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_add2::IfcPoint>(); } @@ -16309,7 +16309,7 @@ void Ifc4x3_add2::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_add2::IfcPoin const ifcopenshell::entity& Ifc4x3_add2::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1268]); } -void Ifc4x3_add2::IfcVertexPoint::initialize(::Ifc4x3_add2::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_add2::IfcVertexPoint Ifc4x3_add2::IfcVertexPoint::initialize(::Ifc4x3_add2::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_add2::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16317,7 +16317,7 @@ void Ifc4x3_add2::IfcVibrationDamper::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_add2::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1269]); } -void Ifc4x3_add2::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcVibrationDamper Ifc4x3_add2::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value Ifc4x3_add2::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16325,7 +16325,7 @@ void Ifc4x3_add2::IfcVibrationDamperType::setPredefinedType(const ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1270]); } -void Ifc4x3_add2::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcVibrationDamperType Ifc4x3_add2::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_add2::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16333,7 +16333,7 @@ void Ifc4x3_add2::IfcVibrationIsolator::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_add2::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1272]); } -void Ifc4x3_add2::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcVibrationIsolator Ifc4x3_add2::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16341,7 +16341,7 @@ void Ifc4x3_add2::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_add const ifcopenshell::entity& Ifc4x3_add2::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1273]); } -void Ifc4x3_add2::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcVibrationIsolatorType Ifc4x3_add2::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > Ifc4x3_add2::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16349,7 +16349,7 @@ void Ifc4x3_add2::IfcVirtualElement::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1275]); } -void Ifc4x3_add2::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcVirtualElement Ifc4x3_add2::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_add2::IfcGridAxis > Ifc4x3_add2::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_add2::IfcGridAxis>(es); } @@ -16359,7 +16359,7 @@ void Ifc4x3_add2::IfcVirtualGridIntersection::setOffsetDistances(const std::vect const ifcopenshell::entity& Ifc4x3_add2::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1277]); } -void Ifc4x3_add2::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_add2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_add2::IfcVirtualGridIntersection Ifc4x3_add2::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_add2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_add2::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16367,7 +16367,7 @@ void Ifc4x3_add2::IfcVoidingFeature::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_add2::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1278]); } -void Ifc4x3_add2::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcVoidingFeature Ifc4x3_add2::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > Ifc4x3_add2::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16375,13 +16375,13 @@ void Ifc4x3_add2::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_add2: const ifcopenshell::entity& Ifc4x3_add2::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1282]); } -void Ifc4x3_add2::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcWall Ifc4x3_add2::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_add2::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1283]); } -void Ifc4x3_add2::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcWallStandardCase Ifc4x3_add2::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_add2::IfcWallTypeEnum::Value Ifc4x3_add2::IfcWallType::PredefinedType() const { return ::Ifc4x3_add2::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16389,7 +16389,7 @@ void Ifc4x3_add2::IfcWallType::setPredefinedType(const ::Ifc4x3_add2::IfcWallTyp const ifcopenshell::entity& Ifc4x3_add2::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1284]); } -void Ifc4x3_add2::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcWallType Ifc4x3_add2::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_add2::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16397,7 +16397,7 @@ void Ifc4x3_add2::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_add2::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1289]); } -void Ifc4x3_add2::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcWasteTerminal Ifc4x3_add2::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value Ifc4x3_add2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16405,7 +16405,7 @@ void Ifc4x3_add2::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_add2::I const ifcopenshell::entity& Ifc4x3_add2::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1290]); } -void Ifc4x3_add2::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_add2::IfcWasteTerminalType Ifc4x3_add2::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWellKnownText std::string Ifc4x3_add2::IfcWellKnownText::WellKnownText() const { std::string v = get_attribute_value(0); return v; } @@ -16415,7 +16415,7 @@ void Ifc4x3_add2::IfcWellKnownText::setCoordinateReferenceSystem(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_add2::IfcWellKnownText::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1292]); } -void Ifc4x3_add2::IfcWellKnownText::initialize(std::string v1_WellKnownText, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, (v2_CoordinateReferenceSystem)); } +Ifc4x3_add2::IfcWellKnownText Ifc4x3_add2::IfcWellKnownText::initialize(std::string v1_WellKnownText, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, (v2_CoordinateReferenceSystem));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_add2::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16431,7 +16431,7 @@ void Ifc4x3_add2::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_add2::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1294]); } -void Ifc4x3_add2::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_add2::IfcWindow Ifc4x3_add2::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16461,7 +16461,7 @@ void Ifc4x3_add2::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std:: const ifcopenshell::entity& Ifc4x3_add2::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1295]); } -void Ifc4x3_add2::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_add2::IfcWindowLiningProperties Ifc4x3_add2::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value Ifc4x3_add2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_add2::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16477,7 +16477,7 @@ void Ifc4x3_add2::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1298]); } -void Ifc4x3_add2::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_add2::IfcWindowPanelProperties Ifc4x3_add2::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_add2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_add2::IfcWindowTypeEnum::Value Ifc4x3_add2::IfcWindowType::PredefinedType() const { return ::Ifc4x3_add2::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16491,7 +16491,7 @@ void Ifc4x3_add2::IfcWindowType::setUserDefinedPartitioningType(const std::optio const ifcopenshell::entity& Ifc4x3_add2::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1299]); } -void Ifc4x3_add2::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_add2::IfcWindowType Ifc4x3_add2::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > Ifc4x3_add2::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_add2::IfcWorkTime>(es); } @@ -16503,7 +16503,7 @@ void Ifc4x3_add2::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1302]); } -void Ifc4x3_add2::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_add2::IfcWorkCalendar Ifc4x3_add2::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_add2::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16523,7 +16523,7 @@ void Ifc4x3_add2::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_add2::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1304]); } -void Ifc4x3_add2::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_add2::IfcWorkControl Ifc4x3_add2::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > Ifc4x3_add2::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16531,7 +16531,7 @@ void Ifc4x3_add2::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_a const ifcopenshell::entity& Ifc4x3_add2::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1305]); } -void Ifc4x3_add2::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_add2::IfcWorkPlan Ifc4x3_add2::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_add2::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16539,7 +16539,7 @@ void Ifc4x3_add2::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_add2::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1307]); } -void Ifc4x3_add2::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_add2::IfcWorkSchedule Ifc4x3_add2::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_add2::IfcRecurrencePattern Ifc4x3_add2::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_add2::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_add2::IfcRecurrencePattern>(); } @@ -16551,7 +16551,7 @@ void Ifc4x3_add2::IfcWorkTime::setFinishDate(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_add2::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1309]); } -void Ifc4x3_add2::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); } } +Ifc4x3_add2::IfcWorkTime Ifc4x3_add2::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_add2::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16569,7 +16569,7 @@ void Ifc4x3_add2::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_add2::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1311]); } -void Ifc4x3_add2::IfcZShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_add2::IfcZShapeProfileDef Ifc4x3_add2::IfcZShapeProfileDef::initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_add2::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16577,5 +16577,5 @@ void Ifc4x3_add2::IfcZone::setLongName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_add2::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_ADD2_types[1310]); } -void Ifc4x3_add2::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_add2::IfcZone Ifc4x3_add2::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_add2.h b/src/ifcparse/schemas/Ifc4x3_add2.h index a46a3dac9e..7a21c2cab1 100644 --- a/src/ifcparse/schemas/Ifc4x3_add2.h +++ b/src/ifcparse/schemas/Ifc4x3_add2.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -808,8 +806,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -830,8 +827,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -865,8 +861,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -910,8 +905,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -942,8 +936,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -966,8 +959,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -988,8 +980,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1010,8 +1001,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1035,8 +1025,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1059,8 +1048,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1091,8 +1079,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1111,8 +1098,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1144,8 +1130,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1168,8 +1153,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1194,8 +1178,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1287,8 +1270,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1728,8 +1710,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1753,8 +1734,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1801,8 +1781,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1834,8 +1813,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1856,8 +1834,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1876,8 +1853,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1902,8 +1878,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1931,8 +1906,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1972,8 +1946,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2017,8 +1990,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2051,8 +2023,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2208,8 +2179,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2926,8 +2896,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2948,8 +2917,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2970,8 +2938,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2992,8 +2959,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3060,8 +3026,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3089,8 +3054,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3109,8 +3073,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3137,8 +3100,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3157,8 +3119,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3179,8 +3140,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3297,8 +3257,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3319,8 +3278,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3339,8 +3297,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3369,8 +3326,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3407,8 +3363,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3516,8 +3471,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3566,8 +3520,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3597,8 +3550,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3617,8 +3569,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3646,8 +3597,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3674,8 +3624,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3702,8 +3651,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3736,8 +3684,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3780,8 +3727,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3801,8 +3747,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3823,8 +3768,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3847,8 +3791,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3879,8 +3822,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3914,8 +3856,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4601,8 +4542,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4623,8 +4563,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4653,16 +4592,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4672,16 +4610,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_BRAKES, IfcActionSourceType_BUOYANCY, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_CREEP, IfcActionSourceType_CURRENT, IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_ERECTION, IfcActionSourceType_FIRE, IfcActionSourceType_ICE, IfcActionSourceType_IMPACT, IfcActionSourceType_IMPULSE, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_PROPPING, IfcActionSourceType_RAIN, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_SNOW_S, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_TRANSPORT, IfcActionSourceType_WAVE, IfcActionSourceType_WIND_W, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4693,16 +4630,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_EXTRAORDINARY_A, IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4723,16 +4659,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4748,16 +4683,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_HOME, IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4773,16 +4707,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4800,16 +4733,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4830,16 +4762,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4858,76 +4789,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_CLOTHOID, IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_PARABOLICARC} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4938,16 +4864,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4959,31 +4884,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_CONTOURLINE, IfcAnnotationType_DIMENSION, IfcAnnotationType_ISOBAR, IfcAnnotationType_ISOLUX, IfcAnnotationType_ISOTHERM, IfcAnnotationType_LEADER, IfcAnnotationType_SURVEY, IfcAnnotationType_SYMBOL, IfcAnnotationType_TEXT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -5000,16 +4923,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MODULO, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5026,16 +4948,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_SITE, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5054,16 +4975,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_RECORDINGEQUIPMENT, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5082,31 +5002,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5150,31 +5068,29 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_CORNICE, IfcBeamType_DIAPHRAGM, IfcBeamType_EDGEBEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_HATSTONE, IfcBeamType_HOLLOWCORE, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_PIERCAP, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_DISK, IfcBearingType_ELASTOMERIC, IfcBearingType_GUIDE, IfcBearingType_POT, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_SPHERICAL, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5219,16 +5135,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_EQUALTO, IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_INCLUDEDIN, IfcBenchmark_INCLUDES, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_NOTINCLUDEDIN, IfcBenchmark_NOTINCLUDES} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5242,16 +5157,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_STEAM, IfcBoilerType_WATER, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5265,46 +5179,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_DIFFERENCE, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_UNION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5317,16 +5228,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5342,16 +5252,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5370,31 +5279,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_RAILWAYLINE, IfcBuiltSystemType_RAILWAYTRACK, IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5406,16 +5313,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5430,16 +5336,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CONNECTOR, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_JUNCTION, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_TRANSITION, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5454,16 +5359,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5479,16 +5383,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_FANOUT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5505,31 +5408,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5545,16 +5446,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIED, IfcChangeAction_NOCHANGE, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5569,16 +5469,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_WATERCOOLED, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5593,16 +5492,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5629,16 +5527,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5657,16 +5554,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_PILASTER, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5687,16 +5583,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL, IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT, IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_OPTICALLINETERMINAL, IfcCommunicationsApplianceType_OPTICALNETWORKUNIT, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_RADIOBLOCKCENTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5709,16 +5604,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5745,16 +5639,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_BOOSTER, IfcCompressorType_DYNAMIC, IfcCompressorType_HERMETIC, IfcCompressorType_OPENTYPE, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARY, IfcCompressorType_ROTARYVANE, IfcCompressorType_SCROLL, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_SINGLESCREW, IfcCompressorType_SINGLESTAGE, IfcCompressorType_TROCHOIDAL, IfcCompressorType_TWINSCREW, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5772,16 +5665,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5806,16 +5698,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATEND, IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5837,16 +5728,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_ADVISORY, IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5865,16 +5755,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5894,16 +5783,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_USERDEFINED, IfcConstructionMaterialResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5916,16 +5804,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5944,31 +5831,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_MULTIPOSITION, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5992,16 +5877,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -6018,16 +5902,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6038,16 +5921,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6065,31 +5947,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_TENDER, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_FILTER, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6137,16 +6017,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_CLADDING, IfcCoveringType_COPING, IfcCoveringType_FLOORING, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_MOLDING, IfcCoveringType_ROOFING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_SLEEVING, IfcCoveringType_TOPPING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6159,16 +6038,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6182,16 +6060,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6213,16 +6090,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6244,16 +6120,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6266,16 +6141,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6337,16 +6211,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6359,16 +6232,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_NEGATIVE, IfcDirectionSense_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6382,31 +6254,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_FILLER, IfcDiscreteAccessoryType_FLASHING, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_POINTMACHINEMOUNTINGDEVICE, IfcDiscreteAccessoryType_POINT_MACHINE_LOCKING_DEVICE, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_DISPATCHINGBOARD, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6427,31 +6297,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6503,16 +6371,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MOBILENETWORK, IfcDistributionSystem_MONITORINGSYSTEM, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6529,16 +6396,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6546,16 +6412,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6593,16 +6458,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6614,16 +6478,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6644,16 +6507,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_BOOM_BARRIER, IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -6838,16 +6700,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_DOUBLE_DOOR_LIFTING_VERTICAL, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_LIFTING_HORIZONTAL, IfcDoorTypeOperation_LIFTING_VERTICAL_LEFT, IfcDoorTypeOperation_LIFTING_VERTICAL_RIGHT, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_REVOLVING_VERTICAL, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -6885,16 +6746,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -6914,16 +6774,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -6938,46 +6797,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_CUT, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7011,16 +6867,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7035,16 +6890,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7059,31 +6913,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7098,16 +6950,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7123,16 +6974,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7146,16 +6996,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7179,16 +7028,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_GRID, IfcElementAssemblyType_MAST, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7205,16 +7053,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7227,16 +7074,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7257,16 +7103,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7284,16 +7129,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7310,16 +7154,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7335,16 +7178,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_STARTEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7365,46 +7207,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7423,16 +7262,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7446,16 +7284,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7473,16 +7310,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7500,16 +7336,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_FIREMONITOR, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7522,16 +7357,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SINK, IfcFlowDirection_SOURCE, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7552,16 +7386,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7581,16 +7414,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7609,16 +7441,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7636,31 +7467,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_BED, IfcFurnitureType_CHAIR, IfcFurnitureType_DESK, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TABLE, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_TERRAIN, IfcGeographicElementType_VEGETATION, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7706,31 +7535,29 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeotechnicalStratumTypeEnum : public express::DeclaredType { public: - IfcGeotechnicalStratumTypeEnum() {} - explicit IfcGeotechnicalStratumTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeotechnicalStratumType_SOLID, IfcGeotechnicalStratumType_VOID, IfcGeotechnicalStratumType_WATER, IfcGeotechnicalStratumType_USERDEFINED, IfcGeotechnicalStratumType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeotechnicalStratumTypeEnum initialize(Value v); + IfcGeotechnicalStratumTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7741,31 +7568,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_IRREGULAR, IfcGridType_RADIAL, IfcGridType_RECTANGULAR, IfcGridType_TRIANGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7779,16 +7604,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -7813,31 +7637,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -7852,16 +7674,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7921,16 +7742,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -7944,16 +7764,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -7965,46 +7784,43 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKerbTypeEnum : public express::DeclaredType { public: - IfcKerbTypeEnum() {} - explicit IfcKerbTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKerbType_USERDEFINED, IfcKerbType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKerbTypeEnum initialize(Value v); + IfcKerbTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_UNIFORM_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8033,16 +7849,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8064,16 +7879,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8087,16 +7901,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8115,16 +7928,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8146,16 +7958,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8171,31 +7982,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8221,16 +8030,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8479,46 +8287,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_CANAL, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_REVETMENT, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_CHAMBER, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CORE, IfcMarinePartType_CREST, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_PROTECTION, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_STORAGEAREA, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_WATERFIELD, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8540,16 +8345,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8567,16 +8371,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8624,46 +8427,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_ARCH_SEGMENT, IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STAY_CABLE, IfcMemberType_STIFFENING_RIB, IfcMemberType_STRINGER, IfcMemberType_STRUCTURALCABLE, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_SUSPENDER, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER, IfcMobileTelecommunicationsApplianceType_MSCSERVER, IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT, IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8677,31 +8477,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8735,16 +8533,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8762,16 +8559,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8796,16 +8592,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -8823,31 +8618,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPavementTypeEnum : public express::DeclaredType { public: - IfcPavementTypeEnum() {} - explicit IfcPavementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPavementType_FLEXIBLE, IfcPavementType_RIGID, IfcPavementType_USERDEFINED, IfcPavementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPavementTypeEnum initialize(Value v); + IfcPavementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -8858,16 +8651,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -8894,16 +8686,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -8917,16 +8708,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8954,16 +8744,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -8990,16 +8779,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -9017,16 +8805,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_COHESION, IfcPileType_DRIVEN, IfcPileType_FRICTION, IfcPileType_JETGROUTING, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9062,16 +8849,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9091,16 +8877,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9123,31 +8908,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_BASE_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_CURTAIN_PANEL, IfcPlateType_FLANGE_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_SHEET, IfcPlateType_SPLICE_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9166,16 +8949,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9188,16 +8970,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_AREA, IfcProfileType_CURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9213,16 +8994,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9233,16 +9013,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9259,16 +9038,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9311,16 +9089,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_MATERIALDRIVEN, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_PSET_PROFILEDRIVEN, IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9332,16 +9109,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9361,16 +9137,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9403,31 +9178,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_BLADE, IfcRailType_CHECKRAIL, IfcRailType_GUARDRAIL, IfcRailType_RACKRAIL, IfcRailType_RAIL, IfcRailType_STOCKRAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9452,46 +9225,43 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_GUARDRAIL, IfcRailingType_HANDRAIL, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_ABOVETRACK, IfcRailwayPartType_DILATIONTRACK, IfcRailwayPartType_LINESIDE, IfcRailwayPartType_LINESIDEPART, IfcRailwayPartType_PLAINTRACK, IfcRailwayPartType_SUBSTRUCTURE, IfcRailwayPartType_TRACK, IfcRailwayPartType_TRACKPART, IfcRailwayPartType_TURNOUTTRACK, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayTypeEnum : public express::DeclaredType { public: - IfcRailwayTypeEnum() {} - explicit IfcRailwayTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayType_USERDEFINED, IfcRailwayType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayTypeEnum initialize(Value v); + IfcRailwayTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9507,16 +9277,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_SPIRAL, IfcRampFlightType_STRAIGHT, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9569,16 +9338,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_HALF_TURN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9604,31 +9372,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_DAILY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_KILOPOINT, IfcReferentType_LANDMARK, IfcReferentType_MILEPOINT, IfcReferentType_POSITION, IfcReferentType_REFERENCEMARKER, IfcReferentType_STATION, IfcReferentType_SUPERELEVATIONEVENT, IfcReferentType_WIDTHEVENT, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9649,31 +9415,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PHYSICAL, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9697,16 +9461,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9720,76 +9483,71 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_BUS_STOP, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_LAYBY, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROADSIDE, IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_SHOULDER, IfcRoadPartType_SIDEWALK, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadTypeEnum : public express::DeclaredType { public: - IfcRoadTypeEnum() {} - explicit IfcRoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadType_USERDEFINED, IfcRoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadTypeEnum initialize(Value v); + IfcRoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -9823,16 +9581,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_ARCHITECT, IfcRole_BUILDINGOPERATOR, IfcRole_BUILDINGOWNER, IfcRole_CIVILENGINEER, IfcRole_CLIENT, IfcRole_COMMISSIONINGENGINEER, IfcRole_CONSTRUCTIONMANAGER, IfcRole_CONSULTANT, IfcRole_CONTRACTOR, IfcRole_COSTENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_ENGINEER, IfcRole_FACILITIESMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_MANUFACTURER, IfcRole_MECHANICALENGINEER, IfcRole_OWNER, IfcRole_PROJECTMANAGER, IfcRole_RESELLER, IfcRole_STRUCTURALENGINEER, IfcRole_SUBCONTRACTOR, IfcRole_SUPPLIER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -9903,16 +9660,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_BARREL_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FLAT_ROOF, IfcRoofType_FREEFORM, IfcRoofType_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -9944,16 +9700,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_ATTO, IfcSIPrefix_CENTI, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_EXA, IfcSIPrefix_FEMTO, IfcSIPrefix_GIGA, IfcSIPrefix_HECTO, IfcSIPrefix_KILO, IfcSIPrefix_MEGA, IfcSIPrefix_MICRO, IfcSIPrefix_MILLI, IfcSIPrefix_NANO, IfcSIPrefix_PETA, IfcSIPrefix_PICO, IfcSIPrefix_TERA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -9997,16 +9752,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10030,16 +9784,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10054,16 +9807,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_TAPERED, IfcSectionType_UNIFORM} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10096,16 +9848,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_COSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10115,16 +9866,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_FINISH_FINISH, IfcSequence_FINISH_START, IfcSequence_START_FINISH, IfcSequence_START_START, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10139,46 +9889,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_AWNING, IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_MIRROR, IfcSignType_PICTORAL, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_VISUAL, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10201,16 +9948,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_NUMBER, IfcSimplePropertyTemplateType_Q_TIME, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_WEIGHT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10247,16 +9993,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_APPROACH_SLAB, IfcSlabType_BASESLAB, IfcSlabType_FLOOR, IfcSlabType_LANDING, IfcSlabType_PAVING, IfcSlabType_ROOF, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_WEARING, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10270,16 +10015,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10296,16 +10040,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10345,16 +10088,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_BERTH, IfcSpaceType_EXTERNAL, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_PARKING, IfcSpaceType_SPACE, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10384,16 +10126,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_INTERFERENCE, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10407,16 +10148,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10436,16 +10176,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_SPIRAL, IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10543,16 +10282,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_CURVED_RUN_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_LADDER, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10570,16 +10308,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_LOCKED, IfcState_READONLY, IfcState_READONLYLOCKED, IfcState_READWRITE, IfcState_READWRITELOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10599,16 +10336,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10631,16 +10367,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10657,16 +10392,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10685,16 +10419,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10707,16 +10440,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10732,16 +10464,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10757,16 +10488,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_BOTH, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10787,16 +10517,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -10809,16 +10538,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -10846,16 +10574,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_OILRETENTIONTRAY, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -10867,16 +10594,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -10899,61 +10625,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ADJUSTMENT, IfcTaskType_ATTENDANCE, IfcTaskType_CALIBRATION, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_EMERGENCY, IfcTaskType_INSPECTION, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_SAFETY, IfcTaskType_SHUTDOWN, IfcTaskType_STARTUP, IfcTaskType_TESTING, IfcTaskType_TROUBLESHOOTING, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_COUPLER, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_DUCT, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -10965,16 +10687,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_DOWN, IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -10990,31 +10711,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SLEEPER, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11030,16 +10749,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11060,16 +10778,15 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE, IfcTransitionCode_DISCONTINUOUS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -11098,16 +10815,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_CRANEWAY, IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_HAULINGGEAR, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11123,16 +10839,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11145,16 +10860,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11195,16 +10909,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11225,16 +10938,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_BASESTATIONCONTROLLER, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11251,16 +10963,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11308,46 +11019,43 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_DRAWOFFCOCK, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVehicleTypeEnum : public express::DeclaredType { public: - IfcVehicleTypeEnum() {} - explicit IfcVehicleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVehicleType_CARGO, IfcVehicleType_ROLLINGSTOCK, IfcVehicleType_VEHICLE, IfcVehicleType_VEHICLEAIR, IfcVehicleType_VEHICLEMARINE, IfcVehicleType_VEHICLETRACKED, IfcVehicleType_VEHICLEWHEELED, IfcVehicleType_USERDEFINED, IfcVehicleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVehicleTypeEnum initialize(Value v); + IfcVehicleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11361,31 +11069,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVirtualElementTypeEnum : public express::DeclaredType { public: - IfcVirtualElementTypeEnum() {} - explicit IfcVirtualElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVirtualElementType_BOUNDARY, IfcVirtualElementType_CLEARANCE, IfcVirtualElementType_PROVISIONFORVOID, IfcVirtualElementType_USERDEFINED, IfcVirtualElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVirtualElementTypeEnum initialize(Value v); + IfcVirtualElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11404,16 +11110,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11455,16 +11160,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_ELEMENTEDWALL, IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_POLYGONAL, IfcWallType_RETAININGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11483,16 +11187,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11581,16 +11284,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11659,16 +11361,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11689,16 +11390,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_LIGHTDOME, IfcWindowType_SKYLIGHT, IfcWindowType_WINDOW, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -11774,16 +11474,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -11799,16 +11498,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -11824,16 +11522,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -11849,16 +11546,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -11868,11 +11564,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -11882,11 +11577,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -11899,11 +11593,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -11913,31 +11606,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -11949,21 +11639,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -11973,11 +11661,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12025,11 +11712,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12045,11 +11731,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12102,11 +11787,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12117,11 +11801,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12132,11 +11815,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCountMeasure initialize(int v); operator int() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12148,11 +11830,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12163,11 +11844,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12190,11 +11870,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12211,11 +11890,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12254,11 +11932,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12269,11 +11946,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12285,11 +11961,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12299,11 +11974,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12313,11 +11987,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12328,11 +12001,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12342,11 +12014,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12356,11 +12027,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12370,11 +12040,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12386,11 +12055,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12400,11 +12068,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12414,11 +12081,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12428,11 +12094,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12451,11 +12116,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12472,11 +12136,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12504,11 +12167,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12518,11 +12180,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12532,11 +12193,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12554,11 +12214,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12568,11 +12227,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12580,11 +12238,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12603,11 +12260,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12617,11 +12273,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12631,11 +12286,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12647,11 +12301,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12663,11 +12316,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12675,11 +12327,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12689,11 +12340,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -12703,11 +12353,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -12726,11 +12375,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -12745,11 +12393,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -12761,21 +12408,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -12785,11 +12430,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -12799,11 +12443,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -12813,11 +12456,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -12827,11 +12469,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -12855,11 +12495,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -12871,11 +12510,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -12887,11 +12525,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -12901,11 +12538,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -12915,11 +12551,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -12929,11 +12564,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -12943,11 +12577,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -12959,11 +12592,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -12975,11 +12607,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -12989,11 +12620,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -13003,11 +12633,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -13017,11 +12646,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13035,11 +12663,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13049,11 +12676,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13063,11 +12689,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13077,11 +12702,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13090,11 +12714,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13155,11 +12778,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13169,11 +12791,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13184,11 +12805,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13196,11 +12816,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13212,11 +12831,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13226,11 +12844,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13246,21 +12863,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13271,11 +12886,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13286,11 +12900,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13300,11 +12913,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13318,11 +12930,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13332,21 +12943,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13356,11 +12965,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13375,11 +12983,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13391,11 +12998,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13405,11 +13011,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13420,11 +13025,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13434,11 +13038,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13448,11 +13051,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13462,11 +13064,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13476,11 +13077,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13492,21 +13092,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13516,21 +13114,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13540,11 +13136,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13554,11 +13149,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13570,11 +13164,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13588,21 +13181,19 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; class IFC_PARSE_API IfcStrippedOptional : public express::DeclaredType { public: - IfcStrippedOptional() {} - explicit IfcStrippedOptional (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcStrippedOptional initialize(bool v); operator bool() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13612,11 +13203,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13626,11 +13216,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13646,11 +13235,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13665,11 +13253,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13687,11 +13274,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -13715,11 +13301,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -13734,11 +13319,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -13748,11 +13332,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -13762,11 +13345,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -13775,11 +13357,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -13788,11 +13369,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -13802,11 +13382,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -13818,11 +13397,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -13835,11 +13413,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -13851,11 +13428,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -13864,11 +13440,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -13878,11 +13453,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -13894,11 +13468,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -13908,11 +13481,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -13924,11 +13496,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -13938,11 +13509,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -13952,11 +13522,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -13966,21 +13535,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcWellKnownTextLiteral : public express::DeclaredType { public: - IfcWellKnownTextLiteral() {} - explicit IfcWellKnownTextLiteral (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcWellKnownTextLiteral initialize(std::string v); operator std::string() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -14010,11 +13577,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14024,11 +13590,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14039,11 +13604,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14060,8 +13624,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14079,7 +13642,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_add2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14088,8 +13651,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > Purpose() const; @@ -14107,13 +13669,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14121,13 +13682,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14145,15 +13705,14 @@ public: void setPredefinedType(const ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_add2::IfcOrganization ApplicationDeveloper() const; @@ -14169,7 +13728,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_add2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14187,8 +13746,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14227,7 +13785,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14236,8 +13794,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14279,7 +13836,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add2::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_add2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_add2::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14298,15 +13855,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14320,8 +13876,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14343,7 +13898,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14357,8 +13912,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14371,7 +13925,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14385,8 +13939,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_add2::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14408,7 +13961,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_add2::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14421,15 +13974,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_add2::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_add2::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add2::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_add2::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14447,12 +13999,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14472,8 +14023,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_add2::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14483,7 +14033,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_add2::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14495,8 +14045,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_add2::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14506,7 +14055,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_add2::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_add2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_add2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14516,8 +14065,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_add2::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14527,7 +14075,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_add2::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add2::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_add2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_add2::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14543,8 +14091,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14574,7 +14121,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14624,8 +14171,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14635,7 +14181,7 @@ public: void setTargetCRS(const ::Ifc4x3_add2::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14661,8 +14207,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14682,7 +14227,7 @@ public: std::vector< IfcWellKnownText > WellKnownText() const; // INVERSE IfcWellKnownText::CoordinateReferenceSystem static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum); + IfcCoordinateReferenceSystem initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -14728,12 +14273,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_add2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -14744,8 +14288,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > Elements() const; @@ -14759,7 +14302,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_add2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_add2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -14772,8 +14315,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_add2::IfcNamedUnit Unit() const; @@ -14783,7 +14325,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_add2::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -14804,8 +14346,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -14830,7 +14371,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -14840,12 +14381,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -14858,8 +14398,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -14883,7 +14422,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -14895,12 +14434,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -14911,12 +14449,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -14927,18 +14464,16 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; class IFC_PARSE_API IfcGeographicCRS : public IfcCoordinateReferenceSystem { public: - IfcGeographicCRS() {} - explicit IfcGeographicCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; std::optional< std::string > PrimeMeridian() const; void setPrimeMeridian(const std::optional< std::string >& v); @@ -14948,7 +14483,7 @@ public: void setHeightUnit(const ::Ifc4x3_add2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add2::IfcNamedUnit v5_AngleUnit, ::Ifc4x3_add2::IfcNamedUnit v6_HeightUnit); + IfcGeographicCRS initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add2::IfcNamedUnit v5_AngleUnit, ::Ifc4x3_add2::IfcNamedUnit v6_HeightUnit); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -14975,8 +14510,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14993,15 +14527,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add2::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_add2::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15011,7 +14544,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add2::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_add2::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -15023,8 +14556,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15051,7 +14583,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_add2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15062,8 +14594,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15081,7 +14612,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add2::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_add2::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15100,8 +14631,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15116,15 +14646,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15134,7 +14663,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_add2::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add2::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_add2::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15149,8 +14678,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15179,13 +14707,12 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; class IFC_PARSE_API IfcMapConversionScaled : public IfcMapConversion { public: - IfcMapConversionScaled() {} - explicit IfcMapConversionScaled (const std::weak_ptr& data) : IfcMapConversion(data) {} + using IfcMapConversion::IfcMapConversion; double FactorX() const; void setFactorX(const double& v); @@ -15195,7 +14722,7 @@ public: void setFactorZ(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_FactorX, double v10_FactorY, double v11_FactorZ); + IfcMapConversionScaled initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, double v9_FactorX, double v10_FactorY, double v11_FactorZ); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15204,8 +14731,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_add2::IfcClassificationSelect > MaterialClassifications() const; @@ -15215,7 +14741,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_add2::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add2::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_add2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_add2::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15243,15 +14769,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15278,8 +14803,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_add2::IfcMaterial Material() const; @@ -15313,7 +14837,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15350,8 +14874,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_add2::IfcMaterialLayer > MaterialLayers() const; @@ -15366,7 +14889,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_add2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15413,8 +14936,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15424,7 +14946,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_add2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15445,15 +14967,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_add2::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_add2::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_add2::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15462,8 +14983,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15486,7 +15006,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15495,8 +15015,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15515,7 +15034,7 @@ public: void setCompositeProfile(const ::Ifc4x3_add2::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add2::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_add2::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15524,15 +15043,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, ::Ifc4x3_add2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15567,13 +15085,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15587,8 +15104,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_add2::IfcValue ValueComponent() const; @@ -15598,7 +15114,7 @@ public: void setUnitComponent(const ::Ifc4x3_add2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcValue v1_ValueComponent, ::Ifc4x3_add2::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_add2::IfcValue v1_ValueComponent, ::Ifc4x3_add2::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15654,8 +15170,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_add2::IfcBenchmarkEnum::Value Benchmark() const; @@ -15670,7 +15185,7 @@ public: void setReferencePath(const ::Ifc4x3_add2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add2::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_add2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_add2::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15679,15 +15194,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15696,8 +15210,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_add2::IfcDimensionalExponents Dimensions() const; @@ -15707,7 +15220,7 @@ public: void setUnitType(const ::Ifc4x3_add2::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15722,8 +15235,7 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_add2::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_add2::IfcObjectPlacement& v); @@ -15731,7 +15243,7 @@ public: std::vector< IfcObjectPlacement > ReferencedByPlacements() const; // INVERSE IfcObjectPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -15744,8 +15256,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > > BenchmarkValues() const; @@ -15760,7 +15271,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_add2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -15772,8 +15283,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15796,7 +15306,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -15810,8 +15320,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_add2::IfcPersonAndOrganization OwningUser() const; @@ -15839,7 +15348,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_add2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_add2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -15852,8 +15361,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15888,7 +15396,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_add2::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -15897,8 +15405,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_add2::IfcPerson ThePerson() const; @@ -15911,7 +15418,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPerson v1_ThePerson, ::Ifc4x3_add2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_add2::IfcPerson v1_ThePerson, ::Ifc4x3_add2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_add2::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -15920,8 +15427,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -15933,7 +15439,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -15946,23 +15452,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_add2::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_add2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -15993,17 +15497,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -16022,8 +15525,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16039,7 +15541,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16056,8 +15558,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16077,7 +15578,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_add2::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16086,15 +15587,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16115,8 +15615,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16129,7 +15628,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_add2::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16303,8 +15802,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_add2::IfcProfileTypeEnum::Value ProfileType() const; @@ -16316,7 +15814,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16343,8 +15841,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; std::optional< std::string > VerticalDatum() const; void setVerticalDatum(const std::optional< std::string >& v); @@ -16366,18 +15863,17 @@ public: void setMapUnit(const ::Ifc4x3_add2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add2::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_add2::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16427,8 +15923,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16441,7 +15936,7 @@ public: void setUnit(const ::Ifc4x3_add2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_add2::IfcValue > v2_EnumerationValues, ::Ifc4x3_add2::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_add2::IfcValue > v2_EnumerationValues, ::Ifc4x3_add2::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16450,8 +15945,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16463,7 +15957,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16472,8 +15966,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. int CountValue() const; @@ -16485,7 +15978,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16494,8 +15987,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16507,13 +15999,12 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; class IFC_PARSE_API IfcQuantityNumber : public IfcPhysicalSimpleQuantity { public: - IfcQuantityNumber() {} - explicit IfcQuantityNumber (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; double NumberValue() const; void setNumberValue(const double& v); @@ -16521,7 +16012,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); + IfcQuantityNumber initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16530,8 +16021,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16543,7 +16033,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16552,8 +16042,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16565,7 +16054,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16574,8 +16063,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16587,7 +16075,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16597,8 +16085,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16639,13 +16126,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_add2::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16659,7 +16145,7 @@ public: void setInnerReference(const ::Ifc4x3_add2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add2::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_add2::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16709,8 +16195,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_add2::IfcRepresentationContext ContextOfItems() const; @@ -16730,7 +16215,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -16744,8 +16229,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16756,7 +16240,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -16792,14 +16276,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -16814,8 +16297,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16828,15 +16310,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add2::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_add2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_add2::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16846,13 +16327,12 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; class IFC_PARSE_API IfcRigidOperation : public IfcCoordinateOperation { public: - IfcRigidOperation() {} - explicit IfcRigidOperation (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; ::Ifc4x3_add2::IfcMeasureValue FirstCoordinate() const; void setFirstCoordinate(const ::Ifc4x3_add2::IfcMeasureValue& v); @@ -16862,7 +16342,7 @@ public: void setHeight(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add2::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add2::IfcMeasureValue v4_SecondCoordinate, std::optional< double > v5_Height); + IfcRigidOperation initialize(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_TargetCRS, ::Ifc4x3_add2::IfcMeasureValue v3_FirstCoordinate, ::Ifc4x3_add2::IfcMeasureValue v4_SecondCoordinate, std::optional< double > v5_Height); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -16875,8 +16355,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16896,7 +16375,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -16907,8 +16386,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > Prefix() const; @@ -16920,15 +16398,14 @@ public: void setName(const ::Ifc4x3_add2::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add2::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add2::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16942,7 +16419,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -16983,8 +16460,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -17008,7 +16484,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_add2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17030,13 +16506,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17175,42 +16650,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17225,8 +16697,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > Values() const; @@ -17236,31 +16707,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17269,8 +16738,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17289,7 +16757,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17298,12 +16766,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17335,8 +16802,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17356,7 +16822,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_add2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_add2::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17367,12 +16833,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17381,8 +16846,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17395,7 +16859,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17406,8 +16870,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_add2::IfcSurfaceSide::Value Side() const; @@ -17417,7 +16880,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17432,8 +16895,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17453,7 +16915,7 @@ public: void setReflectanceColour(const ::Ifc4x3_add2::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add2::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_add2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_add2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_add2::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17462,8 +16924,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17473,7 +16934,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17484,8 +16945,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_add2::IfcColourRgb SurfaceColour() const; @@ -17494,7 +16954,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17516,15 +16976,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_add2::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17620,8 +17079,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17653,7 +17111,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17672,8 +17130,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17686,7 +17143,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_add2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_add2::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17695,8 +17152,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17714,7 +17170,7 @@ public: void setReferencePath(const ::Ifc4x3_add2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add2::IfcUnit v4_Unit, ::Ifc4x3_add2::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_add2::IfcUnit v4_Unit, ::Ifc4x3_add2::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17731,8 +17187,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > RowCells() const; @@ -17742,7 +17197,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17754,8 +17209,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -17864,21 +17318,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_add2::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_add2::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add2::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_add2::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -17888,8 +17341,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -17914,7 +17366,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -17946,8 +17398,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_add2::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -17968,7 +17419,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_add2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_add2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -17989,8 +17440,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_add2::IfcColour Colour() const; @@ -18000,7 +17450,7 @@ public: void setBackgroundColour(const ::Ifc4x3_add2::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcColour v1_Colour, ::Ifc4x3_add2::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_add2::IfcColour v1_Colour, ::Ifc4x3_add2::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -18011,8 +17461,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18044,7 +17493,7 @@ public: void setLineHeight(const ::Ifc4x3_add2::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add2::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_add2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_add2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_add2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_add2::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18059,14 +17508,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_add2::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18096,8 +17544,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18111,13 +17558,12 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; class IFC_PARSE_API IfcTextureCoordinateIndices : public express::Entity { public: - IfcTextureCoordinateIndices() {} - explicit IfcTextureCoordinateIndices (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< int > /*[3:?]*/ TexCoordIndex() const; void setTexCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -18126,19 +17572,18 @@ public: std::vector< IfcIndexedPolygonalTextureMap > ToTexMap() const; // INVERSE IfcIndexedPolygonalTextureMap::TexCoordIndices static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf); + IfcTextureCoordinateIndices initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf); }; class IFC_PARSE_API IfcTextureCoordinateIndicesWithVoids : public IfcTextureCoordinateIndices { public: - IfcTextureCoordinateIndicesWithVoids() {} - explicit IfcTextureCoordinateIndicesWithVoids (const std::weak_ptr& data) : IfcTextureCoordinateIndices(data) {} + using IfcTextureCoordinateIndices::IfcTextureCoordinateIndices; std::vector< std::vector< int > > InnerTexCoordIndices() const; void setInnerTexCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); + IfcTextureCoordinateIndicesWithVoids initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18193,8 +17638,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18205,7 +17649,7 @@ public: void setMappedTo(const ::Ifc4x3_add2::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add2::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_add2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_add2::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18236,27 +17680,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18266,8 +17708,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18277,7 +17718,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18286,8 +17727,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18316,7 +17756,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18329,15 +17769,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_add2::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_add2::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_add2::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18346,12 +17785,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18389,12 +17827,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_add2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_add2::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18403,15 +17840,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_add2::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_add2::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_add2::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18425,12 +17861,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18443,15 +17878,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_add2::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_add2::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_add2::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18514,8 +17948,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_add2::IfcGridAxis > IntersectingAxes() const; @@ -18525,13 +17958,12 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_add2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; class IFC_PARSE_API IfcWellKnownText : public express::Entity { public: - IfcWellKnownText() {} - explicit IfcWellKnownText (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::string WellKnownText() const; void setWellKnownText(const std::string& v); @@ -18539,7 +17971,7 @@ public: void setCoordinateReferenceSystem(const ::Ifc4x3_add2::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_WellKnownText, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem); + IfcWellKnownText initialize(std::string v1_WellKnownText, ::Ifc4x3_add2::IfcCoordinateReferenceSystem v2_CoordinateReferenceSystem); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18551,8 +17983,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18565,13 +17996,12 @@ public: void setFinishDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18589,13 +18019,12 @@ public: void setPredefinedType(const ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3_add2::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_add2::IfcCartesianPoint& v); @@ -18613,7 +18042,7 @@ public: void setPredefinedType(const ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_add2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18624,8 +18053,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_add2::IfcApproval RelatingApproval() const; @@ -18635,7 +18063,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_add2::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add2::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_add2::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18657,15 +18085,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_add2::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_add2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18684,15 +18111,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_add2::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_add2::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18715,15 +18141,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_add2::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_add2::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add2::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_add2::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18736,8 +18161,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18747,7 +18171,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18780,15 +18204,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18807,8 +18230,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -18859,7 +18281,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -18884,8 +18306,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_add2::IfcClassificationReferenceSelect ReferencedSource() const; @@ -18901,19 +18322,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_add2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -18922,8 +18342,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -18933,7 +18352,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -18973,8 +18392,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_add2::IfcProfileDef > Profiles() const; @@ -18984,7 +18402,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -18997,15 +18415,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_add2::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_add2::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -19022,8 +18439,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_add2::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19033,7 +18449,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_add2::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_add2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_add2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19056,8 +18472,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19070,7 +18485,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_add2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19081,8 +18496,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19090,7 +18504,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19141,8 +18555,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19153,7 +18566,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19175,15 +18588,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_add2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19198,8 +18610,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_add2::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19220,7 +18631,7 @@ public: void setRateSource(const ::Ifc4x3_add2::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add2::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_add2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_add2::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19241,8 +18652,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19257,7 +18667,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_add2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_add2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19266,8 +18676,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19277,7 +18686,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19292,8 +18701,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19305,7 +18713,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19314,8 +18722,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19329,7 +18736,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19417,8 +18824,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_add2::IfcProfileDef ParentProfile() const; @@ -19431,15 +18837,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19511,7 +18916,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_add2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_add2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19523,8 +18928,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_add2::IfcDocumentInformation RelatingDocument() const; @@ -19537,7 +18941,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_add2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19552,8 +18956,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19566,7 +18969,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19619,8 +19022,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_add2::IfcVertex EdgeStart() const; @@ -19630,7 +19032,7 @@ public: void setEdgeEnd(const ::Ifc4x3_add2::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19667,8 +19069,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_add2::IfcCurve EdgeGeometry() const; @@ -19678,7 +19079,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19705,8 +19106,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19724,13 +19124,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19740,7 +19139,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19751,8 +19150,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19764,7 +19162,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19812,8 +19210,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_add2::IfcFaceBound > Bounds() const; @@ -19821,7 +19218,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -19830,8 +19227,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_add2::IfcLoop Bound() const; @@ -19841,7 +19237,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -19850,12 +19246,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_add2::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -19895,8 +19290,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_add2::IfcSurface FaceSurface() const; @@ -19906,7 +19300,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -19917,8 +19311,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -19940,7 +19333,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -19978,8 +19371,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > FillStyles() const; @@ -19988,7 +19380,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_add2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20039,8 +19431,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20060,7 +19451,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add2::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_add2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_add2::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20083,12 +19474,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20105,8 +19495,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_add2::IfcGeometricRepresentationContext ParentContext() const; @@ -20132,7 +19521,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_add2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20143,15 +19532,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20200,8 +19588,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_add2::IfcVirtualGridIntersection PlacementLocation() const; @@ -20213,7 +19600,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_add2::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_add2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20232,8 +19619,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_add2::IfcSurface BaseSurface() const; @@ -20243,7 +19629,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20282,21 +19668,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_add2::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_add2::IfcTessellatedFaceSet& v); @@ -20308,13 +19692,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_add2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_add2::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_add2::IfcTessellatedFaceSet& v); @@ -20322,19 +19705,18 @@ public: void setTexCoords(const ::Ifc4x3_add2::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20343,15 +19725,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20392,8 +19773,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20405,7 +19785,7 @@ public: void setDurationType(const ::Ifc4x3_add2::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add2::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_add2::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20416,8 +19796,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20434,7 +19813,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20445,12 +19824,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20463,8 +19841,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20472,7 +19849,7 @@ public: void setOrientation(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20483,8 +19860,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_add2::IfcAxis2Placement3D Position() const; @@ -20506,7 +19882,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_add2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20525,8 +19901,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20547,7 +19922,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20566,8 +19941,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20586,13 +19960,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_add2::IfcAxis2PlacementLinear RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_add2::IfcAxis2PlacementLinear& v); @@ -20600,7 +19973,7 @@ public: void setCartesianPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add2::IfcAxis2Placement3D v3_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_add2::IfcAxis2Placement3D v3_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20656,15 +20029,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_add2::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_add2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_add2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20694,12 +20066,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20722,8 +20093,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_add2::IfcRepresentationMap MappingSource() const; @@ -20733,7 +20103,7 @@ public: void setMappingTarget(const ::Ifc4x3_add2::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add2::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_add2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_add2::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20764,8 +20134,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -20791,7 +20160,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -20800,8 +20169,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -20821,7 +20189,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -20839,8 +20207,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -20853,7 +20220,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_add2::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -20887,15 +20254,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_add2::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_add2::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations, ::Ifc4x3_add2::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations, ::Ifc4x3_add2::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -20999,8 +20365,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_add2::IfcMaterialLayerSet ForLayerSet() const; @@ -21031,7 +20396,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_add2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21042,8 +20407,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_add2::IfcMaterialProfileSet ForProfileSet() const; @@ -21061,7 +20425,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21090,8 +20454,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_add2::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21101,7 +20464,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_add2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_add2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21127,8 +20490,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21137,15 +20499,14 @@ public: void setMaterial(const ::Ifc4x3_add2::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_add2::IfcMaterial RelatingMaterial() const; @@ -21157,7 +20518,7 @@ public: void setMaterialExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_add2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21188,12 +20549,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21247,8 +20607,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21259,13 +20618,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21279,7 +20637,7 @@ public: void setOffsetPoint(const ::Ifc4x3_add2::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add2::IfcCartesianPoint v7_OffsetPoint); + IfcOpenCrossProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_add2::IfcCartesianPoint v7_OffsetPoint); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21342,12 +20700,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21357,8 +20714,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_add2::IfcOrganization RelatingOrganization() const; @@ -21368,7 +20724,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_add2::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add2::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_add2::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21379,8 +20735,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_add2::IfcEdge EdgeElement() const; @@ -21390,7 +20745,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_add2::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21436,15 +20791,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_add2::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21462,15 +20816,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_add2::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21483,8 +20836,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > HasQuantities() const; @@ -21500,7 +20852,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21522,8 +20874,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21541,7 +20892,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21554,15 +20905,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_add2::IfcPoint Location() const; void setLocation(const ::Ifc4x3_add2::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_add2::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21571,8 +20921,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21582,7 +20931,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21591,18 +20940,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3_add2::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v); @@ -21616,7 +20963,7 @@ public: void setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add2::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3_add2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add2::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21629,8 +20976,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_add2::IfcCurve BasisCurve() const; @@ -21640,7 +20986,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21653,8 +20999,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_add2::IfcSurface BasisSurface() const; @@ -21667,7 +21012,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21710,15 +21055,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21778,8 +21122,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_add2::IfcAxis2Placement3D Position() const; @@ -21791,7 +21134,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_add2::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add2::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_add2::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -21802,25 +21145,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -21835,12 +21176,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -21856,14 +21196,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -21878,23 +21217,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_add2::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_add2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v3_Properties, ::Ifc4x3_add2::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -21909,7 +21246,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -21963,14 +21300,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -21982,8 +21318,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_add2::IfcProperty DependingProperty() const; @@ -21996,7 +21331,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcProperty v3_DependingProperty, ::Ifc4x3_add2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcProperty v3_DependingProperty, ::Ifc4x3_add2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22042,15 +21377,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22079,22 +21413,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22132,8 +21464,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22143,7 +21474,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22152,8 +21483,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22163,7 +21493,7 @@ public: void setValues(const std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_add2::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22172,8 +21502,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22195,7 +21524,7 @@ public: void setBarCount(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22207,12 +21536,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22222,8 +21550,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22233,7 +21560,7 @@ public: void setRelatingApproval(const ::Ifc4x3_add2::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add2::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_add2::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22257,8 +21584,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_add2::IfcConstraint RelatingConstraint() const; @@ -22268,14 +21594,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_add2::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22324,7 +21649,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22365,15 +21690,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22382,8 +21706,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_add2::IfcSectionTypeEnum::Value SectionType() const; @@ -22396,7 +21719,7 @@ public: void setEndProfile(const ::Ifc4x3_add2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add2::IfcProfileDef v2_StartProfile, ::Ifc4x3_add2::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_add2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add2::IfcProfileDef v2_StartProfile, ::Ifc4x3_add2::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22407,8 +21730,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22430,7 +21752,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_add2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22487,8 +21809,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_add2::IfcCompositeCurve SpineCurve() const; @@ -22501,20 +21822,19 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_add2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_add2::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3_add2::IfcTransitionCode::Value& v); std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22530,26 +21850,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_add2::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_add2::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_add2::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22562,8 +21880,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22576,7 +21893,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22585,12 +21902,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22599,8 +21915,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22622,7 +21937,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22631,8 +21946,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22645,7 +21959,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22654,8 +21968,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22677,22 +21990,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22702,8 +22014,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22725,7 +22036,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22737,15 +22048,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22759,15 +22069,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_add2::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_add2::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_add2::IfcVertex v1_EdgeStart, ::Ifc4x3_add2::IfcVertex v2_EdgeEnd, ::Ifc4x3_add2::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22781,12 +22090,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -22835,8 +22143,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -22871,7 +22178,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_add2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_add2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_add2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_add2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_add2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -22893,8 +22200,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_add2::IfcProfileDef SweptArea() const; @@ -22904,7 +22210,7 @@ public: void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -22961,8 +22267,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_add2::IfcCurve Directrix() const; @@ -22985,7 +22290,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -22999,15 +22304,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -23016,8 +22320,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_add2::IfcProfileDef SweptCurve() const; @@ -23027,7 +22330,7 @@ public: void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23059,8 +22362,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23091,17 +22393,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23115,8 +22416,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23130,7 +22430,7 @@ public: void setPath(const ::Ifc4x3_add2::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23143,8 +22443,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_add2::IfcPlanarExtent Extent() const; @@ -23154,7 +22453,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path, ::Ifc4x3_add2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path, ::Ifc4x3_add2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23223,8 +22522,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23246,7 +22544,7 @@ public: void setFontSize(const ::Ifc4x3_add2::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add2::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_add2::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23288,8 +22586,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23305,7 +22602,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23340,8 +22637,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23360,7 +22656,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23392,8 +22688,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23409,7 +22704,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23479,8 +22774,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > RepresentationMaps() const; @@ -23491,7 +22785,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23507,8 +22801,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23524,7 +22817,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23556,8 +22849,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23582,7 +22874,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23593,8 +22885,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_add2::IfcDirection Orientation() const; @@ -23604,7 +22895,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_add2::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23620,15 +22911,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_add2::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_add2::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_add2::IfcVertex v1_LoopVertex); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23657,8 +22947,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23680,7 +22969,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23697,12 +22986,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_add2::IfcFaceBound > v1_Bounds, ::Ifc4x3_add2::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23726,8 +23014,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23741,7 +23028,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_add2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_add2::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23782,8 +23069,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -23814,7 +23100,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -23827,15 +23113,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_add2::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -23850,15 +23135,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_add2::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -23875,8 +23159,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_add2::IfcDirection Axis() const; @@ -23886,13 +23169,12 @@ public: void setRefDirection(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3_add2::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_add2::IfcDirection& v); @@ -23900,7 +23182,7 @@ public: void setRefDirection(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3_add2::IfcPoint v1_Location, ::Ifc4x3_add2::IfcDirection v2_Axis, ::Ifc4x3_add2::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -23930,8 +23212,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_add2::IfcBooleanOperator::Value Operator() const; @@ -23944,7 +23225,7 @@ public: void setSecondOperand(const ::Ifc4x3_add2::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -23960,12 +23241,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -23991,8 +23271,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_add2::IfcCartesianPoint Corner() const; @@ -24008,7 +23287,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24042,15 +23321,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_add2::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_add2::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_add2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24076,8 +23354,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24096,7 +23373,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24107,31 +23384,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24139,13 +23413,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24153,7 +23426,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24187,8 +23460,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_add2::IfcDirection Axis1() const; @@ -24204,7 +23476,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24213,12 +23485,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24232,15 +23503,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24249,15 +23519,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_add2::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24272,8 +23541,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24283,7 +23551,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_add2::IfcDirection v1_Axis1, ::Ifc4x3_add2::IfcDirection v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24299,15 +23567,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24360,12 +23627,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_add2::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24377,8 +23643,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24397,7 +23662,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24406,8 +23671,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24418,7 +23682,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add2::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_add2::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24429,8 +23693,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24442,7 +23705,7 @@ public: void setParentCurve(const ::Ifc4x3_add2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24461,8 +23724,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > >& v); @@ -24470,7 +23732,7 @@ public: void setBaseQuantity(const ::Ifc4x3_add2::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24487,8 +23749,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24513,7 +23774,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24527,15 +23788,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24544,15 +23804,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_add2::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24597,15 +23856,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_add2::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_add2::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_add2::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24619,12 +23877,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24641,8 +23898,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_add2::IfcPlane BasisSurface() const; @@ -24655,7 +23911,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_add2::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPlane v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add2::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_add2::IfcPlane v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_add2::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24680,8 +23936,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_add2::IfcSurface BasisSurface() const; @@ -24693,13 +23948,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_add2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3_add2::IfcPlacement Placement() const; void setPlacement(const ::Ifc4x3_add2::IfcPlacement& v); @@ -24711,7 +23965,7 @@ public: void setParentCurve(const ::Ifc4x3_add2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add2::IfcPlacement v2_Placement, ::Ifc4x3_add2::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add2::IfcCurve v5_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add2::IfcPlacement v2_Placement, ::Ifc4x3_add2::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_add2::IfcCurve v5_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24722,21 +23976,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_add2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_add2::IfcCurve& v); @@ -24746,7 +23998,7 @@ public: void setEndParam(const ::Ifc4x3_add2::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24761,15 +24013,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_add2::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_add2::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_add2::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -24850,8 +24101,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -24863,7 +24113,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -24889,15 +24139,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -24906,15 +24155,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_add2::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -24934,8 +24182,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -24945,7 +24192,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -24955,8 +24202,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -24973,7 +24219,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25045,8 +24291,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_add2::IfcDirection ExtrudedDirection() const; @@ -25057,7 +24302,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25159,15 +24404,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_add2::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_add2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25183,15 +24427,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_add2::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25242,8 +24485,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_add2::IfcCurveStyle HatchLineAppearance() const; @@ -25270,7 +24512,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_add2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_add2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_add2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25279,8 +24521,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_add2::IfcVector > TilingPattern() const; @@ -25293,7 +24534,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add2::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_add2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_add2::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25355,15 +24596,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_add2::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25395,12 +24635,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25441,8 +24680,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25451,7 +24689,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25516,15 +24754,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25535,12 +24772,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_add2::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25607,8 +24843,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25631,13 +24866,12 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -25645,31 +24879,29 @@ public: std::vector< IfcTextureCoordinateIndices > HasTexCoords() const; // INVERSE IfcTextureCoordinateIndices::TexCoordsOf static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; class IFC_PARSE_API IfcIndexedPolygonalTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedPolygonalTextureMap() {} - explicit IfcIndexedPolygonalTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > TexCoordIndices() const; void setTexCoordIndices(const std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > v4_TexCoordIndices); + IfcIndexedPolygonalTextureMap initialize(std::vector< ::Ifc4x3_add2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_add2::IfcTextureCoordinateIndices > v4_TexCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25724,8 +24956,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25747,7 +24978,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25762,15 +24993,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -25787,8 +25017,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_add2::IfcCartesianPoint Pnt() const; @@ -25798,7 +25027,7 @@ public: void setDir(const ::Ifc4x3_add2::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add2::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_add2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_add2::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -25865,15 +25094,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_add2::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_add2::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -25959,8 +25187,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -25971,19 +25198,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add2::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_add2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -25998,8 +25224,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -26009,7 +25234,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -26028,8 +25253,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26042,13 +25266,12 @@ public: void setRefDirection(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add2::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add2::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression >& v); @@ -26056,7 +25279,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26067,8 +25290,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add2::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_add2::IfcSurface& v); @@ -26076,7 +25298,7 @@ public: void setReferenceCurve(const ::Ifc4x3_add2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, ::Ifc4x3_add2::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26086,8 +25308,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26095,7 +25316,7 @@ public: void setPlacement(const ::Ifc4x3_add2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add2::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add2::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26135,18 +25356,16 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position); }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: - IfcPolynomialCurve() {} - explicit IfcPolynomialCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add2::IfcPlacement Position() const; void setPosition(const ::Ifc4x3_add2::IfcPlacement& v); @@ -26158,7 +25377,7 @@ public: void setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); + IfcPolynomialCurve initialize(::Ifc4x3_add2::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26167,12 +25386,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26183,12 +25401,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26212,12 +25429,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26234,8 +25450,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26243,7 +25458,7 @@ public: void setPredefinedType(const ::Ifc4x3_add2::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26287,8 +25502,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26306,7 +25520,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26401,8 +25615,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_add2::IfcObjectPlacement ObjectPlacement() const; @@ -26415,7 +25628,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26463,12 +25676,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26496,12 +25708,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26609,8 +25820,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_add2::IfcValue UpperBoundValue() const; @@ -26628,7 +25838,7 @@ public: void setSetPointValue(const ::Ifc4x3_add2::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_UpperBoundValue, ::Ifc4x3_add2::IfcValue v4_LowerBoundValue, ::Ifc4x3_add2::IfcUnit v5_Unit, ::Ifc4x3_add2::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_UpperBoundValue, ::Ifc4x3_add2::IfcValue v4_LowerBoundValue, ::Ifc4x3_add2::IfcUnit v5_Unit, ::Ifc4x3_add2::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26709,8 +25919,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26722,7 +25931,7 @@ public: void setEnumerationReference(const ::Ifc4x3_add2::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add2::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_add2::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -26791,8 +26000,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -26804,7 +26012,7 @@ public: void setUnit(const ::Ifc4x3_add2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_ListValues, ::Ifc4x3_add2::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_ListValues, ::Ifc4x3_add2::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -26823,8 +26031,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -26836,7 +26043,7 @@ public: void setPropertyReference(const ::Ifc4x3_add2::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add2::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_add2::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -26893,15 +26100,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_add2::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_add2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -26936,8 +26142,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -26961,7 +26166,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -27009,8 +26214,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -27024,7 +26228,7 @@ public: void setUnit(const ::Ifc4x3_add2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_NominalValue, ::Ifc4x3_add2::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue v3_NominalValue, ::Ifc4x3_add2::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27144,8 +26348,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27173,7 +26376,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add2::IfcUnit v6_DefiningUnit, ::Ifc4x3_add2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_add2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_add2::IfcUnit v6_DefiningUnit, ::Ifc4x3_add2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27201,14 +26404,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27232,8 +26434,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27246,7 +26447,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27338,8 +26539,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27352,7 +26552,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27371,8 +26571,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_add2::IfcSurface BasisSurface() const; @@ -27397,7 +26596,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_add2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27427,8 +26626,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27438,7 +26636,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_add2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27453,8 +26651,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_add2::IfcObjectDefinition > RelatedObjects() const; @@ -27465,7 +26662,7 @@ public: void setRelatedObjectsType(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27478,8 +26675,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_add2::IfcActor RelatingActor() const; @@ -27489,7 +26685,7 @@ public: void setActingRole(const ::Ifc4x3_add2::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcActor v7_RelatingActor, ::Ifc4x3_add2::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcActor v7_RelatingActor, ::Ifc4x3_add2::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27498,15 +26694,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_add2::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_add2::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27523,15 +26718,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_add2::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_add2::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27544,15 +26738,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27578,8 +26771,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27591,7 +26783,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_add2::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add2::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_add2::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27603,8 +26795,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27613,7 +26804,7 @@ public: void setRelatingProduct(const ::Ifc4x3_add2::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27623,8 +26814,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27633,7 +26823,7 @@ public: void setRelatingResource(const ::Ifc4x3_add2::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27678,8 +26868,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27688,22 +26877,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_add2::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_add2::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27737,23 +26925,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_add2::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_add2::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27763,7 +26949,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_add2::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add2::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_add2::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -27774,15 +26960,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_add2::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_add2::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -27793,15 +26978,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_add2::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_add2::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -27899,39 +27083,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_add2::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_add2::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_add2::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_add2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_add2::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -27957,8 +27138,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_add2::IfcConnectionGeometry ConnectionGeometry() const; @@ -27971,7 +27151,7 @@ public: void setRelatedElement(const ::Ifc4x3_add2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -28005,8 +27185,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -28022,7 +27201,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_add2::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28051,8 +27230,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_add2::IfcPort RelatingPort() const; @@ -28064,7 +27242,7 @@ public: void setRelatedElement(const ::Ifc4x3_add2::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28081,8 +27259,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_add2::IfcPort RelatingPort() const; @@ -28095,15 +27272,14 @@ public: void setRealizingElement(const ::Ifc4x3_add2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcPort v6_RelatedPort, ::Ifc4x3_add2::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort v5_RelatingPort, ::Ifc4x3_add2::IfcPort v6_RelatedPort, ::Ifc4x3_add2::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28113,7 +27289,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_add2::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add2::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_add2::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28141,8 +27317,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_add2::IfcStructuralMember RelatingStructuralMember() const; @@ -28164,7 +27339,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28185,15 +27360,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_add2::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_add2::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add2::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_add2::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28220,8 +27394,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_add2::IfcElement > RealizingElements() const; @@ -28231,7 +27404,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement v6_RelatingElement, ::Ifc4x3_add2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_add2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28295,8 +27468,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28308,7 +27480,7 @@ public: void setRelatingStructure(const ::Ifc4x3_add2::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProduct > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcProduct > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28328,8 +27500,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28341,7 +27512,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_add2::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28371,8 +27542,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28384,7 +27554,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_add2::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_add2::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28399,8 +27569,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_add2::IfcContext RelatingContext() const; @@ -28410,7 +27579,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_add2::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_add2::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28444,12 +27613,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28480,12 +27648,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28504,8 +27671,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_add2::IfcObject > RelatedObjects() const; @@ -28515,7 +27681,7 @@ public: void setRelatingObject(const ::Ifc4x3_add2::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28534,8 +27700,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_add2::IfcObjectDefinition > RelatedObjects() const; @@ -28545,7 +27710,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_add2::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_add2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28561,8 +27726,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28572,7 +27736,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_add2::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add2::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_add2::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28645,8 +27809,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_add2::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObject >& v); @@ -28655,7 +27818,7 @@ public: void setRelatingType(const ::Ifc4x3_add2::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcObject > v5_RelatedObjects, ::Ifc4x3_add2::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28668,8 +27831,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_add2::IfcOpeningElement RelatingOpeningElement() const; @@ -28681,7 +27843,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_add2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28692,8 +27854,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > RelatedControlElements() const; @@ -28703,7 +27864,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_add2::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add2::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_add2::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28754,8 +27915,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_add2::IfcInterferenceSelect RelatingElement() const; @@ -28776,7 +27936,7 @@ public: void setInterferenceSpace(const ::Ifc4x3_add2::IfcSpatialZone& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add2::IfcSpatialZone v10_InterferenceSpace); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_add2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add2::IfcSpatialZone v10_InterferenceSpace); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -28805,8 +27965,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -28820,13 +27979,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_add2::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_add2::IfcPositioningElement& v); @@ -28834,7 +27992,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_add2::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add2::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_add2::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -28870,8 +28028,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_add2::IfcElement RelatingElement() const; @@ -28881,7 +28038,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_add2::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, ::Ifc4x3_add2::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, ::Ifc4x3_add2::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -28934,8 +28091,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -28948,7 +28104,7 @@ public: void setRelatingStructure(const ::Ifc4x3_add2::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_add2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -29006,8 +28162,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_add2::IfcProcess RelatingProcess() const; @@ -29036,7 +28191,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcProcess v5_RelatingProcess, ::Ifc4x3_add2::IfcProcess v6_RelatedProcess, ::Ifc4x3_add2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcProcess v5_RelatingProcess, ::Ifc4x3_add2::IfcProcess v6_RelatedProcess, ::Ifc4x3_add2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29061,8 +28216,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_add2::IfcSystem RelatingSystem() const; @@ -29076,7 +28230,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_add2::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add2::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_add2::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29242,8 +28396,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_add2::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29268,7 +28421,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29319,8 +28472,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29328,7 +28480,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29364,8 +28516,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29373,7 +28524,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_add2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29384,8 +28535,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_add2::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_add2::IfcElement& v); @@ -29393,7 +28543,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_add2::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add2::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_add2::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29420,14 +28570,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29444,8 +28593,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29461,7 +28609,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29541,8 +28689,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_add2::IfcAxis1Placement Axis() const; @@ -29552,7 +28699,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29614,14 +28761,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_add2::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_add2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_add2::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29690,8 +28836,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29701,7 +28846,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29786,8 +28931,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -29797,13 +28941,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_add2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_add2::IfcCurve& v); @@ -29811,25 +28954,23 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v3_CrossSectionPositions); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_add2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_add2::IfcCurve& v); @@ -29839,7 +28980,7 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_add2::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_CrossSections); + IfcSectionedSurface initialize(::Ifc4x3_add2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_add2::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_add2::IfcProfileDef > v3_CrossSections); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -29888,8 +29029,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -29940,7 +29080,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_add2::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_add2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_add2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -29975,8 +29115,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -29990,7 +29129,7 @@ public: std::vector< IfcRelInterferesElements > InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -30025,15 +29164,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30111,8 +29249,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30122,7 +29259,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30160,12 +29297,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30218,15 +29354,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30260,8 +29395,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30270,7 +29404,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30324,39 +29458,36 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - IfcSpiral() {} - explicit IfcSpiral (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add2::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position); + IfcSpiral initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30453,8 +29584,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30483,7 +29613,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30574,13 +29704,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30588,13 +29717,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30618,12 +29746,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30647,8 +29774,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30658,7 +29784,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30680,12 +29806,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30711,15 +29836,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30734,21 +29858,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_add2::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_add2::IfcCurve& v); @@ -30758,7 +29880,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -30824,15 +29946,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_add2::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_add2::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -30849,8 +29970,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_add2::IfcDirection ExtrudedDirection() const; @@ -30860,7 +29980,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -30881,15 +30001,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_add2::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_add2::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -30923,14 +30042,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31179,8 +30297,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31223,7 +30340,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_add2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31267,8 +30384,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31279,13 +30395,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_add2::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_add2::IfcCartesianPointList3D& v); @@ -31293,13 +30408,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - IfcThirdOrderPolynomialSpiral() {} - explicit IfcThirdOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CubicTerm() const; void setCubicTerm(const double& v); @@ -31311,13 +30425,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31325,23 +30438,21 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; class IFC_PARSE_API IfcTransportationDeviceType : public IfcElementType { public: - IfcTransportationDeviceType() {} - explicit IfcTransportationDeviceType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcTransportationDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31353,31 +30464,29 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; class IFC_PARSE_API IfcVehicleType : public IfcTransportationDeviceType { public: - IfcVehicleType() {} - explicit IfcVehicleType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; ::Ifc4x3_add2::IfcVehicleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcVehicleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVehicleTypeEnum::Value v10_PredefinedType); + IfcVehicleType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVehicleTypeEnum::Value v10_PredefinedType); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31479,8 +30588,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31528,7 +30636,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_add2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31577,8 +30685,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31599,7 +30706,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31618,8 +30725,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_add2::IfcActorSelect TheActor() const; @@ -31627,7 +30733,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31664,12 +30770,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31694,14 +30799,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_add2::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_add2::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -31878,15 +30982,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -31959,8 +31062,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -31985,7 +31087,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -31996,8 +31098,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -32016,7 +31117,7 @@ public: void setKnotSpec(const ::Ifc4x3_add2::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32117,8 +31218,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32131,7 +31231,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32142,12 +31242,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32161,12 +31260,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32347,25 +31445,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32394,15 +31490,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_add2::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32424,37 +31519,34 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double ClothoidConstant() const; void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32556,15 +31648,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_add2::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32576,8 +31667,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32588,7 +31678,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32658,8 +31748,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_add2::IfcSegment > Segments() const; @@ -32669,7 +31758,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32684,12 +31773,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32698,15 +31786,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_add2::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_add2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32723,15 +31810,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32748,15 +31834,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -32773,15 +31858,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -32857,8 +31941,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_add2::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_add2::IfcResourceTime& v); @@ -32868,7 +31951,7 @@ public: void setBaseQuantity(const ::Ifc4x3_add2::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -32882,8 +31965,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -32894,13 +31976,12 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; class IFC_PARSE_API IfcCosineSpiral : public IfcSpiral { public: - IfcCosineSpiral() {} - explicit IfcCosineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CosineTerm() const; void setCosineTerm(const double& v); @@ -32908,7 +31989,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); + IfcCosineSpiral initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -32948,8 +32029,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32972,7 +32052,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_add2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_add2::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -32999,8 +32079,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -33028,19 +32107,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33123,15 +32201,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_add2::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33145,8 +32222,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33154,7 +32230,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33179,15 +32255,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33245,35 +32320,32 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_add2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: - IfcDirectrixDerivedReferenceSweptAreaSolid() {} - explicit IfcDirectrixDerivedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcFixedReferenceSweptAreaSolid(data) {} + using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference); + IfcDirectrixDerivedReferenceSweptAreaSolid initialize(::Ifc4x3_add2::IfcProfileDef v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_add2::IfcCurve v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_add2::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33305,12 +32377,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33379,12 +32450,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33483,8 +32553,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33533,7 +32602,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_add2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33582,8 +32651,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33604,7 +32672,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33736,8 +32804,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_add2::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33751,7 +32818,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -33827,12 +32894,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -33849,12 +32915,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -33911,8 +32976,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -33931,7 +32995,7 @@ public: std::vector< IfcRelAdheresToElement > HasSurfaceFeatures() const; // INVERSE IfcRelAdheresToElement::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34029,8 +33093,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34042,7 +33105,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34068,15 +33131,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34157,12 +33219,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34175,12 +33236,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34211,8 +33271,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34222,7 +33281,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34249,12 +33308,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34284,14 +33342,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_add2::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34321,15 +33378,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34359,15 +33415,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34448,8 +33503,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34469,7 +33523,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_add2::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add2::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add2::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34478,12 +33532,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34511,12 +33564,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34544,49 +33596,45 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_add2::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_add2::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_add2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_add2::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_add2::IfcFacilityUsageEnum::Value UsageType() const; void setUsageType(const ::Ifc4x3_add2::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType); }; class IFC_PARSE_API IfcFacilityPartCommon : public IfcFacilityPart { public: - IfcFacilityPartCommon() {} - explicit IfcFacilityPartCommon (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); + IfcFacilityPartCommon initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34598,15 +33646,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34633,15 +33680,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_add2::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34739,12 +33785,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -34803,13 +33848,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -34863,13 +33907,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -34895,12 +33938,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -34927,12 +33969,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -34968,15 +34009,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -35002,12 +34042,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35042,12 +34081,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35058,12 +34096,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35074,12 +34111,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35091,12 +34127,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35109,15 +34144,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_add2::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35225,12 +34259,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35265,14 +34298,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35416,43 +34448,39 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_add2::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_add2::IfcBoundedCurve& v); @@ -35460,7 +34488,7 @@ public: void setEndPoint(const ::Ifc4x3_add2::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint); + IfcGradientCurve initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35494,14 +34522,13 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35534,15 +34561,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35572,45 +34598,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_add2::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_add2::IfcCartesianPointList& v); @@ -35620,7 +34642,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_add2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_add2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35657,24 +34679,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35689,8 +34709,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35716,7 +34735,7 @@ public: void setOriginalValue(const ::Ifc4x3_add2::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add2::IfcCostValue v10_CurrentValue, ::Ifc4x3_add2::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add2::IfcCostValue v10_CurrentValue, ::Ifc4x3_add2::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35747,27 +34766,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcKerbTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcKerbTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcKerbTypeEnum::Value v10_PredefinedType); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcKerbTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -35795,8 +34812,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -35804,7 +34820,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -35837,15 +34853,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_add2::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -35880,61 +34895,56 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcMarinePart : public IfcFacilityPart { public: - IfcMarinePart() {} - explicit IfcMarinePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v11_PredefinedType); + IfcMarinePart initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -35967,8 +34977,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -35979,7 +34988,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -36018,8 +35027,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36032,7 +35040,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36062,14 +35070,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36174,39 +35181,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_add2::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36237,27 +35241,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36268,8 +35270,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36278,7 +35279,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36484,8 +35485,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36495,7 +35495,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36528,27 +35528,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_add2::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcPavementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPavementTypeEnum::Value v10_PredefinedType); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPavementTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36557,8 +35555,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36570,7 +35567,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36605,8 +35602,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36625,7 +35621,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_add2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36666,8 +35662,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36686,7 +35681,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36697,15 +35692,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_add2::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36738,15 +35732,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -36783,15 +35776,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -36872,21 +35864,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_add2::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -36896,7 +35886,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_add2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_add2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -36914,15 +35904,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_add2::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_add2::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -36979,27 +35968,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37107,8 +36094,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37116,7 +36102,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37163,8 +36149,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37187,7 +36172,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37298,8 +36283,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37308,7 +36292,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37347,15 +36331,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37387,27 +36370,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_add2::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37431,39 +36412,36 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_add2::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v10_PredefinedType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRailwayPart : public IfcFacilityPart { public: - IfcRailwayPart() {} - explicit IfcRailwayPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); + IfcRailwayPart initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37487,15 +36465,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37532,15 +36509,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_add2::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37557,27 +36533,25 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_add2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_add2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v8_PredefinedType); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v8_PredefinedType); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37589,26 +36563,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37636,8 +36608,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37660,7 +36631,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37675,8 +36646,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37711,13 +36681,12 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v20_BendingParameters); }; class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { public: - IfcRelAdheresToElement() {} - explicit IfcRelAdheresToElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_add2::IfcElement RelatingElement() const; void setRelatingElement(const ::Ifc4x3_add2::IfcElement& v); @@ -37725,7 +36694,7 @@ public: void setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_add2::IfcSurfaceFeature >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add2::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); + IfcRelAdheresToElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_add2::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37751,8 +36720,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37766,31 +36734,29 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_add2::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_add2::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v10_PredefinedType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRoadPart : public IfcFacilityPart { public: - IfcRoadPart() {} - explicit IfcRoadPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v11_PredefinedType); + IfcRoadPart initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -37826,15 +36792,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_add2::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -37875,31 +36840,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_add2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_add2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: - IfcSecondOrderPolynomialSpiral() {} - explicit IfcSecondOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QuadraticTerm() const; void setQuadraticTerm(const double& v); @@ -37909,13 +36871,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSecondOrderPolynomialSpiral initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_add2::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_add2::IfcBoundedCurve& v); @@ -37923,13 +36884,12 @@ public: void setEndPoint(const ::Ifc4x3_add2::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint); + IfcSegmentedReferenceCurve initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement v4_EndPoint); }; class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: - IfcSeventhOrderPolynomialSpiral() {} - explicit IfcSeventhOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SepticTerm() const; void setSepticTerm(const double& v); @@ -37949,7 +36909,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); + IfcSeventhOrderPolynomialSpiral initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -37974,57 +36934,52 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_add2::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add2::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSineSpiral : public IfcSpiral { public: - IfcSineSpiral() {} - explicit IfcSineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SineTerm() const; void setSineTerm(const double& v); @@ -38034,7 +36989,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSineSpiral initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38227,8 +37182,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38250,7 +37204,7 @@ public: void setSiteAddress(const ::Ifc4x3_add2::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add2::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_add2::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38331,15 +37285,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_add2::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38369,14 +37322,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38630,8 +37582,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38647,7 +37598,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38681,15 +37632,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -38774,8 +37724,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_add2::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -38784,7 +37733,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -38814,15 +37763,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -38846,15 +37794,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -38891,15 +37838,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_add2::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -38922,23 +37868,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_add2::IfcBoundaryCondition AppliedCondition() const; @@ -38946,7 +37890,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -39006,8 +37950,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39017,7 +37960,7 @@ public: void setPredefinedType(const ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39038,14 +37981,13 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; ::Ifc4x3_add2::IfcDirection AxisDirection() const; void setAxisDirection(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcDirection v9_AxisDirection); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcDirection v9_AxisDirection); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39086,8 +38028,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39099,7 +38040,7 @@ public: void setAxis(const ::Ifc4x3_add2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39123,12 +38064,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39182,15 +38122,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39201,12 +38140,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39243,8 +38181,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39265,7 +38202,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39314,12 +38251,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39336,15 +38272,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_add2::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_add2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_add2::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39391,12 +38326,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39404,8 +38338,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39419,7 +38352,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39475,8 +38408,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39486,7 +38418,7 @@ public: void setPredefinedType(const ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39502,12 +38434,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39535,8 +38466,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -39544,7 +38474,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -39580,8 +38510,7 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -39589,7 +38518,7 @@ public: std::vector< IfcRelAdheresToElement > AdheresToElement() const; // INVERSE IfcRelAdheresToElement::RelatedSurfaceFeatures static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39633,15 +38562,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39662,14 +38590,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39697,14 +38624,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39740,21 +38666,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_add2::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value >& v); @@ -39774,61 +38698,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_add2::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTendonTypeEnum::Value& v); @@ -39840,19 +38759,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -39883,15 +38801,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_add2::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -39958,25 +38875,23 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcTransportationDeviceType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransportationDevice : public IfcElement { public: - IfcTransportationDevice() {} - explicit IfcTransportationDevice (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcTransportationDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40058,8 +38973,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_add2::IfcCurve BasisCurve() const; @@ -40078,7 +38992,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_add2::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add2::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_add2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_add2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add2::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40111,15 +39025,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40151,15 +39064,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40201,51 +39113,47 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_add2::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVehicle : public IfcTransportationDevice { public: - IfcVehicle() {} - explicit IfcVehicle (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v9_PredefinedType); + IfcVehicle initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40283,14 +39191,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40316,15 +39223,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40414,14 +39320,13 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40457,15 +39362,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -40553,15 +39457,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_add2::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -40601,15 +39504,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40734,8 +39636,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_add2::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40749,7 +39650,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40766,8 +39667,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -40787,7 +39687,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_add2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -40835,8 +39735,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -40861,7 +39760,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -40890,8 +39789,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -40899,7 +39797,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -40943,8 +39841,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -40952,7 +39849,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_add2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41041,8 +39938,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41053,7 +39949,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41095,8 +39991,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41119,7 +40014,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41149,15 +40044,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41187,14 +40081,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41224,59 +40117,54 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3_add2::IfcAlignmentParameterSegment DesignParameters() const; void setDesignParameters(const ::Ifc4x3_add2::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcAlignmentParameterSegment v8_DesignParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcAlignmentParameterSegment v8_DesignParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41304,8 +40192,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41341,7 +40228,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_add2::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add2::IfcCostValue v7_OriginalValue, ::Ifc4x3_add2::IfcCostValue v8_CurrentValue, ::Ifc4x3_add2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add2::IfcActorSelect v10_Owner, ::Ifc4x3_add2::IfcActorSelect v11_User, ::Ifc4x3_add2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add2::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_add2::IfcCostValue v7_OriginalValue, ::Ifc4x3_add2::IfcCostValue v8_CurrentValue, ::Ifc4x3_add2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_add2::IfcActorSelect v10_Owner, ::Ifc4x3_add2::IfcActorSelect v11_User, ::Ifc4x3_add2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add2::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41387,15 +40274,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41448,8 +40334,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41468,7 +40353,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -41489,8 +40374,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -41503,7 +40387,7 @@ public: void setKnotSpec(const ::Ifc4x3_add2::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -41605,27 +40489,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_add2::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_add2::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -41658,15 +40540,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_add2::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41677,36 +40558,33 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v11_PredefinedType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -41884,8 +40762,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -41898,7 +40775,7 @@ public: void setBuildingAddress(const ::Ifc4x3_add2::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add2::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add2::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -41919,15 +40796,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -41935,15 +40811,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -41981,15 +40856,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42029,8 +40903,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42039,23 +40912,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value >& v); @@ -42063,7 +40934,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42094,14 +40965,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_add2::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42131,15 +41001,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42175,15 +41044,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42215,15 +41083,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42268,27 +41135,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42324,15 +41189,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_add2::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42377,8 +41241,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42386,7 +41249,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42417,25 +41280,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_add2::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42466,15 +41327,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_add2::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42749,8 +41609,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42760,7 +41619,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -42796,15 +41655,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -42835,15 +41693,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_add2::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -42874,15 +41731,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_add2::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -42908,8 +41764,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -42917,7 +41772,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -42947,8 +41802,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -42956,7 +41810,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -42975,8 +41829,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -42984,19 +41837,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_add2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_add2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43029,15 +41881,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43074,27 +41925,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43322,8 +42171,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43332,7 +42180,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43474,8 +42322,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43485,7 +42332,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43523,25 +42370,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_add2::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -43718,15 +42563,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -43918,27 +42762,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -43979,15 +42821,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44045,12 +42886,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44216,13 +43056,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44294,13 +43133,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44386,8 +43224,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44399,7 +43236,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44443,8 +43280,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44456,7 +43292,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -44816,8 +43652,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -44846,7 +43681,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -44879,15 +43714,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -44920,15 +43754,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -44958,49 +43791,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45033,15 +43862,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45072,15 +43900,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45111,27 +43938,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45167,15 +43992,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45206,15 +44030,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45245,15 +44068,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45266,12 +44088,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45316,14 +44137,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45371,14 +44191,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45446,14 +44265,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45472,8 +44290,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45481,7 +44298,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45513,15 +44330,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_add2::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45554,15 +44370,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_add2::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -45599,15 +44414,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -45620,12 +44434,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -45634,12 +44447,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -45673,15 +44485,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -45765,14 +44576,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -45781,12 +44591,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -45813,12 +44622,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -45831,12 +44639,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -45851,12 +44658,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -45865,12 +44671,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -45896,8 +44701,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -45906,17 +44710,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46016,8 +44819,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_add2::IfcGridAxis > UAxes() const; @@ -46032,7 +44834,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_add2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_add2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_add2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46086,14 +44888,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -46140,14 +44941,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46208,14 +45008,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46285,26 +45084,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v9_PredefinedType); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v9_PredefinedType); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46355,14 +45152,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46432,36 +45228,33 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46509,14 +45302,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -46770,8 +45562,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -46781,31 +45572,29 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -46850,26 +45639,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -46878,12 +45665,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_add2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -46953,26 +45739,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v9_PredefinedType); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -46994,8 +45778,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -47009,7 +45792,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47098,14 +45881,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47169,14 +45951,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -47408,8 +46189,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -47419,7 +46199,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -47499,14 +46279,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -47550,15 +46329,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -47611,26 +46389,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -47766,8 +46542,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -47776,7 +46551,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -47913,8 +46688,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -47925,7 +46699,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48117,8 +46891,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48128,7 +46901,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48168,27 +46941,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_add2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_add2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48220,8 +46991,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48236,7 +47006,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -48256,8 +47026,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -48280,7 +47049,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_add2::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -48429,8 +47198,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -48439,7 +47207,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -48569,14 +47337,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -48628,15 +47395,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_add2::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -48654,8 +47420,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -48663,19 +47428,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -48939,8 +47703,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -48950,7 +47713,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -49001,14 +47764,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -49074,14 +47836,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -49135,14 +47896,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -49311,8 +48071,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -49321,7 +48080,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -49492,8 +48251,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -49520,7 +48278,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -49547,8 +48305,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -49580,15 +48337,14 @@ public: void setSharedPlacement(const ::Ifc4x3_add2::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add2::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_add2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_add2::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -49599,7 +48355,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -49610,12 +48366,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -49707,14 +48462,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -49778,26 +48532,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -49843,14 +48595,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -49970,8 +48721,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcTransportationDevice { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -49980,7 +48730,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -50031,14 +48781,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -50068,15 +48817,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -50152,14 +48900,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -50349,14 +49096,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -50602,8 +49348,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -50613,7 +49358,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -50819,12 +49564,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -50932,14 +49676,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -51301,8 +50044,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -51331,7 +50073,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -51366,15 +50108,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_add2::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -51435,14 +50176,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -51488,14 +50228,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -51544,14 +50283,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -51581,27 +50319,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_add2::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v8_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v8_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -51783,14 +50519,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -52031,8 +50766,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -52042,19 +50776,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -52127,24 +50860,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -52338,14 +51069,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -52390,14 +51120,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -52462,15 +51191,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -52533,15 +51261,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -52619,15 +51346,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -52718,27 +51444,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -52811,14 +51535,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -52888,14 +51611,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53001,14 +51723,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -53058,14 +51779,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -53135,14 +51855,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -53182,27 +51901,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_add2::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_add2::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_add2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_add2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -53255,14 +51972,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -53323,14 +52039,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -53405,26 +52120,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -53459,24 +52172,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -53558,13 +52269,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -53643,14 +52353,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -53703,14 +52412,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -53756,14 +52464,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53865,14 +52572,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -53933,14 +52639,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -53985,26 +52690,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -54055,14 +52758,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -54107,14 +52809,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -54159,14 +52860,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -54224,14 +52924,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -54322,14 +53021,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -54399,14 +53097,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -54462,34 +53159,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -54545,14 +53239,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -54690,14 +53383,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -54756,14 +53448,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -54829,14 +53520,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -54882,14 +53572,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -54999,14 +53688,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_rc1.cpp b/src/ifcparse/schemas/Ifc4x3_rc1.cpp index f6b07abb0a..5578534fc4 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc1.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc1.cpp @@ -7192,652 +7192,652 @@ const ifcopenshell::select_type& Ifc4x3_rc1::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[0]); } -void Ifc4x3_rc1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcAbsorbedDoseMeasure Ifc4x3_rc1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1]); } -void Ifc4x3_rc1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcAccelerationMeasure Ifc4x3_rc1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[45]); } -void Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcAmountOfSubstanceMeasure Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[48]); } -void Ifc4x3_rc1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcAngularVelocityMeasure Ifc4x3_rc1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[60]); } -void Ifc4x3_rc1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcArcIndex Ifc4x3_rc1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[61]); } -void Ifc4x3_rc1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcAreaDensityMeasure Ifc4x3_rc1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[62]); } -void Ifc4x3_rc1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcAreaMeasure Ifc4x3_rc1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[85]); } -void Ifc4x3_rc1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcBinary Ifc4x3_rc1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[91]); } -void Ifc4x3_rc1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcBoolean Ifc4x3_rc1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[106]); } -void Ifc4x3_rc1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcBoxAlignment Ifc4x3_rc1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[150]); } -void Ifc4x3_rc1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcCardinalPointReference Ifc4x3_rc1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[194]); } -void Ifc4x3_rc1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcComplexNumber Ifc4x3_rc1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[202]); } -void Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[232]); } -void Ifc4x3_rc1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcContextDependentMeasure Ifc4x3_rc1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[257]); } -void Ifc4x3_rc1::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcCountMeasure Ifc4x3_rc1::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[275]); } -void Ifc4x3_rc1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcCurvatureMeasure Ifc4x3_rc1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[294]); } -void Ifc4x3_rc1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDate Ifc4x3_rc1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[295]); } -void Ifc4x3_rc1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDateTime Ifc4x3_rc1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[296]); } -void Ifc4x3_rc1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDayInMonthNumber Ifc4x3_rc1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[297]); } -void Ifc4x3_rc1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDayInWeekNumber Ifc4x3_rc1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[306]); } -void Ifc4x3_rc1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDescriptiveMeasure Ifc4x3_rc1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[308]); } -void Ifc4x3_rc1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDimensionCount Ifc4x3_rc1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[352]); } -void Ifc4x3_rc1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDoseEquivalentMeasure Ifc4x3_rc1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[364]); } -void Ifc4x3_rc1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDuration Ifc4x3_rc1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[365]); } -void Ifc4x3_rc1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcDynamicViscosityMeasure Ifc4x3_rc1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[377]); } -void Ifc4x3_rc1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcElectricCapacitanceMeasure Ifc4x3_rc1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[378]); } -void Ifc4x3_rc1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcElectricChargeMeasure Ifc4x3_rc1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[379]); } -void Ifc4x3_rc1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcElectricConductanceMeasure Ifc4x3_rc1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[380]); } -void Ifc4x3_rc1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcElectricCurrentMeasure Ifc4x3_rc1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[396]); } -void Ifc4x3_rc1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcElectricResistanceMeasure Ifc4x3_rc1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[400]); } -void Ifc4x3_rc1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcElectricVoltageMeasure Ifc4x3_rc1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[415]); } -void Ifc4x3_rc1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcEnergyMeasure Ifc4x3_rc1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[496]); } -void Ifc4x3_rc1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcFontStyle Ifc4x3_rc1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[497]); } -void Ifc4x3_rc1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcFontVariant Ifc4x3_rc1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[498]); } -void Ifc4x3_rc1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcFontWeight Ifc4x3_rc1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[502]); } -void Ifc4x3_rc1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcForceMeasure Ifc4x3_rc1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[503]); } -void Ifc4x3_rc1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcFrequencyMeasure Ifc4x3_rc1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[524]); } -void Ifc4x3_rc1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcGloballyUniqueId Ifc4x3_rc1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[537]); } -void Ifc4x3_rc1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcHeatFluxDensityMeasure Ifc4x3_rc1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[538]); } -void Ifc4x3_rc1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcHeatingValueMeasure Ifc4x3_rc1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[542]); } -void Ifc4x3_rc1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcIdentifier Ifc4x3_rc1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[543]); } -void Ifc4x3_rc1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcIlluminanceMeasure Ifc4x3_rc1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[556]); } -void Ifc4x3_rc1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcInductanceMeasure Ifc4x3_rc1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[557]); } -void Ifc4x3_rc1::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcInteger Ifc4x3_rc1::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[558]); } -void Ifc4x3_rc1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcIntegerCountRateMeasure Ifc4x3_rc1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[567]); } -void Ifc4x3_rc1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcIonConcentrationMeasure Ifc4x3_rc1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[571]); } -void Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[577]); } -void Ifc4x3_rc1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcKinematicViscosityMeasure Ifc4x3_rc1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[579]); } -void Ifc4x3_rc1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLabel Ifc4x3_rc1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[587]); } -void Ifc4x3_rc1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLanguageId Ifc4x3_rc1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[590]); } -void Ifc4x3_rc1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLengthMeasure Ifc4x3_rc1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[619]); } -void Ifc4x3_rc1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLineIndex Ifc4x3_rc1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[611]); } -void Ifc4x3_rc1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLinearForceMeasure Ifc4x3_rc1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[612]); } -void Ifc4x3_rc1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLinearMomentMeasure Ifc4x3_rc1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[617]); } -void Ifc4x3_rc1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLinearStiffnessMeasure Ifc4x3_rc1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[618]); } -void Ifc4x3_rc1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLinearVelocityMeasure Ifc4x3_rc1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[626]); } -void Ifc4x3_rc1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLogical Ifc4x3_rc1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[630]); } -void Ifc4x3_rc1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLuminousFluxMeasure Ifc4x3_rc1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[631]); } -void Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[632]); } -void Ifc4x3_rc1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcLuminousIntensityMeasure Ifc4x3_rc1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[633]); } -void Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMagneticFluxDensityMeasure Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[634]); } -void Ifc4x3_rc1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMagneticFluxMeasure Ifc4x3_rc1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[641]); } -void Ifc4x3_rc1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMassDensityMeasure Ifc4x3_rc1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[642]); } -void Ifc4x3_rc1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMassFlowRateMeasure Ifc4x3_rc1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[643]); } -void Ifc4x3_rc1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMassMeasure Ifc4x3_rc1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[644]); } -void Ifc4x3_rc1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMassPerLengthMeasure Ifc4x3_rc1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[683]); } -void Ifc4x3_rc1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcModulusOfElasticityMeasure Ifc4x3_rc1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[684]); } -void Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[685]); } -void Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[687]); } -void Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[690]); } -void Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMoistureDiffusivityMeasure Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[691]); } -void Ifc4x3_rc1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMolecularWeightMeasure Ifc4x3_rc1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[692]); } -void Ifc4x3_rc1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMomentOfInertiaMeasure Ifc4x3_rc1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[693]); } -void Ifc4x3_rc1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMonetaryMeasure Ifc4x3_rc1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[695]); } -void Ifc4x3_rc1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcMonthInYearNumber Ifc4x3_rc1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[706]); } -void Ifc4x3_rc1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcNonNegativeLengthMeasure Ifc4x3_rc1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[707]); } -void Ifc4x3_rc1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcNormalisedRatioMeasure Ifc4x3_rc1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[709]); } -void Ifc4x3_rc1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcNumericMeasure Ifc4x3_rc1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[751]); } -void Ifc4x3_rc1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPHMeasure Ifc4x3_rc1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[738]); } -void Ifc4x3_rc1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcParameterValue Ifc4x3_rc1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[770]); } -void Ifc4x3_rc1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPlanarForceMeasure Ifc4x3_rc1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[772]); } -void Ifc4x3_rc1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPlaneAngleMeasure Ifc4x3_rc1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[788]); } -void Ifc4x3_rc1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPositiveInteger Ifc4x3_rc1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[789]); } -void Ifc4x3_rc1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPositiveLengthMeasure Ifc4x3_rc1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[790]); } -void Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPositivePlaneAngleMeasure Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[791]); } -void Ifc4x3_rc1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPositiveRatioMeasure Ifc4x3_rc1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[793]); } -void Ifc4x3_rc1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPowerMeasure Ifc4x3_rc1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[801]); } -void Ifc4x3_rc1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPresentableText Ifc4x3_rc1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[808]); } -void Ifc4x3_rc1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcPressureMeasure Ifc4x3_rc1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[842]); } -void Ifc4x3_rc1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_rc1::IfcPropertySetDefinitionSet Ifc4x3_rc1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_rc1::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[866]); } -void Ifc4x3_rc1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcRadioActivityMeasure Ifc4x3_rc1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[881]); } -void Ifc4x3_rc1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcRatioMeasure Ifc4x3_rc1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[884]); } -void Ifc4x3_rc1::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcReal Ifc4x3_rc1::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[983]); } -void Ifc4x3_rc1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcRotationalFrequencyMeasure Ifc4x3_rc1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[984]); } -void Ifc4x3_rc1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcRotationalMassMeasure Ifc4x3_rc1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[985]); } -void Ifc4x3_rc1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcRotationalStiffnessMeasure Ifc4x3_rc1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[998]); } -void Ifc4x3_rc1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSectionModulusMeasure Ifc4x3_rc1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[993]); } -void Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1013]); } -void Ifc4x3_rc1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcShearModulusMeasure Ifc4x3_rc1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1040]); } -void Ifc4x3_rc1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSolidAngleMeasure Ifc4x3_rc1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1044]); } -void Ifc4x3_rc1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSoundPowerLevelMeasure Ifc4x3_rc1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1045]); } -void Ifc4x3_rc1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSoundPowerMeasure Ifc4x3_rc1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1046]); } -void Ifc4x3_rc1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSoundPressureLevelMeasure Ifc4x3_rc1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1047]); } -void Ifc4x3_rc1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSoundPressureMeasure Ifc4x3_rc1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1063]); } -void Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1064]); } -void Ifc4x3_rc1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSpecularExponent Ifc4x3_rc1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1066]); } -void Ifc4x3_rc1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcSpecularRoughness Ifc4x3_rc1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1171]); } -void Ifc4x3_rc1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTemperatureGradientMeasure Ifc4x3_rc1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1172]); } -void Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1184]); } -void Ifc4x3_rc1::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcText Ifc4x3_rc1::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1185]); } -void Ifc4x3_rc1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTextAlignment Ifc4x3_rc1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1186]); } -void Ifc4x3_rc1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTextDecoration Ifc4x3_rc1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1187]); } -void Ifc4x3_rc1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTextFontName Ifc4x3_rc1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1196]); } -void Ifc4x3_rc1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTextTransformation Ifc4x3_rc1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1202]); } -void Ifc4x3_rc1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcThermalAdmittanceMeasure Ifc4x3_rc1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1203]); } -void Ifc4x3_rc1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcThermalConductivityMeasure Ifc4x3_rc1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1204]); } -void Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1205]); } -void Ifc4x3_rc1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcThermalResistanceMeasure Ifc4x3_rc1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1206]); } -void Ifc4x3_rc1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcThermalTransmittanceMeasure Ifc4x3_rc1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1207]); } -void Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1208]); } -void Ifc4x3_rc1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTime Ifc4x3_rc1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1209]); } -void Ifc4x3_rc1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTimeMeasure Ifc4x3_rc1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1215]); } -void Ifc4x3_rc1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTimeStamp Ifc4x3_rc1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1219]); } -void Ifc4x3_rc1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcTorqueMeasure Ifc4x3_rc1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1258]); } -void Ifc4x3_rc1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcURIReference Ifc4x3_rc1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1264]); } -void Ifc4x3_rc1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcVaporPermeabilityMeasure Ifc4x3_rc1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1281]); } -void Ifc4x3_rc1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcVolumeMeasure Ifc4x3_rc1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1282]); } -void Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcVolumetricFlowRateMeasure Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1288]); } -void Ifc4x3_rc1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcWarpingConstantMeasure Ifc4x3_rc1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc1::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC1_types[1289]); } -void Ifc4x3_rc1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc1::IfcWarpingMomentMeasure Ifc4x3_rc1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -7851,7 +7851,7 @@ void Ifc4x3_rc1::IfcActionRequest::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[2]); } -void Ifc4x3_rc1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc1::IfcActionRequest Ifc4x3_rc1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_rc1::IfcActorSelect Ifc4x3_rc1::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcActorSelect>(); } @@ -7860,7 +7860,7 @@ void Ifc4x3_rc1::IfcActor::setTheActor(const ::Ifc4x3_rc1::IfcActorSelect& v) { std::vector<::Ifc4x3_rc1::IfcRelAssignsToActor> Ifc4x3_rc1::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[912], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[6]); } -void Ifc4x3_rc1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_rc1::IfcActor Ifc4x3_rc1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_rc1::IfcRoleEnum::Value Ifc4x3_rc1::IfcActorRole::Role() const { return ::Ifc4x3_rc1::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7873,7 +7873,7 @@ void Ifc4x3_rc1::IfcActorRole::setDescription(const std::optional< std::string > std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[7]); } -void Ifc4x3_rc1::IfcActorRole::initialize(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc1::IfcActorRole Ifc4x3_rc1::IfcActorRole::initialize(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > Ifc4x3_rc1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7881,7 +7881,7 @@ void Ifc4x3_rc1::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[9]); } -void Ifc4x3_rc1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcActuator Ifc4x3_rc1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value Ifc4x3_rc1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7889,7 +7889,7 @@ void Ifc4x3_rc1::IfcActuatorType::setPredefinedType(const ::Ifc4x3_rc1::IfcActua const ifcopenshell::entity& Ifc4x3_rc1::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[10]); } -void Ifc4x3_rc1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcActuatorType Ifc4x3_rc1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Ifc4x3_rc1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -7903,13 +7903,13 @@ std::vector<::Ifc4x3_rc1::IfcPerson> Ifc4x3_rc1::IfcAddress::OfPerson() const { std::vector<::Ifc4x3_rc1::IfcOrganization> Ifc4x3_rc1::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[728], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[12]); } -void Ifc4x3_rc1::IfcAddress::initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_rc1::IfcAddress Ifc4x3_rc1::IfcAddress::initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_rc1::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[14]); } -void Ifc4x3_rc1::IfcAdvancedBrep::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc1::IfcAdvancedBrep Ifc4x3_rc1::IfcAdvancedBrep::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_rc1::IfcClosedShell > Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcClosedShell>(es); } @@ -7917,13 +7917,13 @@ void Ifc4x3_rc1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[15]); } -void Ifc4x3_rc1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc1::IfcAdvancedBrepWithVoids Ifc4x3_rc1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_rc1::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[16]); } -void Ifc4x3_rc1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc1::IfcAdvancedFace Ifc4x3_rc1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -7931,7 +7931,7 @@ void Ifc4x3_rc1::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[17]); } -void Ifc4x3_rc1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcAirTerminal Ifc4x3_rc1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -7939,7 +7939,7 @@ void Ifc4x3_rc1::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[18]); } -void Ifc4x3_rc1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcAirTerminalBox Ifc4x3_rc1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -7947,7 +7947,7 @@ void Ifc4x3_rc1::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[19]); } -void Ifc4x3_rc1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcAirTerminalBoxType Ifc4x3_rc1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7955,7 +7955,7 @@ void Ifc4x3_rc1::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_rc1::IfcAi const ifcopenshell::entity& Ifc4x3_rc1::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[21]); } -void Ifc4x3_rc1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcAirTerminalType Ifc4x3_rc1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -7963,7 +7963,7 @@ void Ifc4x3_rc1::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[23]); } -void Ifc4x3_rc1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcAirToAirHeatRecovery Ifc4x3_rc1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -7971,7 +7971,7 @@ void Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[24]); } -void Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcAirToAirHeatRecoveryType Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > Ifc4x3_rc1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -7979,7 +7979,7 @@ void Ifc4x3_rc1::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[26]); } -void Ifc4x3_rc1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcAlarm Ifc4x3_rc1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value Ifc4x3_rc1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -7987,7 +7987,7 @@ void Ifc4x3_rc1::IfcAlarmType::setPredefinedType(const ::Ifc4x3_rc1::IfcAlarmTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[27]); } -void Ifc4x3_rc1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcAlarmType Ifc4x3_rc1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > Ifc4x3_rc1::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } @@ -7995,7 +7995,7 @@ void Ifc4x3_rc1::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[29]); } -void Ifc4x3_rc1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcAlignment Ifc4x3_rc1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlignment2DCant std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > Ifc4x3_rc1::IfcAlignment2DCant::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcAlignment2DCantSegment>(es); } @@ -8005,13 +8005,13 @@ void Ifc4x3_rc1::IfcAlignment2DCant::setRailHeadDistance(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DCant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[30]); } -void Ifc4x3_rc1::IfcAlignment2DCant::initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > v1_Segments, double v2_RailHeadDistance) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_RailHeadDistance)); } +Ifc4x3_rc1::IfcAlignment2DCant Ifc4x3_rc1::IfcAlignment2DCant::initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > v1_Segments, double v2_RailHeadDistance) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_RailHeadDistance));; return *this; } // Function implementations for IfcAlignment2DCantSegLine const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DCantSegLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[31]); } -void Ifc4x3_rc1::IfcAlignment2DCantSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); } } +Ifc4x3_rc1::IfcAlignment2DCantSegLine Ifc4x3_rc1::IfcAlignment2DCantSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); }; return *this; } // Function implementations for IfcAlignment2DCantSegTransition std::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::StartRadius() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8027,7 +8027,7 @@ void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setTransitionCurveType(const : const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DCantSegTransition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[33]); } -void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight, std::optional< double > v10_StartRadius, std::optional< double > v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); } if (v10_StartRadius) {set_attribute_value(9, (*v10_StartRadius)); } if (v11_EndRadius) {set_attribute_value(10, (*v11_EndRadius)); }set_attribute_value(11, (v12_IsStartRadiusCCW));set_attribute_value(12, (v13_IsEndRadiusCCW));set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v14_TransitionCurveType))); } +Ifc4x3_rc1::IfcAlignment2DCantSegTransition Ifc4x3_rc1::IfcAlignment2DCantSegTransition::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight, std::optional< double > v10_StartRadius, std::optional< double > v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); } if (v10_StartRadius) {set_attribute_value(9, (*v10_StartRadius)); } if (v11_EndRadius) {set_attribute_value(10, (*v11_EndRadius)); }set_attribute_value(11, (v12_IsStartRadiusCCW));set_attribute_value(12, (v13_IsEndRadiusCCW));set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v14_TransitionCurveType)));; return *this; } // Function implementations for IfcAlignment2DCantSegment double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } @@ -8046,7 +8046,7 @@ void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantRight(const std::optional< std::vector<::Ifc4x3_rc1::IfcAlignment2DCant> Ifc4x3_rc1::IfcAlignment2DCantSegment::ToCant() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[30], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[32]); } -void Ifc4x3_rc1::IfcAlignment2DCantSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); } } +Ifc4x3_rc1::IfcAlignment2DCantSegment Ifc4x3_rc1::IfcAlignment2DCantSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); }; return *this; } // Function implementations for IfcAlignment2DHorizontal std::optional< double > Ifc4x3_rc1::IfcAlignment2DHorizontal::StartDistAlong() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -8057,7 +8057,7 @@ void Ifc4x3_rc1::IfcAlignment2DHorizontal::setSegments(const std::vector< ::Ifc4 std::vector<::Ifc4x3_rc1::IfcAlignmentCurve> Ifc4x3_rc1::IfcAlignment2DHorizontal::ToAlignmentCurve() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[43], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[34]); } -void Ifc4x3_rc1::IfcAlignment2DHorizontal::initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment > v2_Segments) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, cast_vector(v2_Segments)); } +Ifc4x3_rc1::IfcAlignment2DHorizontal Ifc4x3_rc1::IfcAlignment2DHorizontal::initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment > v2_Segments) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, cast_vector(v2_Segments));; return *this; } // Function implementations for IfcAlignment2DHorizontalSegment ::Ifc4x3_rc1::IfcCurveSegment2D Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcCurveSegment2D>(); } @@ -8066,7 +8066,7 @@ void Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::setCurveGeometry(const ::Ifc4x std::vector<::Ifc4x3_rc1::IfcAlignment2DHorizontal> Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[34], 1)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[35]); } -void Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D v4_CurveGeometry) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_CurveGeometry)); } +Ifc4x3_rc1::IfcAlignment2DHorizontalSegment Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D v4_CurveGeometry) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_CurveGeometry));; return *this; } // Function implementations for IfcAlignment2DSegment std::optional< bool > Ifc4x3_rc1::IfcAlignment2DSegment::TangentialContinuity() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } bool v = get_attribute_value(0); return v; } @@ -8078,7 +8078,7 @@ void Ifc4x3_rc1::IfcAlignment2DSegment::setEndTag(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[36]); } -void Ifc4x3_rc1::IfcAlignment2DSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); } } +Ifc4x3_rc1::IfcAlignment2DSegment Ifc4x3_rc1::IfcAlignment2DSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; return *this; } // Function implementations for IfcAlignment2DVerSegCircularArc double Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(7); return v; } @@ -8088,13 +8088,13 @@ void Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::setIsConvex(const bool& v) { s const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[37]); } -void Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex)); } +Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVerSegLine const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerSegLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[38]); } -void Ifc4x3_rc1::IfcAlignment2DVerSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); } +Ifc4x3_rc1::IfcAlignment2DVerSegLine Ifc4x3_rc1::IfcAlignment2DVerSegLine::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; return *this; } // Function implementations for IfcAlignment2DVerSegParabolicArc double Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(7); return v; } @@ -8104,7 +8104,7 @@ void Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::setIsConvex(const bool& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[39]); } -void Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex)); } +Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVerSegTransition std::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::StartRadius() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -8120,7 +8120,7 @@ void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setTransitionCurveType(const :: const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerSegTransition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[40]); } -void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, std::optional< double > v8_StartRadius, std::optional< double > v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); if (v8_StartRadius) {set_attribute_value(7, (*v8_StartRadius)); } if (v9_EndRadius) {set_attribute_value(8, (*v9_EndRadius)); }set_attribute_value(9, (v10_IsStartRadiusCCW));set_attribute_value(10, (v11_IsEndRadiusCCW));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v12_TransitionCurveType))); } +Ifc4x3_rc1::IfcAlignment2DVerSegTransition Ifc4x3_rc1::IfcAlignment2DVerSegTransition::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, std::optional< double > v8_StartRadius, std::optional< double > v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); if (v8_StartRadius) {set_attribute_value(7, (*v8_StartRadius)); } if (v9_EndRadius) {set_attribute_value(8, (*v9_EndRadius)); }set_attribute_value(9, (v10_IsStartRadiusCCW));set_attribute_value(10, (v11_IsEndRadiusCCW));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v12_TransitionCurveType)));; return *this; } // Function implementations for IfcAlignment2DVertical std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > Ifc4x3_rc1::IfcAlignment2DVertical::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcAlignment2DVerticalSegment>(es); } @@ -8129,7 +8129,7 @@ void Ifc4x3_rc1::IfcAlignment2DVertical::setSegments(const std::vector< ::Ifc4x3 std::vector<::Ifc4x3_rc1::IfcAlignmentCurve> Ifc4x3_rc1::IfcAlignment2DVertical::ToAlignmentCurve() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[43], 1)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[41]); } -void Ifc4x3_rc1::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments)); } +Ifc4x3_rc1::IfcAlignment2DVertical Ifc4x3_rc1::IfcAlignment2DVertical::initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > v1_Segments) { set_attribute_value(0, cast_vector(v1_Segments));; return *this; } // Function implementations for IfcAlignment2DVerticalSegment double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } @@ -8144,7 +8144,7 @@ void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartGradient(const double& v std::vector<::Ifc4x3_rc1::IfcAlignment2DVertical> Ifc4x3_rc1::IfcAlignment2DVerticalSegment::ToVertical() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[41], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignment2DVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[42]); } -void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); } +Ifc4x3_rc1::IfcAlignment2DVerticalSegment Ifc4x3_rc1::IfcAlignment2DVerticalSegment::initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; return *this; } // Function implementations for IfcAlignmentCurve ::Ifc4x3_rc1::IfcAlignment2DHorizontal Ifc4x3_rc1::IfcAlignmentCurve::Horizontal() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAlignment2DHorizontal>(); } @@ -8156,7 +8156,7 @@ void Ifc4x3_rc1::IfcAlignmentCurve::setTag(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_rc1::IfcAlignmentCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[43]); } -void Ifc4x3_rc1::IfcAlignmentCurve::initialize(::Ifc4x3_rc1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_rc1::IfcAlignmentCurve Ifc4x3_rc1::IfcAlignmentCurve::initialize(::Ifc4x3_rc1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > Ifc4x3_rc1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8165,7 +8165,7 @@ void Ifc4x3_rc1::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_ std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[937], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[49]); } -void Ifc4x3_rc1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc1::IfcAnnotation Ifc4x3_rc1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -8175,7 +8175,7 @@ void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[50]); } -void Ifc4x3_rc1::IfcAnnotationFillArea::initialize(::Ifc4x3_rc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_rc1::IfcAnnotationFillArea Ifc4x3_rc1::IfcAnnotationFillArea::initialize(::Ifc4x3_rc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcOrganization>(); } @@ -8189,7 +8189,7 @@ void Ifc4x3_rc1::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[52]); } -void Ifc4x3_rc1::IfcApplication::initialize(::Ifc4x3_rc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_rc1::IfcApplication Ifc4x3_rc1::IfcApplication::initialize(::Ifc4x3_rc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8216,7 +8216,7 @@ void Ifc4x3_rc1::IfcAppliedValue::setComponents(const std::optional< std::vector std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[53]); } -void Ifc4x3_rc1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc1::IfcAppliedValue Ifc4x3_rc1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_rc1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8245,7 +8245,7 @@ std::vector<::Ifc4x3_rc1::IfcApprovalRelationship> Ifc4x3_rc1::IfcApproval::IsRe std::vector<::Ifc4x3_rc1::IfcApprovalRelationship> Ifc4x3_rc1::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[56], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[55]); } -void Ifc4x3_rc1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcApproval>(); } @@ -8255,7 +8255,7 @@ void Ifc4x3_rc1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< const ifcopenshell::entity& Ifc4x3_rc1::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[56]); } -void Ifc4x3_rc1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_rc1::IfcApprovalRelationship Ifc4x3_rc1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -8263,7 +8263,7 @@ void Ifc4x3_rc1::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[57]); } -void Ifc4x3_rc1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_rc1::IfcArbitraryClosedProfileDef Ifc4x3_rc1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_rc1::IfcBoundedCurve Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcBoundedCurve>(); } @@ -8271,7 +8271,7 @@ void Ifc4x3_rc1::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc1::IfcBou const ifcopenshell::entity& Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[58]); } -void Ifc4x3_rc1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_rc1::IfcArbitraryOpenProfileDef Ifc4x3_rc1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_rc1::IfcCurve > Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc1::IfcCurve>(es); } @@ -8279,7 +8279,7 @@ void Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vect const ifcopenshell::entity& Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[59]); } -void Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_rc1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8303,7 +8303,7 @@ void Ifc4x3_rc1::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc1::IfcCostValue& const ifcopenshell::entity& Ifc4x3_rc1::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[65]); } -void Ifc4x3_rc1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc1::IfcActorSelect v10_Owner, ::Ifc4x3_rc1::IfcActorSelect v11_User, ::Ifc4x3_rc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_rc1::IfcAsset Ifc4x3_rc1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc1::IfcActorSelect v10_Owner, ::Ifc4x3_rc1::IfcActorSelect v11_User, ::Ifc4x3_rc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8333,7 +8333,7 @@ void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[66]); } -void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8341,7 +8341,7 @@ void Ifc4x3_rc1::IfcAudioVisualAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[67]); } -void Ifc4x3_rc1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcAudioVisualAppliance Ifc4x3_rc1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8349,7 +8349,7 @@ void Ifc4x3_rc1::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[68]); } -void Ifc4x3_rc1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcAudioVisualApplianceType Ifc4x3_rc1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -8357,7 +8357,7 @@ void Ifc4x3_rc1::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc1::IfcDirection& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[70]); } -void Ifc4x3_rc1::IfcAxis1Placement::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_rc1::IfcAxis1Placement Ifc4x3_rc1::IfcAxis1Placement::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -8365,7 +8365,7 @@ void Ifc4x3_rc1::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc1::IfcDir const ifcopenshell::entity& Ifc4x3_rc1::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[72]); } -void Ifc4x3_rc1::IfcAxis2Placement2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_rc1::IfcAxis2Placement2D Ifc4x3_rc1::IfcAxis2Placement2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -8375,14 +8375,14 @@ void Ifc4x3_rc1::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc1::IfcDir const ifcopenshell::entity& Ifc4x3_rc1::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[73]); } -void Ifc4x3_rc1::IfcAxis2Placement3D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis, ::Ifc4x3_rc1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcAxis2Placement3D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis, ::Ifc4x3_rc1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxisLateralInclination std::vector<::Ifc4x3_rc1::IfcLinearAxisWithInclination> Ifc4x3_rc1::IfcAxisLateralInclination::ToLinearAxis() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[610], 1)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcAxisLateralInclination::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[74]); } -void Ifc4x3_rc1::IfcAxisLateralInclination::initialize() { } +Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcAxisLateralInclination::initialize() { ; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_rc1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8398,7 +8398,7 @@ void Ifc4x3_rc1::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc1::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[112]); } -void Ifc4x3_rc1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_rc1::IfcBSplineCurve Ifc4x3_rc1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8410,7 +8410,7 @@ void Ifc4x3_rc1::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc1::IfcKn const ifcopenshell::entity& Ifc4x3_rc1::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[114]); } -void Ifc4x3_rc1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_rc1::IfcBSplineCurveWithKnots Ifc4x3_rc1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_rc1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8430,7 +8430,7 @@ void Ifc4x3_rc1::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc1::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[115]); } -void Ifc4x3_rc1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_rc1::IfcBSplineSurface Ifc4x3_rc1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8446,7 +8446,7 @@ void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[117]); } -void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_rc1::IfcBSplineSurfaceWithKnots Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > Ifc4x3_rc1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8454,13 +8454,13 @@ void Ifc4x3_rc1::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[75]); } -void Ifc4x3_rc1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBeam Ifc4x3_rc1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[76]); } -void Ifc4x3_rc1::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBeamStandardCase Ifc4x3_rc1::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_rc1::IfcBeamTypeEnum::Value Ifc4x3_rc1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8468,7 +8468,7 @@ void Ifc4x3_rc1::IfcBeamType::setPredefinedType(const ::Ifc4x3_rc1::IfcBeamTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[77]); } -void Ifc4x3_rc1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcBeamType Ifc4x3_rc1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > Ifc4x3_rc1::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8476,7 +8476,7 @@ void Ifc4x3_rc1::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[79]); } -void Ifc4x3_rc1::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBearing Ifc4x3_rc1::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_rc1::IfcBearingTypeEnum::Value Ifc4x3_rc1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8484,7 +8484,7 @@ void Ifc4x3_rc1::IfcBearingType::setPredefinedType(const ::Ifc4x3_rc1::IfcBearin const ifcopenshell::entity& Ifc4x3_rc1::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[80]); } -void Ifc4x3_rc1::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcBearingType Ifc4x3_rc1::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_rc1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8494,7 +8494,7 @@ void Ifc4x3_rc1::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[86]); } -void Ifc4x3_rc1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_rc1::IfcBlobTexture Ifc4x3_rc1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_rc1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8506,7 +8506,7 @@ void Ifc4x3_rc1::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc1::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[87]); } -void Ifc4x3_rc1::IfcBlock::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_rc1::IfcBlock Ifc4x3_rc1::IfcBlock::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > Ifc4x3_rc1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8514,7 +8514,7 @@ void Ifc4x3_rc1::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[88]); } -void Ifc4x3_rc1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBoiler Ifc4x3_rc1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value Ifc4x3_rc1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8522,13 +8522,13 @@ void Ifc4x3_rc1::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc1::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc1::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[89]); } -void Ifc4x3_rc1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcBoilerType Ifc4x3_rc1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_rc1::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[92]); } -void Ifc4x3_rc1::IfcBooleanClippingResult::initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc1::IfcBooleanClippingResult Ifc4x3_rc1::IfcBooleanClippingResult::initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc1::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8540,13 +8540,13 @@ void Ifc4x3_rc1::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc1::IfcBoole const ifcopenshell::entity& Ifc4x3_rc1::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[95]); } -void Ifc4x3_rc1::IfcBooleanResult::initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc1::IfcBooleanResult Ifc4x3_rc1::IfcBooleanResult::initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_rc1::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[96]); } -void Ifc4x3_rc1::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcBorehole Ifc4x3_rc1::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_rc1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8554,13 +8554,13 @@ void Ifc4x3_rc1::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[97]); } -void Ifc4x3_rc1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcBoundaryCondition Ifc4x3_rc1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[98]); } -void Ifc4x3_rc1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc1::IfcBoundaryCurve Ifc4x3_rc1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8578,7 +8578,7 @@ void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[99]); } -void Ifc4x3_rc1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_rc1::IfcBoundaryEdgeCondition Ifc4x3_rc1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(); } @@ -8590,7 +8590,7 @@ void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(cons const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[100]); } -void Ifc4x3_rc1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_rc1::IfcBoundaryFaceCondition Ifc4x3_rc1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(); } @@ -8608,7 +8608,7 @@ void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[101]); } -void Ifc4x3_rc1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_rc1::IfcBoundaryNodeCondition Ifc4x3_rc1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_rc1::IfcWarpingStiffnessSelect Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcWarpingStiffnessSelect>(); } @@ -8616,20 +8616,20 @@ void Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[102]); } -void Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_rc1::IfcBoundaryNodeConditionWarping Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve std::vector<::Ifc4x3_rc1::IfcLinearPositioningElement> Ifc4x3_rc1::IfcBoundedCurve::PositioningElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[615], 7)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[103]); } -void Ifc4x3_rc1::IfcBoundedCurve::initialize() { } +Ifc4x3_rc1::IfcBoundedCurve Ifc4x3_rc1::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[104]); } -void Ifc4x3_rc1::IfcBoundedSurface::initialize() { } +Ifc4x3_rc1::IfcBoundedSurface Ifc4x3_rc1::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } @@ -8643,7 +8643,7 @@ void Ifc4x3_rc1::IfcBoundingBox::setZDim(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc1::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[105]); } -void Ifc4x3_rc1::IfcBoundingBox::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_rc1::IfcBoundingBox Ifc4x3_rc1::IfcBoundingBox::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_rc1::IfcBoundingBox Ifc4x3_rc1::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcBoundingBox>(); } @@ -8651,7 +8651,7 @@ void Ifc4x3_rc1::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc1::IfcBounding const ifcopenshell::entity& Ifc4x3_rc1::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[107]); } -void Ifc4x3_rc1::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_rc1::IfcBoxedHalfSpace Ifc4x3_rc1::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > Ifc4x3_rc1::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8659,13 +8659,13 @@ void Ifc4x3_rc1::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[108]); } -void Ifc4x3_rc1::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc1::IfcBridge Ifc4x3_rc1::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart const ifcopenshell::entity& Ifc4x3_rc1::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[109]); } -void Ifc4x3_rc1::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType))); } +Ifc4x3_rc1::IfcBridgePart Ifc4x3_rc1::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8677,7 +8677,7 @@ void Ifc4x3_rc1::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc1::IfcPostalAd const ifcopenshell::entity& Ifc4x3_rc1::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[118]); } -void Ifc4x3_rc1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_rc1::IfcBuilding Ifc4x3_rc1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8685,7 +8685,7 @@ void Ifc4x3_rc1::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[119]); } -void Ifc4x3_rc1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBuildingElementPart Ifc4x3_rc1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8693,7 +8693,7 @@ void Ifc4x3_rc1::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[120]); } -void Ifc4x3_rc1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcBuildingElementPartType Ifc4x3_rc1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8701,7 +8701,7 @@ void Ifc4x3_rc1::IfcBuildingElementProxy::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[122]); } -void Ifc4x3_rc1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBuildingElementProxy Ifc4x3_rc1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8709,7 +8709,7 @@ void Ifc4x3_rc1::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[123]); } -void Ifc4x3_rc1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcBuildingElementProxyType Ifc4x3_rc1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_rc1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8717,7 +8717,7 @@ void Ifc4x3_rc1::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc1::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[125]); } -void Ifc4x3_rc1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_rc1::IfcBuildingStorey Ifc4x3_rc1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8727,19 +8727,19 @@ void Ifc4x3_rc1::IfcBuildingSystem::setLongName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[126]); } -void Ifc4x3_rc1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc1::IfcBuildingSystem Ifc4x3_rc1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_rc1::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[128]); } -void Ifc4x3_rc1::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcBuiltElement Ifc4x3_rc1::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[129]); } -void Ifc4x3_rc1::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcBuiltElementType Ifc4x3_rc1::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8749,7 +8749,7 @@ void Ifc4x3_rc1::IfcBuiltSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc1::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[130]); } -void Ifc4x3_rc1::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc1::IfcBuiltSystem Ifc4x3_rc1::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > Ifc4x3_rc1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8757,7 +8757,7 @@ void Ifc4x3_rc1::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[132]); } -void Ifc4x3_rc1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcBurner Ifc4x3_rc1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value Ifc4x3_rc1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8765,7 +8765,7 @@ void Ifc4x3_rc1::IfcBurnerType::setPredefinedType(const ::Ifc4x3_rc1::IfcBurnerT const ifcopenshell::entity& Ifc4x3_rc1::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[133]); } -void Ifc4x3_rc1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcBurnerType Ifc4x3_rc1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_rc1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8781,7 +8781,7 @@ void Ifc4x3_rc1::IfcCShapeProfileDef::setInternalFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[270]); } -void Ifc4x3_rc1::IfcCShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_rc1::IfcCShapeProfileDef Ifc4x3_rc1::IfcCShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8789,7 +8789,7 @@ void Ifc4x3_rc1::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[135]); } -void Ifc4x3_rc1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCableCarrierFitting Ifc4x3_rc1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8797,7 +8797,7 @@ void Ifc4x3_rc1::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[136]); } -void Ifc4x3_rc1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCableCarrierFittingType Ifc4x3_rc1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8805,7 +8805,7 @@ void Ifc4x3_rc1::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[138]); } -void Ifc4x3_rc1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCableCarrierSegment Ifc4x3_rc1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8813,7 +8813,7 @@ void Ifc4x3_rc1::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[139]); } -void Ifc4x3_rc1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCableCarrierSegmentType Ifc4x3_rc1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8821,7 +8821,7 @@ void Ifc4x3_rc1::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[141]); } -void Ifc4x3_rc1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCableFitting Ifc4x3_rc1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value Ifc4x3_rc1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8829,7 +8829,7 @@ void Ifc4x3_rc1::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_rc1::IfcC const ifcopenshell::entity& Ifc4x3_rc1::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[142]); } -void Ifc4x3_rc1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCableFittingType Ifc4x3_rc1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8837,7 +8837,7 @@ void Ifc4x3_rc1::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[144]); } -void Ifc4x3_rc1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCableSegment Ifc4x3_rc1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8845,7 +8845,7 @@ void Ifc4x3_rc1::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_rc1::IfcC const ifcopenshell::entity& Ifc4x3_rc1::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[145]); } -void Ifc4x3_rc1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCableSegmentType Ifc4x3_rc1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc1::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8853,7 +8853,7 @@ void Ifc4x3_rc1::IfcCaissonFoundation::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[147]); } -void Ifc4x3_rc1::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCaissonFoundation Ifc4x3_rc1::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8861,7 +8861,7 @@ void Ifc4x3_rc1::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[148]); } -void Ifc4x3_rc1::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCaissonFoundationType Ifc4x3_rc1::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_rc1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8869,13 +8869,13 @@ void Ifc4x3_rc1::IfcCartesianPoint::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[151]); } -void Ifc4x3_rc1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[152]); } -void Ifc4x3_rc1::IfcCartesianPointList::initialize() { } +Ifc4x3_rc1::IfcCartesianPointList Ifc4x3_rc1::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8885,7 +8885,7 @@ void Ifc4x3_rc1::IfcCartesianPointList2D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[153]); } -void Ifc4x3_rc1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc1::IfcCartesianPointList2D Ifc4x3_rc1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8895,7 +8895,7 @@ void Ifc4x3_rc1::IfcCartesianPointList3D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[154]); } -void Ifc4x3_rc1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc1::IfcCartesianPointList3D Ifc4x3_rc1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -8909,13 +8909,13 @@ void Ifc4x3_rc1::IfcCartesianTransformationOperator::setScale(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[155]); } -void Ifc4x3_rc1::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc1::IfcCartesianTransformationOperator Ifc4x3_rc1::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[156]); } -void Ifc4x3_rc1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc1::IfcCartesianTransformationOperator2D Ifc4x3_rc1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8923,7 +8923,7 @@ void Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::setScale2(const const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[157]); } -void Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -8931,7 +8931,7 @@ void Ifc4x3_rc1::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[158]); } -void Ifc4x3_rc1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_rc1::IfcCartesianTransformationOperator3D Ifc4x3_rc1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8941,7 +8941,7 @@ void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale3(const const ifcopenshell::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[159]); } -void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_rc1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8949,7 +8949,7 @@ void Ifc4x3_rc1::IfcCenterLineProfileDef::setThickness(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[160]); } -void Ifc4x3_rc1::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_rc1::IfcCenterLineProfileDef Ifc4x3_rc1::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > Ifc4x3_rc1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -8957,7 +8957,7 @@ void Ifc4x3_rc1::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[162]); } -void Ifc4x3_rc1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcChiller Ifc4x3_rc1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_rc1::IfcChillerTypeEnum::Value Ifc4x3_rc1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -8965,7 +8965,7 @@ void Ifc4x3_rc1::IfcChillerType::setPredefinedType(const ::Ifc4x3_rc1::IfcChille const ifcopenshell::entity& Ifc4x3_rc1::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[163]); } -void Ifc4x3_rc1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcChillerType Ifc4x3_rc1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > Ifc4x3_rc1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -8973,7 +8973,7 @@ void Ifc4x3_rc1::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[165]); } -void Ifc4x3_rc1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcChimney Ifc4x3_rc1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value Ifc4x3_rc1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -8981,7 +8981,7 @@ void Ifc4x3_rc1::IfcChimneyType::setPredefinedType(const ::Ifc4x3_rc1::IfcChimne const ifcopenshell::entity& Ifc4x3_rc1::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[166]); } -void Ifc4x3_rc1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcChimneyType Ifc4x3_rc1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_rc1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -8989,7 +8989,7 @@ void Ifc4x3_rc1::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc1::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[168]); } -void Ifc4x3_rc1::IfcCircle::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc1::IfcCircle Ifc4x3_rc1::IfcCircle::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_rc1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -8997,7 +8997,7 @@ void Ifc4x3_rc1::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[169]); } -void Ifc4x3_rc1::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_rc1::IfcCircleHollowProfileDef Ifc4x3_rc1::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_rc1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -9005,7 +9005,7 @@ void Ifc4x3_rc1::IfcCircleProfileDef::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc1::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[170]); } -void Ifc4x3_rc1::IfcCircleProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_rc1::IfcCircleProfileDef Ifc4x3_rc1::IfcCircleProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCircularArcSegment2D double Ifc4x3_rc1::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } @@ -9015,19 +9015,19 @@ void Ifc4x3_rc1::IfcCircularArcSegment2D::setIsCCW(const bool& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc1::IfcCircularArcSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[171]); } -void Ifc4x3_rc1::IfcCircularArcSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW)); } +Ifc4x3_rc1::IfcCircularArcSegment2D Ifc4x3_rc1::IfcCircularArcSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_rc1::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[172]); } -void Ifc4x3_rc1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcCivilElement Ifc4x3_rc1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[173]); } -void Ifc4x3_rc1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcCivilElementType Ifc4x3_rc1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_rc1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9049,7 +9049,7 @@ std::vector<::Ifc4x3_rc1::IfcRelAssociatesClassification> Ifc4x3_rc1::IfcClassif std::vector<::Ifc4x3_rc1::IfcClassificationReference> Ifc4x3_rc1::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[175], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[174]); } -void Ifc4x3_rc1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_rc1::IfcClassification Ifc4x3_rc1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_rc1::IfcClassificationReferenceSelect Ifc4x3_rc1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcClassificationReferenceSelect>(); } @@ -9063,13 +9063,13 @@ std::vector<::Ifc4x3_rc1::IfcRelAssociatesClassification> Ifc4x3_rc1::IfcClassif std::vector<::Ifc4x3_rc1::IfcClassificationReference> Ifc4x3_rc1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[175], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[175]); } -void Ifc4x3_rc1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_rc1::IfcClassificationReference Ifc4x3_rc1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_rc1::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[178]); } -void Ifc4x3_rc1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc1::IfcClosedShell Ifc4x3_rc1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > Ifc4x3_rc1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9077,7 +9077,7 @@ void Ifc4x3_rc1::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[179]); } -void Ifc4x3_rc1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCoil Ifc4x3_rc1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_rc1::IfcCoilTypeEnum::Value Ifc4x3_rc1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9085,7 +9085,7 @@ void Ifc4x3_rc1::IfcCoilType::setPredefinedType(const ::Ifc4x3_rc1::IfcCoilTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[180]); } -void Ifc4x3_rc1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCoilType Ifc4x3_rc1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_rc1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9097,7 +9097,7 @@ void Ifc4x3_rc1::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc1::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[184]); } -void Ifc4x3_rc1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_rc1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9105,7 +9105,7 @@ void Ifc4x3_rc1::IfcColourRgbList::setColourList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4x3_rc1::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[185]); } -void Ifc4x3_rc1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_rc1::IfcColourRgbList Ifc4x3_rc1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_rc1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9113,7 +9113,7 @@ void Ifc4x3_rc1::IfcColourSpecification::setName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc1::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[186]); } -void Ifc4x3_rc1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcColourSpecification Ifc4x3_rc1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > Ifc4x3_rc1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9121,13 +9121,13 @@ void Ifc4x3_rc1::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[187]); } -void Ifc4x3_rc1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcColumn Ifc4x3_rc1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[188]); } -void Ifc4x3_rc1::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcColumnStandardCase Ifc4x3_rc1::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_rc1::IfcColumnTypeEnum::Value Ifc4x3_rc1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9135,7 +9135,7 @@ void Ifc4x3_rc1::IfcColumnType::setPredefinedType(const ::Ifc4x3_rc1::IfcColumnT const ifcopenshell::entity& Ifc4x3_rc1::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[189]); } -void Ifc4x3_rc1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcColumnType Ifc4x3_rc1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9143,7 +9143,7 @@ void Ifc4x3_rc1::IfcCommunicationsAppliance::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc1::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[191]); } -void Ifc4x3_rc1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCommunicationsAppliance Ifc4x3_rc1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9151,7 +9151,7 @@ void Ifc4x3_rc1::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[192]); } -void Ifc4x3_rc1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCommunicationsApplianceType Ifc4x3_rc1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_rc1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9161,7 +9161,7 @@ void Ifc4x3_rc1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[195]); } -void Ifc4x3_rc1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_rc1::IfcComplexProperty Ifc4x3_rc1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_rc1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9173,7 +9173,7 @@ void Ifc4x3_rc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[196]); } -void Ifc4x3_rc1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_rc1::IfcComplexPropertyTemplate Ifc4x3_rc1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > Ifc4x3_rc1::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcCompositeCurveSegment>(es); } @@ -9183,13 +9183,13 @@ void Ifc4x3_rc1::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[198]); } -void Ifc4x3_rc1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc1::IfcCompositeCurve Ifc4x3_rc1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[199]); } -void Ifc4x3_rc1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc1::IfcCompositeCurveOnSurface Ifc4x3_rc1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment ::Ifc4x3_rc1::IfcTransitionCode::Value Ifc4x3_rc1::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x3_rc1::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -9202,7 +9202,7 @@ void Ifc4x3_rc1::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc1::If std::vector<::Ifc4x3_rc1::IfcCompositeCurve> Ifc4x3_rc1::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[198], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[200]); } -void Ifc4x3_rc1::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_rc1::IfcCompositeCurveSegment Ifc4x3_rc1::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_rc1::IfcProfileDef > Ifc4x3_rc1::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcProfileDef>(es); } @@ -9212,7 +9212,7 @@ void Ifc4x3_rc1::IfcCompositeProfileDef::setLabel(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_rc1::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[201]); } -void Ifc4x3_rc1::IfcCompositeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_rc1::IfcCompositeProfileDef Ifc4x3_rc1::IfcCompositeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > Ifc4x3_rc1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9220,7 +9220,7 @@ void Ifc4x3_rc1::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[203]); } -void Ifc4x3_rc1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCompressor Ifc4x3_rc1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value Ifc4x3_rc1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9228,7 +9228,7 @@ void Ifc4x3_rc1::IfcCompressorType::setPredefinedType(const ::Ifc4x3_rc1::IfcCom const ifcopenshell::entity& Ifc4x3_rc1::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[204]); } -void Ifc4x3_rc1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCompressorType Ifc4x3_rc1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > Ifc4x3_rc1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9236,7 +9236,7 @@ void Ifc4x3_rc1::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[206]); } -void Ifc4x3_rc1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCondenser Ifc4x3_rc1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value Ifc4x3_rc1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9244,7 +9244,7 @@ void Ifc4x3_rc1::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc1::IfcCond const ifcopenshell::entity& Ifc4x3_rc1::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[207]); } -void Ifc4x3_rc1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCondenserType Ifc4x3_rc1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } @@ -9252,7 +9252,7 @@ void Ifc4x3_rc1::IfcConic::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[209]); } -void Ifc4x3_rc1::IfcConic::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc1::IfcConic Ifc4x3_rc1::IfcConic::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_rc1::IfcFace > Ifc4x3_rc1::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcFace>(es); } @@ -9260,7 +9260,7 @@ void Ifc4x3_rc1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[210]); } -void Ifc4x3_rc1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc1::IfcConnectedFaceSet Ifc4x3_rc1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_rc1::IfcCurveOrEdgeCurve Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(); } @@ -9270,13 +9270,13 @@ void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[211]); } -void Ifc4x3_rc1::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_rc1::IfcConnectionCurveGeometry Ifc4x3_rc1::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[212]); } -void Ifc4x3_rc1::IfcConnectionGeometry::initialize() { } +Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9288,7 +9288,7 @@ void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInZ(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[213]); } -void Ifc4x3_rc1::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_rc1::IfcConnectionPointEccentricity Ifc4x3_rc1::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_rc1::IfcPointOrVertexPoint Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(); } @@ -9298,7 +9298,7 @@ void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[214]); } -void Ifc4x3_rc1::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_rc1::IfcConnectionPointGeometry Ifc4x3_rc1::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(); } @@ -9308,7 +9308,7 @@ void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[215]); } -void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_rc1::IfcConnectionSurfaceGeometry Ifc4x3_rc1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_rc1::IfcSolidOrShell Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSolidOrShell>(); } @@ -9318,7 +9318,7 @@ void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const :: const ifcopenshell::entity& Ifc4x3_rc1::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[217]); } -void Ifc4x3_rc1::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_rc1::IfcConnectionVolumeGeometry Ifc4x3_rc1::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_rc1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9340,7 +9340,7 @@ std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcConst std::vector<::Ifc4x3_rc1::IfcResourceConstraintRelationship> Ifc4x3_rc1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[967], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[218]); } -void Ifc4x3_rc1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_rc1::IfcConstraint Ifc4x3_rc1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9348,7 +9348,7 @@ void Ifc4x3_rc1::IfcConstructionEquipmentResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[220]); } -void Ifc4x3_rc1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcConstructionEquipmentResource Ifc4x3_rc1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9356,7 +9356,7 @@ void Ifc4x3_rc1::IfcConstructionEquipmentResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[221]); } -void Ifc4x3_rc1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcConstructionEquipmentResourceType Ifc4x3_rc1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9364,7 +9364,7 @@ void Ifc4x3_rc1::IfcConstructionMaterialResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[223]); } -void Ifc4x3_rc1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcConstructionMaterialResource Ifc4x3_rc1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9372,7 +9372,7 @@ void Ifc4x3_rc1::IfcConstructionMaterialResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[224]); } -void Ifc4x3_rc1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcConstructionMaterialResourceType Ifc4x3_rc1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9380,7 +9380,7 @@ void Ifc4x3_rc1::IfcConstructionProductResource::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[226]); } -void Ifc4x3_rc1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcConstructionProductResource Ifc4x3_rc1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9388,7 +9388,7 @@ void Ifc4x3_rc1::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[227]); } -void Ifc4x3_rc1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcConstructionProductResourceType Ifc4x3_rc1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_rc1::IfcResourceTime Ifc4x3_rc1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcResourceTime>(); } @@ -9400,7 +9400,7 @@ void Ifc4x3_rc1::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[229]); } -void Ifc4x3_rc1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_rc1::IfcConstructionResource Ifc4x3_rc1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > Ifc4x3_rc1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc1::IfcAppliedValue>(es); } @@ -9410,7 +9410,7 @@ void Ifc4x3_rc1::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[230]); } -void Ifc4x3_rc1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_rc1::IfcConstructionResourceType Ifc4x3_rc1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_rc1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9428,7 +9428,7 @@ std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcContext::IsD std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[231]); } -void Ifc4x3_rc1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc1::IfcContext Ifc4x3_rc1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_rc1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9437,7 +9437,7 @@ void Ifc4x3_rc1::IfcContextDependentUnit::setName(const std::string& v) { set_at std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[233]); } -void Ifc4x3_rc1::IfcContextDependentUnit::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_rc1::IfcContextDependentUnit Ifc4x3_rc1::IfcContextDependentUnit::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_rc1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9446,7 +9446,7 @@ void Ifc4x3_rc1::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_rc1::IfcRelAssignsToControl> Ifc4x3_rc1::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[913], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[234]); } -void Ifc4x3_rc1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_rc1::IfcControl Ifc4x3_rc1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > Ifc4x3_rc1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9454,7 +9454,7 @@ void Ifc4x3_rc1::IfcController::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[235]); } -void Ifc4x3_rc1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcController Ifc4x3_rc1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_rc1::IfcControllerTypeEnum::Value Ifc4x3_rc1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9462,7 +9462,7 @@ void Ifc4x3_rc1::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc1::IfcCon const ifcopenshell::entity& Ifc4x3_rc1::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[236]); } -void Ifc4x3_rc1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcControllerType Ifc4x3_rc1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9473,7 +9473,7 @@ void Ifc4x3_rc1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc1: std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[238]); } -void Ifc4x3_rc1::IfcConversionBasedUnit::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_rc1::IfcConversionBasedUnit Ifc4x3_rc1::IfcConversionBasedUnit::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9481,7 +9481,7 @@ void Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::setConversionOffset(const dou const ifcopenshell::entity& Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[239]); } -void Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_rc1::IfcConversionBasedUnitWithOffset Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc1::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9489,7 +9489,7 @@ void Ifc4x3_rc1::IfcConveyorSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[240]); } -void Ifc4x3_rc1::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcConveyorSegment Ifc4x3_rc1::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9497,7 +9497,7 @@ void Ifc4x3_rc1::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[241]); } -void Ifc4x3_rc1::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcConveyorSegmentType Ifc4x3_rc1::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9505,7 +9505,7 @@ void Ifc4x3_rc1::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[243]); } -void Ifc4x3_rc1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCooledBeam Ifc4x3_rc1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value Ifc4x3_rc1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9513,7 +9513,7 @@ void Ifc4x3_rc1::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_rc1::IfcCoo const ifcopenshell::entity& Ifc4x3_rc1::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[244]); } -void Ifc4x3_rc1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCooledBeamType Ifc4x3_rc1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9521,7 +9521,7 @@ void Ifc4x3_rc1::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[246]); } -void Ifc4x3_rc1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCoolingTower Ifc4x3_rc1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9529,7 +9529,7 @@ void Ifc4x3_rc1::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc1::IfcC const ifcopenshell::entity& Ifc4x3_rc1::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[247]); } -void Ifc4x3_rc1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCoolingTowerType Ifc4x3_rc1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect Ifc4x3_rc1::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect>(); } @@ -9539,7 +9539,7 @@ void Ifc4x3_rc1::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc1::IfcCoo const ifcopenshell::entity& Ifc4x3_rc1::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[249]); } -void Ifc4x3_rc1::IfcCoordinateOperation::initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_rc1::IfcCoordinateOperation Ifc4x3_rc1::IfcCoordinateOperation::initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x3_rc1::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9554,7 +9554,7 @@ void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optio std::vector<::Ifc4x3_rc1::IfcCoordinateOperation> Ifc4x3_rc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[249], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[250]); } -void Ifc4x3_rc1::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x3_rc1::IfcCoordinateReferenceSystem Ifc4x3_rc1::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > Ifc4x3_rc1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9566,7 +9566,7 @@ void Ifc4x3_rc1::IfcCostItem::setCostQuantities(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3_rc1::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[252]); } -void Ifc4x3_rc1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_rc1::IfcCostItem Ifc4x3_rc1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9580,13 +9580,13 @@ void Ifc4x3_rc1::IfcCostSchedule::setUpdateDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[254]); } -void Ifc4x3_rc1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_rc1::IfcCostSchedule Ifc4x3_rc1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_rc1::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[256]); } -void Ifc4x3_rc1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc1::IfcCostValue Ifc4x3_rc1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > Ifc4x3_rc1::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9594,7 +9594,7 @@ void Ifc4x3_rc1::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[258]); } -void Ifc4x3_rc1::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCourse Ifc4x3_rc1::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_rc1::IfcCourseTypeEnum::Value Ifc4x3_rc1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9602,7 +9602,7 @@ void Ifc4x3_rc1::IfcCourseType::setPredefinedType(const ::Ifc4x3_rc1::IfcCourseT const ifcopenshell::entity& Ifc4x3_rc1::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[259]); } -void Ifc4x3_rc1::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCourseType Ifc4x3_rc1::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > Ifc4x3_rc1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9612,7 +9612,7 @@ std::vector<::Ifc4x3_rc1::IfcRelCoversSpaces> Ifc4x3_rc1::IfcCovering::CoversSpa std::vector<::Ifc4x3_rc1::IfcRelCoversBldgElements> Ifc4x3_rc1::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[938], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[261]); } -void Ifc4x3_rc1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCovering Ifc4x3_rc1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value Ifc4x3_rc1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9620,7 +9620,7 @@ void Ifc4x3_rc1::IfcCoveringType::setPredefinedType(const ::Ifc4x3_rc1::IfcCover const ifcopenshell::entity& Ifc4x3_rc1::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[262]); } -void Ifc4x3_rc1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCoveringType Ifc4x3_rc1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9628,7 +9628,7 @@ void Ifc4x3_rc1::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[264]); } -void Ifc4x3_rc1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcCrewResource Ifc4x3_rc1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value Ifc4x3_rc1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9636,7 +9636,7 @@ void Ifc4x3_rc1::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc1::IfcC const ifcopenshell::entity& Ifc4x3_rc1::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[265]); } -void Ifc4x3_rc1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcCrewResourceType Ifc4x3_rc1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } @@ -9644,7 +9644,7 @@ void Ifc4x3_rc1::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc1::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc1::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[267]); } -void Ifc4x3_rc1::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc1::IfcCsgPrimitive3D Ifc4x3_rc1::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_rc1::IfcCsgSelect Ifc4x3_rc1::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCsgSelect>(); } @@ -9652,7 +9652,7 @@ void Ifc4x3_rc1::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc1::IfcCsgSe const ifcopenshell::entity& Ifc4x3_rc1::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[269]); } -void Ifc4x3_rc1::IfcCsgSolid::initialize(::Ifc4x3_rc1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_rc1::IfcCsgSolid Ifc4x3_rc1::IfcCsgSolid::initialize(::Ifc4x3_rc1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_rc1::IfcMonetaryUnit Ifc4x3_rc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMonetaryUnit>(); } @@ -9668,7 +9668,7 @@ void Ifc4x3_rc1::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc1::IfcL const ifcopenshell::entity& Ifc4x3_rc1::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[271]); } -void Ifc4x3_rc1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_rc1::IfcCurrencyRelationship Ifc4x3_rc1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9676,7 +9676,7 @@ void Ifc4x3_rc1::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[272]); } -void Ifc4x3_rc1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcCurtainWall Ifc4x3_rc1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value Ifc4x3_rc1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9684,13 +9684,13 @@ void Ifc4x3_rc1::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc1::IfcCu const ifcopenshell::entity& Ifc4x3_rc1::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[273]); } -void Ifc4x3_rc1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcCurtainWallType Ifc4x3_rc1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_rc1::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[276]); } -void Ifc4x3_rc1::IfcCurve::initialize() { } +Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_rc1::IfcPlane Ifc4x3_rc1::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPlane>(); } @@ -9702,7 +9702,7 @@ void Ifc4x3_rc1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[277]); } -void Ifc4x3_rc1::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc1::IfcPlane v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_rc1::IfcCurveBoundedPlane Ifc4x3_rc1::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc1::IfcPlane v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -9714,7 +9714,7 @@ void Ifc4x3_rc1::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[278]); } -void Ifc4x3_rc1::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_rc1::IfcCurveBoundedSurface Ifc4x3_rc1::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment2D ::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcCurveSegment2D::StartPoint() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } @@ -9726,7 +9726,7 @@ void Ifc4x3_rc1::IfcCurveSegment2D::setSegmentLength(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[283]); } -void Ifc4x3_rc1::IfcCurveSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x3_rc1::IfcCurveSegment2D Ifc4x3_rc1::IfcCurveSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_rc1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9740,7 +9740,7 @@ void Ifc4x3_rc1::IfcCurveStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[284]); } -void Ifc4x3_rc1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc1::IfcCurveStyle Ifc4x3_rc1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9750,7 +9750,7 @@ void Ifc4x3_rc1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[285]); } -void Ifc4x3_rc1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_rc1::IfcCurveStyleFont Ifc4x3_rc1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9762,7 +9762,7 @@ void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[286]); } -void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_rc1::IfcCurveStyleFontAndScaling Ifc4x3_rc1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_rc1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9772,7 +9772,7 @@ void Ifc4x3_rc1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doubl const ifcopenshell::entity& Ifc4x3_rc1::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[287]); } -void Ifc4x3_rc1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_rc1::IfcCurveStyleFontPattern Ifc4x3_rc1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_rc1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9780,7 +9780,7 @@ void Ifc4x3_rc1::IfcCylindricalSurface::setRadius(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc1::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[289]); } -void Ifc4x3_rc1::IfcCylindricalSurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc1::IfcCylindricalSurface Ifc4x3_rc1::IfcCylindricalSurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > Ifc4x3_rc1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9788,7 +9788,7 @@ void Ifc4x3_rc1::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[290]); } -void Ifc4x3_rc1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDamper Ifc4x3_rc1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_rc1::IfcDamperTypeEnum::Value Ifc4x3_rc1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9796,19 +9796,19 @@ void Ifc4x3_rc1::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc1::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc1::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[291]); } -void Ifc4x3_rc1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDamperType Ifc4x3_rc1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_rc1::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[298]); } -void Ifc4x3_rc1::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcDeepFoundation Ifc4x3_rc1::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_rc1::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[299]); } -void Ifc4x3_rc1::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcDeepFoundationType Ifc4x3_rc1::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -9820,7 +9820,7 @@ void Ifc4x3_rc1::IfcDerivedProfileDef::setLabel(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[302]); } -void Ifc4x3_rc1::IfcDerivedProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc1::IfcDerivedProfileDef Ifc4x3_rc1::IfcDerivedProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > Ifc4x3_rc1::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcDerivedUnitElement>(es); } @@ -9832,7 +9832,7 @@ void Ifc4x3_rc1::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc1::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[303]); } -void Ifc4x3_rc1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4x3_rc1::IfcDerivedUnit Ifc4x3_rc1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_rc1::IfcNamedUnit Ifc4x3_rc1::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcNamedUnit>(); } @@ -9842,7 +9842,7 @@ void Ifc4x3_rc1::IfcDerivedUnitElement::setExponent(const int& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc1::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[304]); } -void Ifc4x3_rc1::IfcDerivedUnitElement::initialize(::Ifc4x3_rc1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_rc1::IfcDerivedUnitElement Ifc4x3_rc1::IfcDerivedUnitElement::initialize(::Ifc4x3_rc1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_rc1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9862,7 +9862,7 @@ void Ifc4x3_rc1::IfcDimensionalExponents::setLuminousIntensityExponent(const int const ifcopenshell::entity& Ifc4x3_rc1::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[307]); } -void Ifc4x3_rc1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_rc1::IfcDimensionalExponents Ifc4x3_rc1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_rc1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9870,7 +9870,7 @@ void Ifc4x3_rc1::IfcDirection::setDirectionRatios(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc1::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[309]); } -void Ifc4x3_rc1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -9882,7 +9882,7 @@ void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setEndParam(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[311]); } -void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcDirectrixDistanceSweptAreaSolid ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -9894,7 +9894,7 @@ void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[312]); } -void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); } +Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9902,7 +9902,7 @@ void Ifc4x3_rc1::IfcDiscreteAccessory::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[313]); } -void Ifc4x3_rc1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDiscreteAccessory Ifc4x3_rc1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9910,7 +9910,7 @@ void Ifc4x3_rc1::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[314]); } -void Ifc4x3_rc1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDiscreteAccessoryType Ifc4x3_rc1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistanceExpression double Ifc4x3_rc1::IfcDistanceExpression::DistanceAlong() const { double v = get_attribute_value(0); return v; } @@ -9926,7 +9926,7 @@ void Ifc4x3_rc1::IfcDistanceExpression::setAlongHorizontal(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[316]); } -void Ifc4x3_rc1::IfcDistanceExpression::initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); } } +Ifc4x3_rc1::IfcDistanceExpression Ifc4x3_rc1::IfcDistanceExpression::initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9934,7 +9934,7 @@ void Ifc4x3_rc1::IfcDistributionBoard::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[317]); } -void Ifc4x3_rc1::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDistributionBoard Ifc4x3_rc1::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9942,7 +9942,7 @@ void Ifc4x3_rc1::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[318]); } -void Ifc4x3_rc1::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDistributionBoardType Ifc4x3_rc1::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9950,7 +9950,7 @@ void Ifc4x3_rc1::IfcDistributionChamberElement::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[320]); } -void Ifc4x3_rc1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDistributionChamberElement Ifc4x3_rc1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9958,52 +9958,52 @@ void Ifc4x3_rc1::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[321]); } -void Ifc4x3_rc1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDistributionChamberElementType Ifc4x3_rc1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[323]); } -void Ifc4x3_rc1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc1::IfcDistributionCircuit Ifc4x3_rc1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_rc1::IfcRelFlowControlElements> Ifc4x3_rc1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[948], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[324]); } -void Ifc4x3_rc1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcDistributionControlElement Ifc4x3_rc1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[325]); } -void Ifc4x3_rc1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcDistributionControlElementType Ifc4x3_rc1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_rc1::IfcRelConnectsPortToElement> Ifc4x3_rc1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[932], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[326]); } -void Ifc4x3_rc1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcDistributionElement Ifc4x3_rc1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[327]); } -void Ifc4x3_rc1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcDistributionElementType Ifc4x3_rc1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_rc1::IfcRelFlowControlElements> Ifc4x3_rc1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[948], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[328]); } -void Ifc4x3_rc1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcDistributionFlowElement Ifc4x3_rc1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[329]); } -void Ifc4x3_rc1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcDistributionFlowElementType Ifc4x3_rc1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > Ifc4x3_rc1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -10015,7 +10015,7 @@ void Ifc4x3_rc1::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[330]); } -void Ifc4x3_rc1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_rc1::IfcDistributionPort Ifc4x3_rc1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_rc1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -10025,7 +10025,7 @@ void Ifc4x3_rc1::IfcDistributionSystem::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc1::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[332]); } -void Ifc4x3_rc1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc1::IfcDistributionSystem Ifc4x3_rc1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_rc1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10069,7 +10069,7 @@ std::vector<::Ifc4x3_rc1::IfcDocumentInformationRelationship> Ifc4x3_rc1::IfcDoc std::vector<::Ifc4x3_rc1::IfcDocumentInformationRelationship> Ifc4x3_rc1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[336], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[335]); } -void Ifc4x3_rc1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_rc1::IfcDocumentInformation Ifc4x3_rc1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc1::IfcDocumentInformation Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDocumentInformation>(); } @@ -10081,7 +10081,7 @@ void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelationshipType(const s const ifcopenshell::entity& Ifc4x3_rc1::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[336]); } -void Ifc4x3_rc1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_rc1::IfcDocumentInformationRelationship Ifc4x3_rc1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_rc1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10092,7 +10092,7 @@ void Ifc4x3_rc1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc1: std::vector<::Ifc4x3_rc1::IfcRelAssociatesDocument> Ifc4x3_rc1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[923], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[337]); } -void Ifc4x3_rc1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_rc1::IfcDocumentReference Ifc4x3_rc1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_rc1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10108,7 +10108,7 @@ void Ifc4x3_rc1::IfcDoor::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[340]); } -void Ifc4x3_rc1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc1::IfcDoor Ifc4x3_rc1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10140,7 +10140,7 @@ void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[341]); } -void Ifc4x3_rc1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_rc1::IfcDoorLiningProperties Ifc4x3_rc1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10156,13 +10156,13 @@ void Ifc4x3_rc1::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[344]); } -void Ifc4x3_rc1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc1::IfcDoorPanelProperties Ifc4x3_rc1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[345]); } -void Ifc4x3_rc1::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc1::IfcDoorStandardCase Ifc4x3_rc1::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value Ifc4x3_rc1::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -10176,7 +10176,7 @@ void Ifc4x3_rc1::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc1::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[346]); } -void Ifc4x3_rc1::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc1::IfcDoorStyle Ifc4x3_rc1::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_rc1::IfcDoorTypeEnum::Value Ifc4x3_rc1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10190,19 +10190,19 @@ void Ifc4x3_rc1::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc1::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[349]); } -void Ifc4x3_rc1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc1::IfcDoorType Ifc4x3_rc1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc1::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[353]); } -void Ifc4x3_rc1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc1::IfcDraughtingPreDefinedColour Ifc4x3_rc1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[354]); } -void Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10210,7 +10210,7 @@ void Ifc4x3_rc1::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[355]); } -void Ifc4x3_rc1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDuctFitting Ifc4x3_rc1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value Ifc4x3_rc1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10218,7 +10218,7 @@ void Ifc4x3_rc1::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_rc1::IfcDu const ifcopenshell::entity& Ifc4x3_rc1::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[356]); } -void Ifc4x3_rc1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDuctFittingType Ifc4x3_rc1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10226,7 +10226,7 @@ void Ifc4x3_rc1::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[358]); } -void Ifc4x3_rc1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDuctSegment Ifc4x3_rc1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10234,7 +10234,7 @@ void Ifc4x3_rc1::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_rc1::IfcDu const ifcopenshell::entity& Ifc4x3_rc1::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[359]); } -void Ifc4x3_rc1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDuctSegmentType Ifc4x3_rc1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10242,7 +10242,7 @@ void Ifc4x3_rc1::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[361]); } -void Ifc4x3_rc1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcDuctSilencer Ifc4x3_rc1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10250,7 +10250,7 @@ void Ifc4x3_rc1::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_rc1::IfcD const ifcopenshell::entity& Ifc4x3_rc1::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[362]); } -void Ifc4x3_rc1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcDuctSilencerType Ifc4x3_rc1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10258,13 +10258,13 @@ void Ifc4x3_rc1::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[366]); } -void Ifc4x3_rc1::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcEarthworksCut Ifc4x3_rc1::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_rc1::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[368]); } -void Ifc4x3_rc1::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcEarthworksElement Ifc4x3_rc1::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10272,7 +10272,7 @@ void Ifc4x3_rc1::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[369]); } -void Ifc4x3_rc1::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcEarthworksFill Ifc4x3_rc1::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcVertex>(); } @@ -10282,7 +10282,7 @@ void Ifc4x3_rc1::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc1::IfcVertex& v) { set_att const ifcopenshell::entity& Ifc4x3_rc1::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[371]); } -void Ifc4x3_rc1::IfcEdge::initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_rc1::IfcEdge Ifc4x3_rc1::IfcEdge::initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -10292,7 +10292,7 @@ void Ifc4x3_rc1::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc1::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[372]); } -void Ifc4x3_rc1::IfcEdgeCurve::initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_rc1::IfcEdgeCurve Ifc4x3_rc1::IfcEdgeCurve::initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > Ifc4x3_rc1::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcOrientedEdge>(es); } @@ -10300,7 +10300,7 @@ void Ifc4x3_rc1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOr const ifcopenshell::entity& Ifc4x3_rc1::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[373]); } -void Ifc4x3_rc1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc1::IfcEdgeLoop Ifc4x3_rc1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10308,7 +10308,7 @@ void Ifc4x3_rc1::IfcElectricAppliance::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[374]); } -void Ifc4x3_rc1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricAppliance Ifc4x3_rc1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10316,7 +10316,7 @@ void Ifc4x3_rc1::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[375]); } -void Ifc4x3_rc1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricApplianceType Ifc4x3_rc1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10324,7 +10324,7 @@ void Ifc4x3_rc1::IfcElectricDistributionBoard::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[381]); } -void Ifc4x3_rc1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricDistributionBoard Ifc4x3_rc1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10332,7 +10332,7 @@ void Ifc4x3_rc1::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[382]); } -void Ifc4x3_rc1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricDistributionBoardType Ifc4x3_rc1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10340,7 +10340,7 @@ void Ifc4x3_rc1::IfcElectricFlowStorageDevice::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[384]); } -void Ifc4x3_rc1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricFlowStorageDevice Ifc4x3_rc1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10348,7 +10348,7 @@ void Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[385]); } -void Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricFlowStorageDeviceType Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10356,7 +10356,7 @@ void Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[387]); } -void Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricFlowTreatmentDevice Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10364,7 +10364,7 @@ void Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[388]); } -void Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10372,7 +10372,7 @@ void Ifc4x3_rc1::IfcElectricGenerator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[390]); } -void Ifc4x3_rc1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricGenerator Ifc4x3_rc1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10380,7 +10380,7 @@ void Ifc4x3_rc1::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[391]); } -void Ifc4x3_rc1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricGeneratorType Ifc4x3_rc1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10388,7 +10388,7 @@ void Ifc4x3_rc1::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[393]); } -void Ifc4x3_rc1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricMotor Ifc4x3_rc1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value Ifc4x3_rc1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10396,7 +10396,7 @@ void Ifc4x3_rc1::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[394]); } -void Ifc4x3_rc1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricMotorType Ifc4x3_rc1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10404,7 +10404,7 @@ void Ifc4x3_rc1::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[397]); } -void Ifc4x3_rc1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcElectricTimeControl Ifc4x3_rc1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10412,7 +10412,7 @@ void Ifc4x3_rc1::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[398]); } -void Ifc4x3_rc1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElectricTimeControlType Ifc4x3_rc1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_rc1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10431,7 +10431,7 @@ std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcElem std::vector<::Ifc4x3_rc1::IfcRelCoversBldgElements> Ifc4x3_rc1::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[938], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[401]); } -void Ifc4x3_rc1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10441,7 +10441,7 @@ void Ifc4x3_rc1::IfcElementAssembly::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[403]); } -void Ifc4x3_rc1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc1::IfcElementAssembly Ifc4x3_rc1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10449,19 +10449,19 @@ void Ifc4x3_rc1::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[404]); } -void Ifc4x3_rc1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcElementAssemblyType Ifc4x3_rc1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_rc1::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[406]); } -void Ifc4x3_rc1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcElementComponent Ifc4x3_rc1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_rc1::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[407]); } -void Ifc4x3_rc1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcElementComponentType Ifc4x3_rc1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_rc1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10471,7 +10471,7 @@ void Ifc4x3_rc1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[409]); } -void Ifc4x3_rc1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_rc1::IfcElementQuantity Ifc4x3_rc1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_rc1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10479,7 +10479,7 @@ void Ifc4x3_rc1::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[410]); } -void Ifc4x3_rc1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcElementType Ifc4x3_rc1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } @@ -10487,7 +10487,7 @@ void Ifc4x3_rc1::IfcElementarySurface::setPosition(const ::Ifc4x3_rc1::IfcAxis2P const ifcopenshell::entity& Ifc4x3_rc1::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[402]); } -void Ifc4x3_rc1::IfcElementarySurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc1::IfcElementarySurface Ifc4x3_rc1::IfcElementarySurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_rc1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10497,7 +10497,7 @@ void Ifc4x3_rc1::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc1::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[411]); } -void Ifc4x3_rc1::IfcEllipse::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_rc1::IfcEllipse Ifc4x3_rc1::IfcEllipse::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_rc1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10507,19 +10507,19 @@ void Ifc4x3_rc1::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc1::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[412]); } -void Ifc4x3_rc1::IfcEllipseProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_rc1::IfcEllipseProfileDef Ifc4x3_rc1::IfcEllipseProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_rc1::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[413]); } -void Ifc4x3_rc1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcEnergyConversionDevice Ifc4x3_rc1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_rc1::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[414]); } -void Ifc4x3_rc1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcEnergyConversionDeviceType Ifc4x3_rc1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > Ifc4x3_rc1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10527,7 +10527,7 @@ void Ifc4x3_rc1::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[416]); } -void Ifc4x3_rc1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcEngine Ifc4x3_rc1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_rc1::IfcEngineTypeEnum::Value Ifc4x3_rc1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10535,7 +10535,7 @@ void Ifc4x3_rc1::IfcEngineType::setPredefinedType(const ::Ifc4x3_rc1::IfcEngineT const ifcopenshell::entity& Ifc4x3_rc1::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[417]); } -void Ifc4x3_rc1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcEngineType Ifc4x3_rc1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10543,7 +10543,7 @@ void Ifc4x3_rc1::IfcEvaporativeCooler::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[419]); } -void Ifc4x3_rc1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcEvaporativeCooler Ifc4x3_rc1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10551,7 +10551,7 @@ void Ifc4x3_rc1::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[420]); } -void Ifc4x3_rc1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcEvaporativeCoolerType Ifc4x3_rc1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10559,7 +10559,7 @@ void Ifc4x3_rc1::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[422]); } -void Ifc4x3_rc1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcEvaporator Ifc4x3_rc1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value Ifc4x3_rc1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10567,7 +10567,7 @@ void Ifc4x3_rc1::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_rc1::IfcEva const ifcopenshell::entity& Ifc4x3_rc1::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[423]); } -void Ifc4x3_rc1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcEvaporatorType Ifc4x3_rc1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > Ifc4x3_rc1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10581,7 +10581,7 @@ void Ifc4x3_rc1::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc1::IfcEventTim const ifcopenshell::entity& Ifc4x3_rc1::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[425]); } -void Ifc4x3_rc1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_rc1::IfcEvent Ifc4x3_rc1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_rc1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10595,7 +10595,7 @@ void Ifc4x3_rc1::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[426]); } -void Ifc4x3_rc1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_rc1::IfcEventTime Ifc4x3_rc1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_rc1::IfcEventTypeEnum::Value Ifc4x3_rc1::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10607,7 +10607,7 @@ void Ifc4x3_rc1::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[428]); } -void Ifc4x3_rc1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_rc1::IfcEventType Ifc4x3_rc1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10619,13 +10619,13 @@ void Ifc4x3_rc1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[430]); } -void Ifc4x3_rc1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_rc1::IfcExtendedProperties Ifc4x3_rc1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[431]); } -void Ifc4x3_rc1::IfcExternalInformation::initialize() { } +Ifc4x3_rc1::IfcExternalInformation Ifc4x3_rc1::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10638,7 +10638,7 @@ void Ifc4x3_rc1::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[435]); } -void Ifc4x3_rc1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc1::IfcExternalReference Ifc4x3_rc1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc1::IfcExternalReference Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcExternalReference>(); } @@ -10648,7 +10648,7 @@ void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(con const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[436]); } -void Ifc4x3_rc1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc1::IfcExternalReferenceRelationship Ifc4x3_rc1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10657,31 +10657,31 @@ void Ifc4x3_rc1::IfcExternalSpatialElement::setPredefinedType(const std::optiona std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[956], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[437]); } -void Ifc4x3_rc1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcExternalSpatialElement Ifc4x3_rc1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_rc1::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[439]); } -void Ifc4x3_rc1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc1::IfcExternalSpatialStructureElement Ifc4x3_rc1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[432]); } -void Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc1::IfcExternallyDefinedHatchStyle Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[433]); } -void Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc1::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[434]); } -void Ifc4x3_rc1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc1::IfcExternallyDefinedTextFont Ifc4x3_rc1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -10691,7 +10691,7 @@ void Ifc4x3_rc1::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc1::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[440]); } -void Ifc4x3_rc1::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc1::IfcExtrudedAreaSolid Ifc4x3_rc1::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -10699,7 +10699,7 @@ void Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[441]); } -void Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc1::IfcExtrudedAreaSolidTapered Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_rc1::IfcFaceBound > Ifc4x3_rc1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcFaceBound>(es); } @@ -10708,7 +10708,7 @@ void Ifc4x3_rc1::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc1::IfcFaceBoun std::vector<::Ifc4x3_rc1::IfcTextureMap> Ifc4x3_rc1::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1199], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[442]); } -void Ifc4x3_rc1::IfcFace::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_rc1::IfcFace Ifc4x3_rc1::IfcFace::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > Ifc4x3_rc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcConnectedFaceSet>(es); } @@ -10716,7 +10716,7 @@ void Ifc4x3_rc1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[443]); } -void Ifc4x3_rc1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_rc1::IfcFaceBasedSurfaceModel Ifc4x3_rc1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_rc1::IfcLoop Ifc4x3_rc1::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcLoop>(); } @@ -10726,13 +10726,13 @@ void Ifc4x3_rc1::IfcFaceBound::setOrientation(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[444]); } -void Ifc4x3_rc1::IfcFaceBound::initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc1::IfcFaceBound Ifc4x3_rc1::IfcFaceBound::initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[445]); } -void Ifc4x3_rc1::IfcFaceOuterBound::initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc1::IfcFaceOuterBound Ifc4x3_rc1::IfcFaceOuterBound::initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -10742,13 +10742,13 @@ void Ifc4x3_rc1::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc1::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[446]); } -void Ifc4x3_rc1::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc1::IfcFaceSurface Ifc4x3_rc1::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_rc1::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[447]); } -void Ifc4x3_rc1::IfcFacetedBrep::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc1::IfcFacetedBrep Ifc4x3_rc1::IfcFacetedBrep::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_rc1::IfcClosedShell > Ifc4x3_rc1::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcClosedShell>(es); } @@ -10756,13 +10756,13 @@ void Ifc4x3_rc1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[448]); } -void Ifc4x3_rc1::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc1::IfcFacetedBrepWithVoids Ifc4x3_rc1::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_rc1::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[449]); } -void Ifc4x3_rc1::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc1::IfcFacility Ifc4x3_rc1::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_rc1::IfcFacilityPartTypeSelect Ifc4x3_rc1::IfcFacilityPart::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcFacilityPartTypeSelect>(); } @@ -10772,7 +10772,7 @@ void Ifc4x3_rc1::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc1::IfcFacilityUs const ifcopenshell::entity& Ifc4x3_rc1::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[450]); } -void Ifc4x3_rc1::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType))); } +Ifc4x3_rc1::IfcFacilityPart Ifc4x3_rc1::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10790,7 +10790,7 @@ void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureZ(const std const ifcopenshell::entity& Ifc4x3_rc1::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[454]); } -void Ifc4x3_rc1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_rc1::IfcFailureConnectionCondition Ifc4x3_rc1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > Ifc4x3_rc1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10798,7 +10798,7 @@ void Ifc4x3_rc1::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[455]); } -void Ifc4x3_rc1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFan Ifc4x3_rc1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_rc1::IfcFanTypeEnum::Value Ifc4x3_rc1::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10806,7 +10806,7 @@ void Ifc4x3_rc1::IfcFanType::setPredefinedType(const ::Ifc4x3_rc1::IfcFanTypeEnu const ifcopenshell::entity& Ifc4x3_rc1::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[456]); } -void Ifc4x3_rc1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFanType Ifc4x3_rc1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > Ifc4x3_rc1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10814,7 +10814,7 @@ void Ifc4x3_rc1::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[458]); } -void Ifc4x3_rc1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFastener Ifc4x3_rc1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value Ifc4x3_rc1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10822,27 +10822,27 @@ void Ifc4x3_rc1::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc1::IfcFaste const ifcopenshell::entity& Ifc4x3_rc1::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[459]); } -void Ifc4x3_rc1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFastenerType Ifc4x3_rc1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_rc1::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[461]); } -void Ifc4x3_rc1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFeatureElement Ifc4x3_rc1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_rc1::IfcRelProjectsElement> Ifc4x3_rc1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[952], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[462]); } -void Ifc4x3_rc1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFeatureElementAddition Ifc4x3_rc1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_rc1::IfcRelVoidsElement> Ifc4x3_rc1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[959], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[463]); } -void Ifc4x3_rc1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFeatureElementSubtraction Ifc4x3_rc1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcFillStyleSelect>(es); } @@ -10852,7 +10852,7 @@ void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(const std::optional< boo const ifcopenshell::entity& Ifc4x3_rc1::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[464]); } -void Ifc4x3_rc1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); } } +Ifc4x3_rc1::IfcFillAreaStyle Ifc4x3_rc1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc1::IfcCurveStyle Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurveStyle>(); } @@ -10868,7 +10868,7 @@ void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[465]); } -void Ifc4x3_rc1::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_rc1::IfcFillAreaStyleHatching Ifc4x3_rc1::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_rc1::IfcVector > Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcVector>(es); } @@ -10880,7 +10880,7 @@ void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[466]); } -void Ifc4x3_rc1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_rc1::IfcFillAreaStyleTiles Ifc4x3_rc1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > Ifc4x3_rc1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10888,7 +10888,7 @@ void Ifc4x3_rc1::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[468]); } -void Ifc4x3_rc1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFilter Ifc4x3_rc1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_rc1::IfcFilterTypeEnum::Value Ifc4x3_rc1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10896,7 +10896,7 @@ void Ifc4x3_rc1::IfcFilterType::setPredefinedType(const ::Ifc4x3_rc1::IfcFilterT const ifcopenshell::entity& Ifc4x3_rc1::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[469]); } -void Ifc4x3_rc1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFilterType Ifc4x3_rc1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10904,7 +10904,7 @@ void Ifc4x3_rc1::IfcFireSuppressionTerminal::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc1::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[471]); } -void Ifc4x3_rc1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFireSuppressionTerminal Ifc4x3_rc1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10912,7 +10912,7 @@ void Ifc4x3_rc1::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[472]); } -void Ifc4x3_rc1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFireSuppressionTerminalType Ifc4x3_rc1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -10920,31 +10920,31 @@ void Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[474]); } -void Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[475]); } -void Ifc4x3_rc1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowController Ifc4x3_rc1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[476]); } -void Ifc4x3_rc1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowControllerType Ifc4x3_rc1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[478]); } -void Ifc4x3_rc1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowFitting Ifc4x3_rc1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[479]); } -void Ifc4x3_rc1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowFittingType Ifc4x3_rc1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10952,7 +10952,7 @@ void Ifc4x3_rc1::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[480]); } -void Ifc4x3_rc1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFlowInstrument Ifc4x3_rc1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -10960,7 +10960,7 @@ void Ifc4x3_rc1::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[481]); } -void Ifc4x3_rc1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFlowInstrumentType Ifc4x3_rc1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -10968,7 +10968,7 @@ void Ifc4x3_rc1::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[483]); } -void Ifc4x3_rc1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFlowMeter Ifc4x3_rc1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value Ifc4x3_rc1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -10976,67 +10976,67 @@ void Ifc4x3_rc1::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc1::IfcFlow const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[484]); } -void Ifc4x3_rc1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFlowMeterType Ifc4x3_rc1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[486]); } -void Ifc4x3_rc1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowMovingDevice Ifc4x3_rc1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[487]); } -void Ifc4x3_rc1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowMovingDeviceType Ifc4x3_rc1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[488]); } -void Ifc4x3_rc1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowSegment Ifc4x3_rc1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[489]); } -void Ifc4x3_rc1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowSegmentType Ifc4x3_rc1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[490]); } -void Ifc4x3_rc1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowStorageDevice Ifc4x3_rc1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[491]); } -void Ifc4x3_rc1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowStorageDeviceType Ifc4x3_rc1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[492]); } -void Ifc4x3_rc1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowTerminal Ifc4x3_rc1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[493]); } -void Ifc4x3_rc1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowTerminalType Ifc4x3_rc1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[494]); } -void Ifc4x3_rc1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFlowTreatmentDevice Ifc4x3_rc1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_rc1::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[495]); } -void Ifc4x3_rc1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFlowTreatmentDeviceType Ifc4x3_rc1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > Ifc4x3_rc1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -11044,7 +11044,7 @@ void Ifc4x3_rc1::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[499]); } -void Ifc4x3_rc1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFooting Ifc4x3_rc1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_rc1::IfcFootingTypeEnum::Value Ifc4x3_rc1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -11052,19 +11052,19 @@ void Ifc4x3_rc1::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc1::IfcFootin const ifcopenshell::entity& Ifc4x3_rc1::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[500]); } -void Ifc4x3_rc1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcFootingType Ifc4x3_rc1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_rc1::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[504]); } -void Ifc4x3_rc1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcFurnishingElement Ifc4x3_rc1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[505]); } -void Ifc4x3_rc1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcFurnishingElementType Ifc4x3_rc1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11072,7 +11072,7 @@ void Ifc4x3_rc1::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[506]); } -void Ifc4x3_rc1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcFurniture Ifc4x3_rc1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value Ifc4x3_rc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11082,7 +11082,7 @@ void Ifc4x3_rc1::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[507]); } -void Ifc4x3_rc1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcFurnitureType Ifc4x3_rc1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11090,7 +11090,7 @@ void Ifc4x3_rc1::IfcGeographicElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[509]); } -void Ifc4x3_rc1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcGeographicElement Ifc4x3_rc1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value Ifc4x3_rc1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11098,13 +11098,13 @@ void Ifc4x3_rc1::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[510]); } -void Ifc4x3_rc1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcGeographicElementType Ifc4x3_rc1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[512]); } -void Ifc4x3_rc1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc1::IfcGeometricCurveSet Ifc4x3_rc1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11120,13 +11120,13 @@ std::vector<::Ifc4x3_rc1::IfcGeometricRepresentationSubContext> Ifc4x3_rc1::IfcG std::vector<::Ifc4x3_rc1::IfcCoordinateOperation> Ifc4x3_rc1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[249], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[514]); } -void Ifc4x3_rc1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_rc1::IfcGeometricRepresentationContext Ifc4x3_rc1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[515]); } -void Ifc4x3_rc1::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_rc1::IfcGeometricRepresentationItem Ifc4x3_rc1::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_rc1::IfcGeometricRepresentationContext Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(); } @@ -11140,7 +11140,7 @@ void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView( const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[516]); } -void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_rc1::IfcGeometricRepresentationSubContext Ifc4x3_rc1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > Ifc4x3_rc1::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcGeometricSetSelect>(es); } @@ -11148,37 +11148,37 @@ void Ifc4x3_rc1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[517]); } -void Ifc4x3_rc1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc1::IfcGeometricSet Ifc4x3_rc1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_rc1::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[519]); } -void Ifc4x3_rc1::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcGeomodel Ifc4x3_rc1::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_rc1::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[520]); } -void Ifc4x3_rc1::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcGeoslice Ifc4x3_rc1::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_rc1::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[521]); } -void Ifc4x3_rc1::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcGeotechnicalAssembly Ifc4x3_rc1::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_rc1::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[522]); } -void Ifc4x3_rc1::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcGeotechnicalElement Ifc4x3_rc1::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum const ifcopenshell::entity& Ifc4x3_rc1::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[523]); } -void Ifc4x3_rc1::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcGeotechnicalStratum Ifc4x3_rc1::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_rc1::IfcGridAxis > Ifc4x3_rc1::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } @@ -11192,7 +11192,7 @@ void Ifc4x3_rc1::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[526]); } -void Ifc4x3_rc1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcGrid Ifc4x3_rc1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_rc1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11208,7 +11208,7 @@ std::vector<::Ifc4x3_rc1::IfcGrid> Ifc4x3_rc1::IfcGridAxis::PartOfU() const { re std::vector<::Ifc4x3_rc1::IfcVirtualGridIntersection> Ifc4x3_rc1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1277], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[527]); } -void Ifc4x3_rc1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc1::IfcGridAxis Ifc4x3_rc1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_rc1::IfcVirtualGridIntersection Ifc4x3_rc1::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcVirtualGridIntersection>(); } @@ -11218,14 +11218,14 @@ void Ifc4x3_rc1::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[528]); } -void Ifc4x3_rc1::IfcGridPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_rc1::IfcGridPlacement Ifc4x3_rc1::IfcGridPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4x3_rc1::IfcRelAssignsToGroup> Ifc4x3_rc1::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[914], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[531]); } -void Ifc4x3_rc1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc1::IfcGroup Ifc4x3_rc1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -11235,7 +11235,7 @@ void Ifc4x3_rc1::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc1::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[532]); } -void Ifc4x3_rc1::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_rc1::IfcHalfSpaceSolid Ifc4x3_rc1::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11243,7 +11243,7 @@ void Ifc4x3_rc1::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[534]); } -void Ifc4x3_rc1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcHeatExchanger Ifc4x3_rc1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11251,7 +11251,7 @@ void Ifc4x3_rc1::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[535]); } -void Ifc4x3_rc1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcHeatExchangerType Ifc4x3_rc1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > Ifc4x3_rc1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11259,7 +11259,7 @@ void Ifc4x3_rc1::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[539]); } -void Ifc4x3_rc1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcHumidifier Ifc4x3_rc1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value Ifc4x3_rc1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11267,7 +11267,7 @@ void Ifc4x3_rc1::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_rc1::IfcHum const ifcopenshell::entity& Ifc4x3_rc1::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[540]); } -void Ifc4x3_rc1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcHumidifierType Ifc4x3_rc1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_rc1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11287,7 +11287,7 @@ void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc1::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[570]); } -void Ifc4x3_rc1::IfcIShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc1::IfcIShapeProfileDef Ifc4x3_rc1::IfcIShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_rc1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11295,7 +11295,7 @@ void Ifc4x3_rc1::IfcImageTexture::setURLReference(const std::string& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[544]); } -void Ifc4x3_rc1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_rc1::IfcImageTexture Ifc4x3_rc1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc1::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11303,7 +11303,7 @@ void Ifc4x3_rc1::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[545]); } -void Ifc4x3_rc1::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc1::IfcImpactProtectionDevice Ifc4x3_rc1::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11311,7 +11311,7 @@ void Ifc4x3_rc1::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[546]); } -void Ifc4x3_rc1::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc1::IfcImpactProtectionDeviceType Ifc4x3_rc1::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcInclinedReferenceSweptAreaSolid std::optional< bool > Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } bool v = get_attribute_value(5); return v; } @@ -11321,7 +11321,7 @@ void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setInclinating(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[549]); } -void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination v7_Inclinating) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, (v7_Inclinating)); } +Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination v7_Inclinating) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, (v7_Inclinating));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_rc1::IfcTessellatedFaceSet Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(); } @@ -11335,7 +11335,7 @@ void Ifc4x3_rc1::IfcIndexedColourMap::setColourIndex(const std::vector< int > /* const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[550]); } -void Ifc4x3_rc1::IfcIndexedColourMap::initialize(::Ifc4x3_rc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_rc1::IfcIndexedColourMap Ifc4x3_rc1::IfcIndexedColourMap::initialize(::Ifc4x3_rc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc1::IfcCartesianPointList Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPointList>(); } @@ -11347,7 +11347,7 @@ void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[551]); } -void Ifc4x3_rc1::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_rc1::IfcIndexedPolyCurve Ifc4x3_rc1::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11356,7 +11356,7 @@ void Ifc4x3_rc1::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > std::vector<::Ifc4x3_rc1::IfcPolygonalFaceSet> Ifc4x3_rc1::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[783], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[552]); } -void Ifc4x3_rc1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_rc1::IfcIndexedPolygonalFace Ifc4x3_rc1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11364,7 +11364,7 @@ void Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const st const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[553]); } -void Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_rc1::IfcTessellatedFaceSet Ifc4x3_rc1::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(); } @@ -11374,7 +11374,7 @@ void Ifc4x3_rc1::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc1::IfcTextu const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[554]); } -void Ifc4x3_rc1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_rc1::IfcIndexedTextureMap Ifc4x3_rc1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_rc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11382,7 +11382,7 @@ void Ifc4x3_rc1::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optio const ifcopenshell::entity& Ifc4x3_rc1::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[555]); } -void Ifc4x3_rc1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_rc1::IfcIndexedTriangleTextureMap Ifc4x3_rc1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > Ifc4x3_rc1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11390,7 +11390,7 @@ void Ifc4x3_rc1::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[559]); } -void Ifc4x3_rc1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcInterceptor Ifc4x3_rc1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value Ifc4x3_rc1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11398,13 +11398,13 @@ void Ifc4x3_rc1::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc1::IfcIn const ifcopenshell::entity& Ifc4x3_rc1::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[560]); } -void Ifc4x3_rc1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcInterceptorType Ifc4x3_rc1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_rc1::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[564]); } -void Ifc4x3_rc1::IfcIntersectionCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc1::IfcIntersectionCurve Ifc4x3_rc1::IfcIntersectionCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > Ifc4x3_rc1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11422,7 +11422,7 @@ void Ifc4x3_rc1::IfcInventory::setOriginalValue(const ::Ifc4x3_rc1::IfcCostValue const ifcopenshell::entity& Ifc4x3_rc1::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[565]); } -void Ifc4x3_rc1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_rc1::IfcInventory Ifc4x3_rc1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > Ifc4x3_rc1::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc1::IfcIrregularTimeSeriesValue>(es); } @@ -11430,7 +11430,7 @@ void Ifc4x3_rc1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[568]); } -void Ifc4x3_rc1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_rc1::IfcIrregularTimeSeries Ifc4x3_rc1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11440,7 +11440,7 @@ void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[569]); } -void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_rc1::IfcIrregularTimeSeriesValue Ifc4x3_rc1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11448,7 +11448,7 @@ void Ifc4x3_rc1::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[572]); } -void Ifc4x3_rc1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcJunctionBox Ifc4x3_rc1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11456,7 +11456,7 @@ void Ifc4x3_rc1::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_rc1::IfcJu const ifcopenshell::entity& Ifc4x3_rc1::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[573]); } -void Ifc4x3_rc1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcJunctionBoxType Ifc4x3_rc1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb bool Ifc4x3_rc1::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } @@ -11464,7 +11464,7 @@ void Ifc4x3_rc1::IfcKerb::setMountable(const bool& v) { set_attribute_value(8, v const ifcopenshell::entity& Ifc4x3_rc1::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[575]); } -void Ifc4x3_rc1::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable)); } +Ifc4x3_rc1::IfcKerb Ifc4x3_rc1::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; return *this; } // Function implementations for IfcKerbType bool Ifc4x3_rc1::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } @@ -11472,7 +11472,7 @@ void Ifc4x3_rc1::IfcKerbType::setMountable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc1::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[576]); } -void Ifc4x3_rc1::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable)); } +Ifc4x3_rc1::IfcKerbType Ifc4x3_rc1::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_rc1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11490,7 +11490,7 @@ void Ifc4x3_rc1::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc1::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[629]); } -void Ifc4x3_rc1::IfcLShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_rc1::IfcLShapeProfileDef Ifc4x3_rc1::IfcLShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11498,7 +11498,7 @@ void Ifc4x3_rc1::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[580]); } -void Ifc4x3_rc1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcLaborResource Ifc4x3_rc1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value Ifc4x3_rc1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11506,7 +11506,7 @@ void Ifc4x3_rc1::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[581]); } -void Ifc4x3_rc1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcLaborResourceType Ifc4x3_rc1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_rc1::IfcTimeOrRatioSelect Ifc4x3_rc1::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcTimeOrRatioSelect>(); } @@ -11516,7 +11516,7 @@ void Ifc4x3_rc1::IfcLagTime::setDurationType(const ::Ifc4x3_rc1::IfcTaskDuration const ifcopenshell::entity& Ifc4x3_rc1::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[583]); } -void Ifc4x3_rc1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_rc1::IfcLagTime Ifc4x3_rc1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > Ifc4x3_rc1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11524,7 +11524,7 @@ void Ifc4x3_rc1::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[584]); } -void Ifc4x3_rc1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcLamp Ifc4x3_rc1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_rc1::IfcLampTypeEnum::Value Ifc4x3_rc1::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11532,7 +11532,7 @@ void Ifc4x3_rc1::IfcLampType::setPredefinedType(const ::Ifc4x3_rc1::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[585]); } -void Ifc4x3_rc1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcLampType Ifc4x3_rc1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_rc1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11552,7 +11552,7 @@ std::vector<::Ifc4x3_rc1::IfcRelAssociatesLibrary> Ifc4x3_rc1::IfcLibraryInforma std::vector<::Ifc4x3_rc1::IfcLibraryReference> Ifc4x3_rc1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[592], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[591]); } -void Ifc4x3_rc1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_rc1::IfcLibraryInformation Ifc4x3_rc1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11565,7 +11565,7 @@ void Ifc4x3_rc1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc1::I std::vector<::Ifc4x3_rc1::IfcRelAssociatesLibrary> Ifc4x3_rc1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[924], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[592]); } -void Ifc4x3_rc1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_rc1::IfcLibraryReference Ifc4x3_rc1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_rc1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11577,7 +11577,7 @@ void Ifc4x3_rc1::IfcLightDistributionData::setLuminousIntensity(const std::vecto const ifcopenshell::entity& Ifc4x3_rc1::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[595]); } -void Ifc4x3_rc1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_rc1::IfcLightDistributionData Ifc4x3_rc1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11585,7 +11585,7 @@ void Ifc4x3_rc1::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[598]); } -void Ifc4x3_rc1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcLightFixture Ifc4x3_rc1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value Ifc4x3_rc1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11593,7 +11593,7 @@ void Ifc4x3_rc1::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc1::IfcL const ifcopenshell::entity& Ifc4x3_rc1::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[599]); } -void Ifc4x3_rc1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcLightFixtureType Ifc4x3_rc1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value Ifc4x3_rc1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11603,7 +11603,7 @@ void Ifc4x3_rc1::IfcLightIntensityDistribution::setDistributionData(const std::v const ifcopenshell::entity& Ifc4x3_rc1::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[601]); } -void Ifc4x3_rc1::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_rc1::IfcLightIntensityDistribution Ifc4x3_rc1::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_rc1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11617,13 +11617,13 @@ void Ifc4x3_rc1::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[602]); } -void Ifc4x3_rc1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc1::IfcLightSource Ifc4x3_rc1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[603]); } -void Ifc4x3_rc1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc1::IfcLightSourceAmbient Ifc4x3_rc1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -11631,7 +11631,7 @@ void Ifc4x3_rc1::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[604]); } -void Ifc4x3_rc1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_rc1::IfcLightSourceDirectional Ifc4x3_rc1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } @@ -11649,7 +11649,7 @@ void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightDistributionDataSource(const const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[605]); } -void Ifc4x3_rc1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_rc1::IfcLightSourceGoniometric Ifc4x3_rc1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } @@ -11665,7 +11665,7 @@ void Ifc4x3_rc1::IfcLightSourcePositional::setQuadricAttenuation(const double& v const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[606]); } -void Ifc4x3_rc1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_rc1::IfcLightSourcePositional Ifc4x3_rc1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -11679,7 +11679,7 @@ void Ifc4x3_rc1::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[607]); } -void Ifc4x3_rc1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_rc1::IfcLightSourceSpot Ifc4x3_rc1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } @@ -11689,13 +11689,13 @@ void Ifc4x3_rc1::IfcLine::setDir(const ::Ifc4x3_rc1::IfcVector& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc1::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[608]); } -void Ifc4x3_rc1::IfcLine::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_rc1::IfcLine Ifc4x3_rc1::IfcLine::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLineSegment2D const ifcopenshell::entity& Ifc4x3_rc1::IfcLineSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[620]); } -void Ifc4x3_rc1::IfcLineSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x3_rc1::IfcLineSegment2D Ifc4x3_rc1::IfcLineSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcLinearAxisWithInclination ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcLinearAxisWithInclination::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -11705,7 +11705,7 @@ void Ifc4x3_rc1::IfcLinearAxisWithInclination::setInclinating(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearAxisWithInclination::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[610]); } -void Ifc4x3_rc1::IfcLinearAxisWithInclination::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination v2_Inclinating) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Inclinating)); } +Ifc4x3_rc1::IfcLinearAxisWithInclination Ifc4x3_rc1::IfcLinearAxisWithInclination::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination v2_Inclinating) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Inclinating));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -11719,7 +11719,7 @@ void Ifc4x3_rc1::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[613]); } -void Ifc4x3_rc1::IfcLinearPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition)); } +Ifc4x3_rc1::IfcLinearPlacement Ifc4x3_rc1::IfcLinearPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition));; return *this; } // Function implementations for IfcLinearPlacementWithInclination ::Ifc4x3_rc1::IfcAxisLateralInclination Ifc4x3_rc1::IfcLinearPlacementWithInclination::Inclinating() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcAxisLateralInclination>(); } @@ -11727,7 +11727,7 @@ void Ifc4x3_rc1::IfcLinearPlacementWithInclination::setInclinating(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearPlacementWithInclination::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[614]); } -void Ifc4x3_rc1::IfcLinearPlacementWithInclination::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination v6_Inclinating) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Inclinating)); } +Ifc4x3_rc1::IfcLinearPlacementWithInclination Ifc4x3_rc1::IfcLinearPlacementWithInclination::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination v6_Inclinating) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Inclinating));; return *this; } // Function implementations for IfcLinearPositioningElement ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcLinearPositioningElement::Axis() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -11735,7 +11735,7 @@ void Ifc4x3_rc1::IfcLinearPositioningElement::setAxis(const ::Ifc4x3_rc1::IfcCur const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[615]); } -void Ifc4x3_rc1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); } +Ifc4x3_rc1::IfcLinearPositioningElement Ifc4x3_rc1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis));; return *this; } // Function implementations for IfcLinearSpanPlacement double Ifc4x3_rc1::IfcLinearSpanPlacement::Span() const { double v = get_attribute_value(5); return v; } @@ -11743,7 +11743,7 @@ void Ifc4x3_rc1::IfcLinearSpanPlacement::setSpan(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc1::IfcLinearSpanPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[616]); } -void Ifc4x3_rc1::IfcLinearSpanPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Span)); } +Ifc4x3_rc1::IfcLinearSpanPlacement Ifc4x3_rc1::IfcLinearSpanPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_Orientation));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Span));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc1::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11751,7 +11751,7 @@ void Ifc4x3_rc1::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[621]); } -void Ifc4x3_rc1::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcLiquidTerminal Ifc4x3_rc1::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11759,7 +11759,7 @@ void Ifc4x3_rc1::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[622]); } -void Ifc4x3_rc1::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcLiquidTerminalType Ifc4x3_rc1::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } @@ -11767,13 +11767,13 @@ void Ifc4x3_rc1::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[625]); } -void Ifc4x3_rc1::IfcLocalPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_rc1::IfcLocalPlacement Ifc4x3_rc1::IfcLocalPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_rc1::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[628]); } -void Ifc4x3_rc1::IfcLoop::initialize() { } +Ifc4x3_rc1::IfcLoop Ifc4x3_rc1::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_rc1::IfcClosedShell Ifc4x3_rc1::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcClosedShell>(); } @@ -11781,7 +11781,7 @@ void Ifc4x3_rc1::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc1::IfcClosedShe const ifcopenshell::entity& Ifc4x3_rc1::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[635]); } -void Ifc4x3_rc1::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc1::IfcManifoldSolidBrep Ifc4x3_rc1::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_rc1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11799,7 +11799,7 @@ void Ifc4x3_rc1::IfcMapConversion::setScale(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[636]); } -void Ifc4x3_rc1::IfcMapConversion::initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4x3_rc1::IfcMapConversion Ifc4x3_rc1::IfcMapConversion::initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_rc1::IfcRepresentationMap Ifc4x3_rc1::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcRepresentationMap>(); } @@ -11809,7 +11809,7 @@ void Ifc4x3_rc1::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc1::IfcCartesia const ifcopenshell::entity& Ifc4x3_rc1::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[637]); } -void Ifc4x3_rc1::IfcMappedItem::initialize(::Ifc4x3_rc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_rc1::IfcMappedItem Ifc4x3_rc1::IfcMappedItem::initialize(::Ifc4x3_rc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc1::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11817,7 +11817,7 @@ void Ifc4x3_rc1::IfcMarineFacility::setPredefinedType(const ::Ifc4x3_rc1::IfcMar const ifcopenshell::entity& Ifc4x3_rc1::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[638]); } -void Ifc4x3_rc1::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcMarineFacility Ifc4x3_rc1::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_rc1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11832,7 +11832,7 @@ std::vector<::Ifc4x3_rc1::IfcMaterialRelationship> Ifc4x3_rc1::IfcMaterial::IsRe std::vector<::Ifc4x3_rc1::IfcMaterialRelationship> Ifc4x3_rc1::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[662], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[645]); } -void Ifc4x3_rc1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcClassificationSelect>(es); } @@ -11842,7 +11842,7 @@ void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(co const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[646]); } -void Ifc4x3_rc1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_rc1::IfcMaterialClassificationRelationship Ifc4x3_rc1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11859,7 +11859,7 @@ void Ifc4x3_rc1::IfcMaterialConstituent::setCategory(const std::optional< std::s std::vector<::Ifc4x3_rc1::IfcMaterialConstituentSet> Ifc4x3_rc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[648], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[647]); } -void Ifc4x3_rc1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_rc1::IfcMaterialConstituent Ifc4x3_rc1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11871,7 +11871,7 @@ void Ifc4x3_rc1::IfcMaterialConstituentSet::setMaterialConstituents(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[648]); } -void Ifc4x3_rc1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_rc1::IfcMaterialConstituentSet Ifc4x3_rc1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11880,7 +11880,7 @@ std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcMater std::vector<::Ifc4x3_rc1::IfcMaterialProperties> Ifc4x3_rc1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[661], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[649]); } -void Ifc4x3_rc1::IfcMaterialDefinition::initialize() { } +Ifc4x3_rc1::IfcMaterialDefinition Ifc4x3_rc1::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMaterial>(); } @@ -11888,7 +11888,7 @@ void Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(con const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[650]); } -void Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations, ::Ifc4x3_rc1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_rc1::IfcMaterialDefinitionRepresentation Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations, ::Ifc4x3_rc1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc1::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcMaterial>(); } @@ -11909,7 +11909,7 @@ void Ifc4x3_rc1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_rc1::IfcMaterialLayerSet> Ifc4x3_rc1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[652], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[651]); } -void Ifc4x3_rc1::IfcMaterialLayer::initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_rc1::IfcMaterialLayer Ifc4x3_rc1::IfcMaterialLayer::initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > Ifc4x3_rc1::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcMaterialLayer>(es); } @@ -11921,7 +11921,7 @@ void Ifc4x3_rc1::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[652]); } -void Ifc4x3_rc1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc1::IfcMaterialLayerSet Ifc4x3_rc1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_rc1::IfcMaterialLayerSet Ifc4x3_rc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcMaterialLayerSet>(); } @@ -11937,7 +11937,7 @@ void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[653]); } -void Ifc4x3_rc1::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_rc1::IfcMaterialLayerSetUsage Ifc4x3_rc1::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -11947,7 +11947,7 @@ void Ifc4x3_rc1::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[654]); } -void Ifc4x3_rc1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_rc1::IfcMaterialLayerWithOffsets Ifc4x3_rc1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_rc1::IfcMaterial > Ifc4x3_rc1::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcMaterial>(es); } @@ -11955,7 +11955,7 @@ void Ifc4x3_rc1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[655]); } -void Ifc4x3_rc1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_rc1::IfcMaterialList Ifc4x3_rc1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11974,7 +11974,7 @@ void Ifc4x3_rc1::IfcMaterialProfile::setCategory(const std::optional< std::strin std::vector<::Ifc4x3_rc1::IfcMaterialProfileSet> Ifc4x3_rc1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[657], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[656]); } -void Ifc4x3_rc1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_rc1::IfcMaterialProfile Ifc4x3_rc1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11988,7 +11988,7 @@ void Ifc4x3_rc1::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[657]); } -void Ifc4x3_rc1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_rc1::IfcMaterialProfileSet Ifc4x3_rc1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_rc1::IfcMaterialProfileSet Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcMaterialProfileSet>(); } @@ -12000,7 +12000,7 @@ void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optio const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[658]); } -void Ifc4x3_rc1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_rc1::IfcMaterialProfileSetUsage Ifc4x3_rc1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_rc1::IfcMaterialProfileSet Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMaterialProfileSet>(); } @@ -12010,7 +12010,7 @@ void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const s const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[659]); } -void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_rc1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -12018,7 +12018,7 @@ void Ifc4x3_rc1::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vecto const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[660]); } -void Ifc4x3_rc1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_rc1::IfcMaterialProfileWithOffsets Ifc4x3_rc1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_rc1::IfcMaterialDefinition Ifc4x3_rc1::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcMaterialDefinition>(); } @@ -12026,7 +12026,7 @@ void Ifc4x3_rc1::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc1::IfcMater const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[661]); } -void Ifc4x3_rc1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_rc1::IfcMaterialProperties Ifc4x3_rc1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_rc1::IfcMaterial Ifc4x3_rc1::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcMaterial>(); } @@ -12038,14 +12038,14 @@ void Ifc4x3_rc1::IfcMaterialRelationship::setExpression(const std::optional< std const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[662]); } -void Ifc4x3_rc1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc1::IfcMaterialRelationship Ifc4x3_rc1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_rc1::IfcRelAssociatesMaterial> Ifc4x3_rc1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[925], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[664]); } -void Ifc4x3_rc1::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_rc1::IfcMaterialUsageDefinition Ifc4x3_rc1::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcValue>(); } @@ -12055,7 +12055,7 @@ void Ifc4x3_rc1::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc1::IfcUni const ifcopenshell::entity& Ifc4x3_rc1::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[666]); } -void Ifc4x3_rc1::IfcMeasureWithUnit::initialize(::Ifc4x3_rc1::IfcValue v1_ValueComponent, ::Ifc4x3_rc1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_rc1::IfcMeasureWithUnit Ifc4x3_rc1::IfcMeasureWithUnit::initialize(::Ifc4x3_rc1::IfcValue v1_ValueComponent, ::Ifc4x3_rc1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12067,7 +12067,7 @@ void Ifc4x3_rc1::IfcMechanicalFastener::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc1::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[667]); } -void Ifc4x3_rc1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcMechanicalFastener Ifc4x3_rc1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12079,7 +12079,7 @@ void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalLength(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[668]); } -void Ifc4x3_rc1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_rc1::IfcMechanicalFastenerType Ifc4x3_rc1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12087,7 +12087,7 @@ void Ifc4x3_rc1::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[670]); } -void Ifc4x3_rc1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcMedicalDevice Ifc4x3_rc1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12095,7 +12095,7 @@ void Ifc4x3_rc1::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[671]); } -void Ifc4x3_rc1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcMedicalDeviceType Ifc4x3_rc1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > Ifc4x3_rc1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12103,13 +12103,13 @@ void Ifc4x3_rc1::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[673]); } -void Ifc4x3_rc1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcMember Ifc4x3_rc1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[674]); } -void Ifc4x3_rc1::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcMemberStandardCase Ifc4x3_rc1::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_rc1::IfcMemberTypeEnum::Value Ifc4x3_rc1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12117,7 +12117,7 @@ void Ifc4x3_rc1::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc1::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc1::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[675]); } -void Ifc4x3_rc1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcMemberType Ifc4x3_rc1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_rc1::IfcBenchmarkEnum::Value Ifc4x3_rc1::IfcMetric::Benchmark() const { return ::Ifc4x3_rc1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12131,13 +12131,13 @@ void Ifc4x3_rc1::IfcMetric::setReferencePath(const ::Ifc4x3_rc1::IfcReference& v const ifcopenshell::entity& Ifc4x3_rc1::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[677]); } -void Ifc4x3_rc1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_rc1::IfcMetric Ifc4x3_rc1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_rc1::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[679]); } -void Ifc4x3_rc1::IfcMirroredProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc1::IfcMirroredProfileDef Ifc4x3_rc1::IfcMirroredProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12145,7 +12145,7 @@ void Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::setPredefinedType(const s const ifcopenshell::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[680]); } -void Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12153,7 +12153,7 @@ void Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[681]); } -void Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_rc1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12161,7 +12161,7 @@ void Ifc4x3_rc1::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc1::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[694]); } -void Ifc4x3_rc1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_rc1::IfcMonetaryUnit Ifc4x3_rc1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12169,7 +12169,7 @@ void Ifc4x3_rc1::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[696]); } -void Ifc4x3_rc1::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcMooringDevice Ifc4x3_rc1::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12177,7 +12177,7 @@ void Ifc4x3_rc1::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[697]); } -void Ifc4x3_rc1::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcMooringDeviceType Ifc4x3_rc1::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12185,7 +12185,7 @@ void Ifc4x3_rc1::IfcMotorConnection::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[699]); } -void Ifc4x3_rc1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcMotorConnection Ifc4x3_rc1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12193,7 +12193,7 @@ void Ifc4x3_rc1::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[700]); } -void Ifc4x3_rc1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcMotorConnectionType Ifc4x3_rc1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_rc1::IfcDimensionalExponents Ifc4x3_rc1::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDimensionalExponents>(); } @@ -12203,7 +12203,7 @@ void Ifc4x3_rc1::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc1::IfcUnitEnum::Valu const ifcopenshell::entity& Ifc4x3_rc1::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[702]); } -void Ifc4x3_rc1::IfcNamedUnit::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_rc1::IfcNamedUnit Ifc4x3_rc1::IfcNamedUnit::initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc1::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12211,7 +12211,7 @@ void Ifc4x3_rc1::IfcNavigationElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[703]); } -void Ifc4x3_rc1::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcNavigationElement Ifc4x3_rc1::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value Ifc4x3_rc1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12219,7 +12219,7 @@ void Ifc4x3_rc1::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[704]); } -void Ifc4x3_rc1::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcNavigationElementType Ifc4x3_rc1::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_rc1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12231,7 +12231,7 @@ std::vector<::Ifc4x3_rc1::IfcRelDefinesByType> Ifc4x3_rc1::IfcObject::IsTypedBy( std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[944], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[710]); } -void Ifc4x3_rc1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc1::IfcObject Ifc4x3_rc1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12244,7 +12244,7 @@ std::vector<::Ifc4x3_rc1::IfcRelAggregates> Ifc4x3_rc1::IfcObjectDefinition::Dec std::vector<::Ifc4x3_rc1::IfcRelAssociates> Ifc4x3_rc1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[919], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[711]); } -void Ifc4x3_rc1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcObjectDefinition Ifc4x3_rc1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_rc1::IfcObjectPlacement Ifc4x3_rc1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcObjectPlacement>(); } @@ -12253,7 +12253,7 @@ void Ifc4x3_rc1::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc1::IfcOb std::vector<::Ifc4x3_rc1::IfcProduct> Ifc4x3_rc1::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[814], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[714]); } -void Ifc4x3_rc1::IfcObjectPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_rc1::IfcObjectPlacement Ifc4x3_rc1::IfcObjectPlacement::initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > > Ifc4x3_rc1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcConstraint>(es); } @@ -12267,7 +12267,7 @@ void Ifc4x3_rc1::IfcObjective::setUserDefinedQualifier(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc1::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[712]); } -void Ifc4x3_rc1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_rc1::IfcObjective Ifc4x3_rc1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > Ifc4x3_rc1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12275,7 +12275,7 @@ void Ifc4x3_rc1::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[717]); } -void Ifc4x3_rc1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc1::IfcOccupant Ifc4x3_rc1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -12283,7 +12283,7 @@ void Ifc4x3_rc1::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc1::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[719]); } -void Ifc4x3_rc1::IfcOffsetCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_rc1::IfcOffsetCurve Ifc4x3_rc1::IfcOffsetCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_rc1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12293,7 +12293,7 @@ void Ifc4x3_rc1::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc1::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[720]); } -void Ifc4x3_rc1::IfcOffsetCurve2D::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_rc1::IfcOffsetCurve2D Ifc4x3_rc1::IfcOffsetCurve2D::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_rc1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12305,7 +12305,7 @@ void Ifc4x3_rc1::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc1::IfcDirect const ifcopenshell::entity& Ifc4x3_rc1::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[721]); } -void Ifc4x3_rc1::IfcOffsetCurve3D::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_rc1::IfcOffsetCurve3D Ifc4x3_rc1::IfcOffsetCurve3D::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > Ifc4x3_rc1::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcDistanceExpression>(es); } @@ -12315,7 +12315,7 @@ void Ifc4x3_rc1::IfcOffsetCurveByDistances::setTag(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_rc1::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[722]); } -void Ifc4x3_rc1::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_rc1::IfcOffsetCurveByDistances Ifc4x3_rc1::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_rc1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12329,13 +12329,13 @@ void Ifc4x3_rc1::IfcOpenCrossProfileDef::setTags(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc1::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[723]); } -void Ifc4x3_rc1::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); } } +Ifc4x3_rc1::IfcOpenCrossProfileDef Ifc4x3_rc1::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_rc1::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[727]); } -void Ifc4x3_rc1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc1::IfcOpenShell Ifc4x3_rc1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12344,13 +12344,13 @@ void Ifc4x3_rc1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_rc1::IfcRelFillsElement> Ifc4x3_rc1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[947], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[724]); } -void Ifc4x3_rc1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcOpeningElement Ifc4x3_rc1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[726]); } -void Ifc4x3_rc1::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcOpeningStandardCase Ifc4x3_rc1::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_rc1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12369,7 +12369,7 @@ std::vector<::Ifc4x3_rc1::IfcOrganizationRelationship> Ifc4x3_rc1::IfcOrganizati std::vector<::Ifc4x3_rc1::IfcPersonAndOrganization> Ifc4x3_rc1::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[750], 1)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[728]); } -void Ifc4x3_rc1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_rc1::IfcOrganization Ifc4x3_rc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcOrganization>(); } @@ -12379,7 +12379,7 @@ void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatedOrganizations(const std: const ifcopenshell::entity& Ifc4x3_rc1::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[729]); } -void Ifc4x3_rc1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_rc1::IfcOrganizationRelationship Ifc4x3_rc1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientationExpression ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcOrientationExpression::LateralAxisDirection() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -12389,7 +12389,7 @@ void Ifc4x3_rc1::IfcOrientationExpression::setVerticalAxisDirection(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcOrientationExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[730]); } -void Ifc4x3_rc1::IfcOrientationExpression::initialize(::Ifc4x3_rc1::IfcDirection v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection v2_VerticalAxisDirection) { set_attribute_value(0, (v1_LateralAxisDirection));set_attribute_value(1, (v2_VerticalAxisDirection)); } +Ifc4x3_rc1::IfcOrientationExpression Ifc4x3_rc1::IfcOrientationExpression::initialize(::Ifc4x3_rc1::IfcDirection v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection v2_VerticalAxisDirection) { set_attribute_value(0, (v1_LateralAxisDirection));set_attribute_value(1, (v2_VerticalAxisDirection));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_rc1::IfcEdge Ifc4x3_rc1::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcEdge>(); } @@ -12399,13 +12399,13 @@ void Ifc4x3_rc1::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc1::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[731]); } -void Ifc4x3_rc1::IfcOrientedEdge::initialize(::Ifc4x3_rc1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_rc1::IfcOrientedEdge Ifc4x3_rc1::IfcOrientedEdge::initialize(::Ifc4x3_rc1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc1::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[732]); } -void Ifc4x3_rc1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc1::IfcOuterBoundaryCurve Ifc4x3_rc1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > Ifc4x3_rc1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12413,7 +12413,7 @@ void Ifc4x3_rc1::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[733]); } -void Ifc4x3_rc1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcOutlet Ifc4x3_rc1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_rc1::IfcOutletTypeEnum::Value Ifc4x3_rc1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12421,7 +12421,7 @@ void Ifc4x3_rc1::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc1::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc1::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[734]); } -void Ifc4x3_rc1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcOutletType Ifc4x3_rc1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_rc1::IfcPersonAndOrganization Ifc4x3_rc1::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPersonAndOrganization>(); } @@ -12443,7 +12443,7 @@ void Ifc4x3_rc1::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc1::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[736]); } -void Ifc4x3_rc1::IfcOwnerHistory::initialize(::Ifc4x3_rc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_rc1::IfcOwnerHistory Ifc4x3_rc1::IfcOwnerHistory::initialize(::Ifc4x3_rc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_rc1::IfcAxis2Placement2D Ifc4x3_rc1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis2Placement2D>(); } @@ -12451,7 +12451,7 @@ void Ifc4x3_rc1::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[737]); } -void Ifc4x3_rc1::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_rc1::IfcParameterizedProfileDef Ifc4x3_rc1::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > Ifc4x3_rc1::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcOrientedEdge>(es); } @@ -12459,7 +12459,7 @@ void Ifc4x3_rc1::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrient const ifcopenshell::entity& Ifc4x3_rc1::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[739]); } -void Ifc4x3_rc1::IfcPath::initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc1::IfcPath Ifc4x3_rc1::IfcPath::initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< bool > Ifc4x3_rc1::IfcPavement::Flexible() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } bool v = get_attribute_value(8); return v; } @@ -12467,7 +12467,7 @@ void Ifc4x3_rc1::IfcPavement::setFlexible(const std::optional< bool >& v) { if ( const ifcopenshell::entity& Ifc4x3_rc1::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[740]); } -void Ifc4x3_rc1::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); } } +Ifc4x3_rc1::IfcPavement Ifc4x3_rc1::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); }; return *this; } // Function implementations for IfcPavementType bool Ifc4x3_rc1::IfcPavementType::Flexible() const { bool v = get_attribute_value(9); return v; } @@ -12475,7 +12475,7 @@ void Ifc4x3_rc1::IfcPavementType::setFlexible(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc1::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[741]); } -void Ifc4x3_rc1::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible)); } +Ifc4x3_rc1::IfcPavementType Ifc4x3_rc1::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -12485,7 +12485,7 @@ void Ifc4x3_rc1::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc1::IfcCurve& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[742]); } -void Ifc4x3_rc1::IfcPcurve::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_rc1::IfcPcurve Ifc4x3_rc1::IfcPcurve::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_rc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12495,7 +12495,7 @@ void Ifc4x3_rc1::IfcPerformanceHistory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc1::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[743]); } -void Ifc4x3_rc1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc1::IfcPerformanceHistory Ifc4x3_rc1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12511,7 +12511,7 @@ void Ifc4x3_rc1::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[746]); } -void Ifc4x3_rc1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc1::IfcPermeableCoveringProperties Ifc4x3_rc1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > Ifc4x3_rc1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12523,7 +12523,7 @@ void Ifc4x3_rc1::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[747]); } -void Ifc4x3_rc1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc1::IfcPermit Ifc4x3_rc1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_rc1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12546,7 +12546,7 @@ void Ifc4x3_rc1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc std::vector<::Ifc4x3_rc1::IfcPersonAndOrganization> Ifc4x3_rc1::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[750], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[749]); } -void Ifc4x3_rc1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_rc1::IfcPerson Ifc4x3_rc1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_rc1::IfcPerson Ifc4x3_rc1::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPerson>(); } @@ -12558,7 +12558,7 @@ void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc1::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[750]); } -void Ifc4x3_rc1::IfcPersonAndOrganization::initialize(::Ifc4x3_rc1::IfcPerson v1_ThePerson, ::Ifc4x3_rc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_rc1::IfcPersonAndOrganization Ifc4x3_rc1::IfcPersonAndOrganization::initialize(::Ifc4x3_rc1::IfcPerson v1_ThePerson, ::Ifc4x3_rc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > Ifc4x3_rc1::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcPhysicalQuantity>(es); } @@ -12572,7 +12572,7 @@ void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setUsage(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[752]); } -void Ifc4x3_rc1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_rc1::IfcPhysicalComplexQuantity Ifc4x3_rc1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_rc1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12584,7 +12584,7 @@ std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcPhysi std::vector<::Ifc4x3_rc1::IfcPhysicalComplexQuantity> Ifc4x3_rc1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[752], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[754]); } -void Ifc4x3_rc1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc1::IfcPhysicalQuantity Ifc4x3_rc1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_rc1::IfcNamedUnit Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcNamedUnit>(); } @@ -12592,7 +12592,7 @@ void Ifc4x3_rc1::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc1::IfcNamed const ifcopenshell::entity& Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[755]); } -void Ifc4x3_rc1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc1::IfcPhysicalSimpleQuantity Ifc4x3_rc1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > Ifc4x3_rc1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12602,7 +12602,7 @@ void Ifc4x3_rc1::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[756]); } -void Ifc4x3_rc1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_rc1::IfcPile Ifc4x3_rc1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_rc1::IfcPileTypeEnum::Value Ifc4x3_rc1::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12610,7 +12610,7 @@ void Ifc4x3_rc1::IfcPileType::setPredefinedType(const ::Ifc4x3_rc1::IfcPileTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[758]); } -void Ifc4x3_rc1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcPileType Ifc4x3_rc1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12618,7 +12618,7 @@ void Ifc4x3_rc1::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[760]); } -void Ifc4x3_rc1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcPipeFitting Ifc4x3_rc1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value Ifc4x3_rc1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12626,7 +12626,7 @@ void Ifc4x3_rc1::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_rc1::IfcPi const ifcopenshell::entity& Ifc4x3_rc1::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[761]); } -void Ifc4x3_rc1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcPipeFittingType Ifc4x3_rc1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12634,7 +12634,7 @@ void Ifc4x3_rc1::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[763]); } -void Ifc4x3_rc1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcPipeSegment Ifc4x3_rc1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12642,7 +12642,7 @@ void Ifc4x3_rc1::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_rc1::IfcPi const ifcopenshell::entity& Ifc4x3_rc1::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[764]); } -void Ifc4x3_rc1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcPipeSegmentType Ifc4x3_rc1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_rc1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12656,7 +12656,7 @@ void Ifc4x3_rc1::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bit const ifcopenshell::entity& Ifc4x3_rc1::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[766]); } -void Ifc4x3_rc1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_rc1::IfcPixelTexture Ifc4x3_rc1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_rc1::IfcCartesianPoint Ifc4x3_rc1::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPoint>(); } @@ -12664,7 +12664,7 @@ void Ifc4x3_rc1::IfcPlacement::setLocation(const ::Ifc4x3_rc1::IfcCartesianPoint const ifcopenshell::entity& Ifc4x3_rc1::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[767]); } -void Ifc4x3_rc1::IfcPlacement::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_rc1::IfcPlacement Ifc4x3_rc1::IfcPlacement::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } @@ -12672,7 +12672,7 @@ void Ifc4x3_rc1::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc1::IfcAxis2Placemen const ifcopenshell::entity& Ifc4x3_rc1::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[768]); } -void Ifc4x3_rc1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_rc1::IfcPlanarBox Ifc4x3_rc1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_rc1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12682,19 +12682,19 @@ void Ifc4x3_rc1::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_rc1::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[769]); } -void Ifc4x3_rc1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_rc1::IfcPlanarExtent Ifc4x3_rc1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_rc1::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[771]); } -void Ifc4x3_rc1::IfcPlane::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc1::IfcPlane Ifc4x3_rc1::IfcPlane::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlant const ifcopenshell::entity& Ifc4x3_rc1::IfcPlant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[773]); } -void Ifc4x3_rc1::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcPlant Ifc4x3_rc1::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > Ifc4x3_rc1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12702,13 +12702,13 @@ void Ifc4x3_rc1::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[774]); } -void Ifc4x3_rc1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcPlate Ifc4x3_rc1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[775]); } -void Ifc4x3_rc1::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcPlateStandardCase Ifc4x3_rc1::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_rc1::IfcPlateTypeEnum::Value Ifc4x3_rc1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12716,13 +12716,13 @@ void Ifc4x3_rc1::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc1::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[776]); } -void Ifc4x3_rc1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcPlateType Ifc4x3_rc1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_rc1::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[778]); } -void Ifc4x3_rc1::IfcPoint::initialize() { } +Ifc4x3_rc1::IfcPoint Ifc4x3_rc1::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -12732,7 +12732,7 @@ void Ifc4x3_rc1::IfcPointOnCurve::setPointParameter(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc1::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[779]); } -void Ifc4x3_rc1::IfcPointOnCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_rc1::IfcPointOnCurve Ifc4x3_rc1::IfcPointOnCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -12744,7 +12744,7 @@ void Ifc4x3_rc1::IfcPointOnSurface::setPointParameterV(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[780]); } -void Ifc4x3_rc1::IfcPointOnSurface::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_rc1::IfcPointOnSurface Ifc4x3_rc1::IfcPointOnSurface::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Ifc4x3_rc1::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } @@ -12752,7 +12752,7 @@ void Ifc4x3_rc1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc1::IfcCar const ifcopenshell::entity& Ifc4x3_rc1::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[785]); } -void Ifc4x3_rc1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_rc1::IfcPolyLoop Ifc4x3_rc1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } @@ -12762,7 +12762,7 @@ void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[782]); } -void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_rc1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12774,7 +12774,7 @@ void Ifc4x3_rc1::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc1::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[783]); } -void Ifc4x3_rc1::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_rc1::IfcPolygonalFaceSet Ifc4x3_rc1::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Ifc4x3_rc1::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcCartesianPoint>(es); } @@ -12782,7 +12782,7 @@ void Ifc4x3_rc1::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc1::IfcCart const ifcopenshell::entity& Ifc4x3_rc1::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[784]); } -void Ifc4x3_rc1::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_rc1::IfcPolyline Ifc4x3_rc1::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPort @@ -12791,7 +12791,7 @@ std::vector<::Ifc4x3_rc1::IfcRelConnectsPorts> Ifc4x3_rc1::IfcPort::ConnectedFro std::vector<::Ifc4x3_rc1::IfcRelConnectsPorts> Ifc4x3_rc1::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[931], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[786]); } -void Ifc4x3_rc1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12799,7 +12799,7 @@ std::vector<::Ifc4x3_rc1::IfcRelContainedInSpatialStructure> Ifc4x3_rc1::IfcPosi std::vector<::Ifc4x3_rc1::IfcRelPositions> Ifc4x3_rc1::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[951], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[787]); } -void Ifc4x3_rc1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc1::IfcPositioningElement Ifc4x3_rc1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12819,19 +12819,19 @@ void Ifc4x3_rc1::IfcPostalAddress::setCountry(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc1::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[792]); } -void Ifc4x3_rc1::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_rc1::IfcPostalAddress Ifc4x3_rc1::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc1::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[794]); } -void Ifc4x3_rc1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc1::IfcPreDefinedColour Ifc4x3_rc1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc1::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[795]); } -void Ifc4x3_rc1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc1::IfcPreDefinedCurveFont Ifc4x3_rc1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_rc1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12839,31 +12839,31 @@ void Ifc4x3_rc1::IfcPreDefinedItem::setName(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc1::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[796]); } -void Ifc4x3_rc1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc1::IfcPreDefinedItem Ifc4x3_rc1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_rc1::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[797]); } -void Ifc4x3_rc1::IfcPreDefinedProperties::initialize() { } +Ifc4x3_rc1::IfcPreDefinedProperties Ifc4x3_rc1::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_rc1::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[798]); } -void Ifc4x3_rc1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcPreDefinedPropertySet Ifc4x3_rc1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc1::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[799]); } -void Ifc4x3_rc1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc1::IfcPreDefinedTextFont Ifc4x3_rc1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[802]); } -void Ifc4x3_rc1::IfcPresentationItem::initialize() { } +Ifc4x3_rc1::IfcPresentationItem Ifc4x3_rc1::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12877,7 +12877,7 @@ void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(const std::option const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[803]); } -void Ifc4x3_rc1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_rc1::IfcPresentationLayerAssignment Ifc4x3_rc1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12891,7 +12891,7 @@ void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[804]); } -void Ifc4x3_rc1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_rc1::IfcPresentationLayerWithStyle Ifc4x3_rc1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_rc1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12899,7 +12899,7 @@ void Ifc4x3_rc1::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[805]); } -void Ifc4x3_rc1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcPresentationStyle Ifc4x3_rc1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcPresentationStyleAssignment std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcPresentationStyleSelect>(es); } @@ -12907,7 +12907,7 @@ void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(const std::vector< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[806]); } -void Ifc4x3_rc1::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles)); } +Ifc4x3_rc1::IfcPresentationStyleAssignment Ifc4x3_rc1::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > Ifc4x3_rc1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12915,7 +12915,7 @@ void Ifc4x3_rc1::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[809]); } -void Ifc4x3_rc1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc1::IfcProcedure Ifc4x3_rc1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value Ifc4x3_rc1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12923,7 +12923,7 @@ void Ifc4x3_rc1::IfcProcedureType::setPredefinedType(const ::Ifc4x3_rc1::IfcProc const ifcopenshell::entity& Ifc4x3_rc1::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[810]); } -void Ifc4x3_rc1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcProcedureType Ifc4x3_rc1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_rc1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12936,7 +12936,7 @@ std::vector<::Ifc4x3_rc1::IfcRelSequence> Ifc4x3_rc1::IfcProcess::IsSuccessorFro std::vector<::Ifc4x3_rc1::IfcRelAssignsToProcess> Ifc4x3_rc1::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[916], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[812]); } -void Ifc4x3_rc1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc1::IfcProcess Ifc4x3_rc1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_rc1::IfcObjectPlacement Ifc4x3_rc1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcObjectPlacement>(); } @@ -12949,7 +12949,7 @@ std::vector<::Ifc4x3_rc1::IfcRelPositions> Ifc4x3_rc1::IfcProduct::PositionedRel std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[953], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[814]); } -void Ifc4x3_rc1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc1::IfcProduct Ifc4x3_rc1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -12957,7 +12957,7 @@ std::vector<::Ifc4x3_rc1::IfcProduct> Ifc4x3_rc1::IfcProductDefinitionShape::Sha std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1010], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[815]); } -void Ifc4x3_rc1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc1::IfcProductDefinitionShape Ifc4x3_rc1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12969,7 +12969,7 @@ void Ifc4x3_rc1::IfcProductRepresentation::setRepresentations(const std::vector< const ifcopenshell::entity& Ifc4x3_rc1::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[816]); } -void Ifc4x3_rc1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc1::IfcProductRepresentation Ifc4x3_rc1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_rc1::IfcProfileTypeEnum::Value Ifc4x3_rc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -12981,7 +12981,7 @@ std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcProfi std::vector<::Ifc4x3_rc1::IfcProfileProperties> Ifc4x3_rc1::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[820], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[819]); } -void Ifc4x3_rc1::IfcProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -12989,19 +12989,19 @@ void Ifc4x3_rc1::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[820]); } -void Ifc4x3_rc1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_rc1::IfcProfileProperties Ifc4x3_rc1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_rc1::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[822]); } -void Ifc4x3_rc1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc1::IfcProject Ifc4x3_rc1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_rc1::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[827]); } -void Ifc4x3_rc1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc1::IfcProjectLibrary Ifc4x3_rc1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -13013,7 +13013,7 @@ void Ifc4x3_rc1::IfcProjectOrder::setLongDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc1::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[828]); } -void Ifc4x3_rc1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc1::IfcProjectOrder Ifc4x3_rc1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13025,7 +13025,7 @@ void Ifc4x3_rc1::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc1::IfcNamedUnit& v const ifcopenshell::entity& Ifc4x3_rc1::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[823]); } -void Ifc4x3_rc1::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc1::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_rc1::IfcProjectedCRS Ifc4x3_rc1::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc1::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13033,7 +13033,7 @@ void Ifc4x3_rc1::IfcProjectionElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[825]); } -void Ifc4x3_rc1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcProjectionElement Ifc4x3_rc1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_rc1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13049,14 +13049,14 @@ std::vector<::Ifc4x3_rc1::IfcResourceConstraintRelationship> Ifc4x3_rc1::IfcProp std::vector<::Ifc4x3_rc1::IfcResourceApprovalRelationship> Ifc4x3_rc1::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[966], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[830]); } -void Ifc4x3_rc1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc1::IfcProperty Ifc4x3_rc1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[831]); } -void Ifc4x3_rc1::IfcPropertyAbstraction::initialize() { } +Ifc4x3_rc1::IfcPropertyAbstraction Ifc4x3_rc1::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcValue>(); } @@ -13070,7 +13070,7 @@ void Ifc4x3_rc1::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[832]); } -void Ifc4x3_rc1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc1::IfcUnit v5_Unit, ::Ifc4x3_rc1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_rc1::IfcPropertyBoundedValue Ifc4x3_rc1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc1::IfcUnit v5_Unit, ::Ifc4x3_rc1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13078,7 +13078,7 @@ std::vector<::Ifc4x3_rc1::IfcRelDeclares> Ifc4x3_rc1::IfcPropertyDefinition::Has std::vector<::Ifc4x3_rc1::IfcRelAssociates> Ifc4x3_rc1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[919], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[833]); } -void Ifc4x3_rc1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcPropertyDefinition Ifc4x3_rc1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_rc1::IfcProperty Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcProperty>(); } @@ -13090,7 +13090,7 @@ void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setExpression(const std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[834]); } -void Ifc4x3_rc1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc1::IfcPropertyDependencyRelationship Ifc4x3_rc1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } @@ -13100,7 +13100,7 @@ void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[835]); } -void Ifc4x3_rc1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_rc1::IfcPropertyEnumeratedValue Ifc4x3_rc1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13112,7 +13112,7 @@ void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[836]); } -void Ifc4x3_rc1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc1::IfcPropertyEnumeration Ifc4x3_rc1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } @@ -13122,7 +13122,7 @@ void Ifc4x3_rc1::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[837]); } -void Ifc4x3_rc1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_ListValues, ::Ifc4x3_rc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc1::IfcPropertyListValue Ifc4x3_rc1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_ListValues, ::Ifc4x3_rc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13132,7 +13132,7 @@ void Ifc4x3_rc1::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[838]); } -void Ifc4x3_rc1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_rc1::IfcPropertyReferenceValue Ifc4x3_rc1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_rc1::IfcProperty > Ifc4x3_rc1::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcProperty>(es); } @@ -13140,7 +13140,7 @@ void Ifc4x3_rc1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[839]); } -void Ifc4x3_rc1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_rc1::IfcPropertySet Ifc4x3_rc1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13149,7 +13149,7 @@ std::vector<::Ifc4x3_rc1::IfcRelDefinesByTemplate> Ifc4x3_rc1::IfcPropertySetDef std::vector<::Ifc4x3_rc1::IfcRelDefinesByProperties> Ifc4x3_rc1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[944], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[840]); } -void Ifc4x3_rc1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcPropertySetDefinition Ifc4x3_rc1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13162,7 +13162,7 @@ void Ifc4x3_rc1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vect std::vector<::Ifc4x3_rc1::IfcRelDefinesByTemplate> Ifc4x3_rc1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[945], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[843]); } -void Ifc4x3_rc1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_rc1::IfcPropertySetTemplate Ifc4x3_rc1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_rc1::IfcValue Ifc4x3_rc1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcValue>(); } @@ -13172,7 +13172,7 @@ void Ifc4x3_rc1::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[845]); } -void Ifc4x3_rc1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_NominalValue, ::Ifc4x3_rc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc1::IfcPropertySingleValue Ifc4x3_rc1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_NominalValue, ::Ifc4x3_rc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } @@ -13190,7 +13190,7 @@ void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[846]); } -void Ifc4x3_rc1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_rc1::IfcPropertyTableValue Ifc4x3_rc1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13198,13 +13198,13 @@ std::vector<::Ifc4x3_rc1::IfcComplexPropertyTemplate> Ifc4x3_rc1::IfcPropertyTem std::vector<::Ifc4x3_rc1::IfcPropertySetTemplate> Ifc4x3_rc1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[843], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[847]); } -void Ifc4x3_rc1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcPropertyTemplate Ifc4x3_rc1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_rc1::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[848]); } -void Ifc4x3_rc1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcPropertyTemplateDefinition Ifc4x3_rc1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13212,7 +13212,7 @@ void Ifc4x3_rc1::IfcProtectiveDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[849]); } -void Ifc4x3_rc1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcProtectiveDevice Ifc4x3_rc1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13220,7 +13220,7 @@ void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[850]); } -void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13228,7 +13228,7 @@ void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[851]); } -void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13236,7 +13236,7 @@ void Ifc4x3_rc1::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[853]); } -void Ifc4x3_rc1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcProtectiveDeviceType Ifc4x3_rc1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4x3_rc1::IfcObjectTypeEnum::Value Ifc4x3_rc1::IfcProxy::ProxyType() const { return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -13246,7 +13246,7 @@ void Ifc4x3_rc1::IfcProxy::setTag(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x3_rc1::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[855]); } -void Ifc4x3_rc1::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4x3_rc1::IfcProxy Ifc4x3_rc1::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > Ifc4x3_rc1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13254,7 +13254,7 @@ void Ifc4x3_rc1::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[856]); } -void Ifc4x3_rc1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcPump Ifc4x3_rc1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_rc1::IfcPumpTypeEnum::Value Ifc4x3_rc1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13262,7 +13262,7 @@ void Ifc4x3_rc1::IfcPumpType::setPredefinedType(const ::Ifc4x3_rc1::IfcPumpTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[857]); } -void Ifc4x3_rc1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcPumpType Ifc4x3_rc1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_rc1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13272,7 +13272,7 @@ void Ifc4x3_rc1::IfcQuantityArea::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[859]); } -void Ifc4x3_rc1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc1::IfcQuantityArea Ifc4x3_rc1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4x3_rc1::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -13282,7 +13282,7 @@ void Ifc4x3_rc1::IfcQuantityCount::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[860]); } -void Ifc4x3_rc1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc1::IfcQuantityCount Ifc4x3_rc1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_rc1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13292,13 +13292,13 @@ void Ifc4x3_rc1::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[861]); } -void Ifc4x3_rc1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc1::IfcQuantityLength Ifc4x3_rc1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[862]); } -void Ifc4x3_rc1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcQuantitySet Ifc4x3_rc1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_rc1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13308,7 +13308,7 @@ void Ifc4x3_rc1::IfcQuantityTime::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[863]); } -void Ifc4x3_rc1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc1::IfcQuantityTime Ifc4x3_rc1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_rc1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13318,7 +13318,7 @@ void Ifc4x3_rc1::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[864]); } -void Ifc4x3_rc1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc1::IfcQuantityVolume Ifc4x3_rc1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_rc1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13328,7 +13328,7 @@ void Ifc4x3_rc1::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[865]); } -void Ifc4x3_rc1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc1::IfcQuantityWeight Ifc4x3_rc1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > Ifc4x3_rc1::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13336,7 +13336,7 @@ void Ifc4x3_rc1::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[867]); } -void Ifc4x3_rc1::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcRail Ifc4x3_rc1::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_rc1::IfcRailTypeEnum::Value Ifc4x3_rc1::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13344,7 +13344,7 @@ void Ifc4x3_rc1::IfcRailType::setPredefinedType(const ::Ifc4x3_rc1::IfcRailTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[871]); } -void Ifc4x3_rc1::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcRailType Ifc4x3_rc1::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > Ifc4x3_rc1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13352,7 +13352,7 @@ void Ifc4x3_rc1::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[868]); } -void Ifc4x3_rc1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcRailing Ifc4x3_rc1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_rc1::IfcRailingTypeEnum::Value Ifc4x3_rc1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13360,13 +13360,13 @@ void Ifc4x3_rc1::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc1::IfcRailin const ifcopenshell::entity& Ifc4x3_rc1::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[869]); } -void Ifc4x3_rc1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcRailingType Ifc4x3_rc1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway const ifcopenshell::entity& Ifc4x3_rc1::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[873]); } -void Ifc4x3_rc1::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc1::IfcRailway Ifc4x3_rc1::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > Ifc4x3_rc1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13374,7 +13374,7 @@ void Ifc4x3_rc1::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[875]); } -void Ifc4x3_rc1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcRamp Ifc4x3_rc1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > Ifc4x3_rc1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13382,7 +13382,7 @@ void Ifc4x3_rc1::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[876]); } -void Ifc4x3_rc1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcRampFlight Ifc4x3_rc1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value Ifc4x3_rc1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13390,7 +13390,7 @@ void Ifc4x3_rc1::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_rc1::IfcRam const ifcopenshell::entity& Ifc4x3_rc1::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[877]); } -void Ifc4x3_rc1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcRampFlightType Ifc4x3_rc1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_rc1::IfcRampTypeEnum::Value Ifc4x3_rc1::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13398,7 +13398,7 @@ void Ifc4x3_rc1::IfcRampType::setPredefinedType(const ::Ifc4x3_rc1::IfcRampTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[879]); } -void Ifc4x3_rc1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcRampType Ifc4x3_rc1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13406,7 +13406,7 @@ void Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vec const ifcopenshell::entity& Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[882]); } -void Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13414,7 +13414,7 @@ void Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::v const ifcopenshell::entity& Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[883]); } -void Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_rc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13426,7 +13426,7 @@ void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[885]); } -void Ifc4x3_rc1::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_rc1::IfcRectangleHollowProfileDef Ifc4x3_rc1::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_rc1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13436,7 +13436,7 @@ void Ifc4x3_rc1::IfcRectangleProfileDef::setYDim(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc1::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[886]); } -void Ifc4x3_rc1::IfcRectangleProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_rc1::IfcRectangleProfileDef Ifc4x3_rc1::IfcRectangleProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_rc1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13448,7 +13448,7 @@ void Ifc4x3_rc1::IfcRectangularPyramid::setHeight(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc1::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[887]); } -void Ifc4x3_rc1::IfcRectangularPyramid::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_rc1::IfcRectangularPyramid Ifc4x3_rc1::IfcRectangularPyramid::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -13468,7 +13468,7 @@ void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[888]); } -void Ifc4x3_rc1::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_rc1::IfcRectangularTrimmedSurface Ifc4x3_rc1::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value Ifc4x3_rc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13490,7 +13490,7 @@ void Ifc4x3_rc1::IfcRecurrencePattern::setTimePeriods(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[889]); } -void Ifc4x3_rc1::IfcRecurrencePattern::initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_rc1::IfcRecurrencePattern Ifc4x3_rc1::IfcRecurrencePattern::initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_rc1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13506,7 +13506,7 @@ void Ifc4x3_rc1::IfcReference::setInnerReference(const ::Ifc4x3_rc1::IfcReferenc const ifcopenshell::entity& Ifc4x3_rc1::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[891]); } -void Ifc4x3_rc1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_rc1::IfcReference Ifc4x3_rc1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > Ifc4x3_rc1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13516,7 +13516,7 @@ void Ifc4x3_rc1::IfcReferent::setRestartDistance(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc1::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[892]); } -void Ifc4x3_rc1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); } } +Ifc4x3_rc1::IfcReferent Ifc4x3_rc1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13526,7 +13526,7 @@ void Ifc4x3_rc1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[895]); } -void Ifc4x3_rc1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_rc1::IfcRegularTimeSeries Ifc4x3_rc1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc1::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13534,7 +13534,7 @@ void Ifc4x3_rc1::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[896]); } -void Ifc4x3_rc1::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcReinforcedSoil Ifc4x3_rc1::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_rc1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13552,7 +13552,7 @@ void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarCount(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[898]); } -void Ifc4x3_rc1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_rc1::IfcReinforcementBarProperties Ifc4x3_rc1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_rc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13562,7 +13562,7 @@ void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDe const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[899]); } -void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_rc1::IfcReinforcementDefinitionProperties Ifc4x3_rc1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_rc1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13578,7 +13578,7 @@ void Ifc4x3_rc1::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[900]); } -void Ifc4x3_rc1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_rc1::IfcReinforcingBar Ifc4x3_rc1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13598,7 +13598,7 @@ void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[903]); } -void Ifc4x3_rc1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_rc1::IfcReinforcingBarType Ifc4x3_rc1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_rc1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13606,13 +13606,13 @@ void Ifc4x3_rc1::IfcReinforcingElement::setSteelGrade(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[905]); } -void Ifc4x3_rc1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_rc1::IfcReinforcingElement Ifc4x3_rc1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[906]); } -void Ifc4x3_rc1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcReinforcingElementType Ifc4x3_rc1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13636,7 +13636,7 @@ void Ifc4x3_rc1::IfcReinforcingMesh::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[907]); } -void Ifc4x3_rc1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_rc1::IfcReinforcingMesh Ifc4x3_rc1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13664,7 +13664,7 @@ void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[908]); } -void Ifc4x3_rc1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_rc1::IfcReinforcingMeshType Ifc4x3_rc1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_rc1::IfcObjectDefinition Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcObjectDefinition>(); } @@ -13674,7 +13674,7 @@ void Ifc4x3_rc1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[910]); } -void Ifc4x3_rc1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc1::IfcRelAggregates Ifc4x3_rc1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } @@ -13684,7 +13684,7 @@ void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[911]); } -void Ifc4x3_rc1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x3_rc1::IfcRelAssigns Ifc4x3_rc1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_rc1::IfcActor Ifc4x3_rc1::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcActor>(); } @@ -13694,7 +13694,7 @@ void Ifc4x3_rc1::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc1::IfcActo const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[912]); } -void Ifc4x3_rc1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_rc1::IfcRelAssignsToActor Ifc4x3_rc1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_rc1::IfcControl Ifc4x3_rc1::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcControl>(); } @@ -13702,7 +13702,7 @@ void Ifc4x3_rc1::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[913]); } -void Ifc4x3_rc1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_rc1::IfcRelAssignsToControl Ifc4x3_rc1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_rc1::IfcGroup Ifc4x3_rc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcGroup>(); } @@ -13710,7 +13710,7 @@ void Ifc4x3_rc1::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc1::IfcG const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[914]); } -void Ifc4x3_rc1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_rc1::IfcRelAssignsToGroup Ifc4x3_rc1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13718,7 +13718,7 @@ void Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[915]); } -void Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_rc1::IfcRelAssignsToGroupByFactor Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_rc1::IfcProcessSelect Ifc4x3_rc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcProcessSelect>(); } @@ -13728,7 +13728,7 @@ void Ifc4x3_rc1::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[916]); } -void Ifc4x3_rc1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_rc1::IfcRelAssignsToProcess Ifc4x3_rc1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_rc1::IfcProductSelect Ifc4x3_rc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcProductSelect>(); } @@ -13736,7 +13736,7 @@ void Ifc4x3_rc1::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[917]); } -void Ifc4x3_rc1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_rc1::IfcRelAssignsToProduct Ifc4x3_rc1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_rc1::IfcResourceSelect Ifc4x3_rc1::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc1::IfcResourceSelect>(); } @@ -13744,7 +13744,7 @@ void Ifc4x3_rc1::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[918]); } -void Ifc4x3_rc1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_rc1::IfcRelAssignsToResource Ifc4x3_rc1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcDefinitionSelect>(es); } @@ -13752,7 +13752,7 @@ void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[919]); } -void Ifc4x3_rc1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_rc1::IfcRelAssociates Ifc4x3_rc1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc1::IfcApproval Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcApproval>(); } @@ -13760,7 +13760,7 @@ void Ifc4x3_rc1::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[920]); } -void Ifc4x3_rc1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_rc1::IfcRelAssociatesApproval Ifc4x3_rc1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc1::IfcClassificationSelect Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcClassificationSelect>(); } @@ -13768,7 +13768,7 @@ void Ifc4x3_rc1::IfcRelAssociatesClassification::setRelatingClassification(const const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[921]); } -void Ifc4x3_rc1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_rc1::IfcRelAssociatesClassification Ifc4x3_rc1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13778,7 +13778,7 @@ void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[922]); } -void Ifc4x3_rc1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_rc1::IfcRelAssociatesConstraint Ifc4x3_rc1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc1::IfcDocumentSelect Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcDocumentSelect>(); } @@ -13786,7 +13786,7 @@ void Ifc4x3_rc1::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[923]); } -void Ifc4x3_rc1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_rc1::IfcRelAssociatesDocument Ifc4x3_rc1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc1::IfcLibrarySelect Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcLibrarySelect>(); } @@ -13794,7 +13794,7 @@ void Ifc4x3_rc1::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[924]); } -void Ifc4x3_rc1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_rc1::IfcRelAssociatesLibrary Ifc4x3_rc1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc1::IfcMaterialSelect Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcMaterialSelect>(); } @@ -13802,7 +13802,7 @@ void Ifc4x3_rc1::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[925]); } -void Ifc4x3_rc1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_rc1::IfcRelAssociatesMaterial Ifc4x3_rc1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -13810,13 +13810,13 @@ void Ifc4x3_rc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[926]); } -void Ifc4x3_rc1::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_rc1::IfcRelAssociatesProfileDef Ifc4x3_rc1::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[928]); } -void Ifc4x3_rc1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcRelConnects Ifc4x3_rc1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } @@ -13828,7 +13828,7 @@ void Ifc4x3_rc1::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[929]); } -void Ifc4x3_rc1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_rc1::IfcRelConnectsElements Ifc4x3_rc1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_rc1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13842,7 +13842,7 @@ void Ifc4x3_rc1::IfcRelConnectsPathElements::setRelatingConnectionType(const ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[930]); } -void Ifc4x3_rc1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_rc1::IfcRelConnectsPathElements Ifc4x3_rc1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcPort>(); } @@ -13852,7 +13852,7 @@ void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[932]); } -void Ifc4x3_rc1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_rc1::IfcRelConnectsPortToElement Ifc4x3_rc1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_rc1::IfcPort Ifc4x3_rc1::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcPort>(); } @@ -13864,7 +13864,7 @@ void Ifc4x3_rc1::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[931]); } -void Ifc4x3_rc1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcPort v6_RelatedPort, ::Ifc4x3_rc1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_rc1::IfcRelConnectsPorts Ifc4x3_rc1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcPort v6_RelatedPort, ::Ifc4x3_rc1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect>(); } @@ -13874,7 +13874,7 @@ void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity( const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[933]); } -void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_rc1::IfcRelConnectsStructuralActivity Ifc4x3_rc1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_rc1::IfcStructuralMember Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcStructuralMember>(); } @@ -13892,7 +13892,7 @@ void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(co const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[934]); } -void Ifc4x3_rc1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_rc1::IfcRelConnectsStructuralMember Ifc4x3_rc1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_rc1::IfcConnectionGeometry Ifc4x3_rc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcConnectionGeometry>(); } @@ -13900,7 +13900,7 @@ void Ifc4x3_rc1::IfcRelConnectsWithEccentricity::setConnectionConstraint(const : const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[935]); } -void Ifc4x3_rc1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_rc1::IfcRelConnectsWithEccentricity Ifc4x3_rc1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_rc1::IfcElement > Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc1::IfcElement>(es); } @@ -13910,7 +13910,7 @@ void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setConnectionType(const st const ifcopenshell::entity& Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[936]); } -void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_rc1::IfcRelConnectsWithRealizingElements Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_rc1::IfcProduct > Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcProduct>(es); } @@ -13920,7 +13920,7 @@ void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatingStructure(const : const ifcopenshell::entity& Ifc4x3_rc1::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[937]); } -void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc1::IfcRelContainedInSpatialStructure Ifc4x3_rc1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcElement>(); } @@ -13930,7 +13930,7 @@ void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector const ifcopenshell::entity& Ifc4x3_rc1::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[938]); } -void Ifc4x3_rc1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc1::IfcRelCoversBldgElements Ifc4x3_rc1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_rc1::IfcSpace Ifc4x3_rc1::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSpace>(); } @@ -13940,7 +13940,7 @@ void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[939]); } -void Ifc4x3_rc1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc1::IfcRelCoversSpaces Ifc4x3_rc1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_rc1::IfcContext Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcContext>(); } @@ -13950,19 +13950,19 @@ void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[940]); } -void Ifc4x3_rc1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_rc1::IfcRelDeclares Ifc4x3_rc1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[941]); } -void Ifc4x3_rc1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcRelDecomposes Ifc4x3_rc1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[942]); } -void Ifc4x3_rc1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcRelDefines Ifc4x3_rc1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_rc1::IfcObject > Ifc4x3_rc1::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObject>(es); } @@ -13972,7 +13972,7 @@ void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[943]); } -void Ifc4x3_rc1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_rc1::IfcRelDefinesByObject Ifc4x3_rc1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > Ifc4x3_rc1::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObjectDefinition>(es); } @@ -13982,7 +13982,7 @@ void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[944]); } -void Ifc4x3_rc1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_rc1::IfcRelDefinesByProperties Ifc4x3_rc1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcPropertySetDefinition>(es); } @@ -13992,7 +13992,7 @@ void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[945]); } -void Ifc4x3_rc1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_rc1::IfcRelDefinesByTemplate Ifc4x3_rc1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_rc1::IfcObject > Ifc4x3_rc1::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcObject>(es); } @@ -14002,7 +14002,7 @@ void Ifc4x3_rc1::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc1::IfcTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[946]); } -void Ifc4x3_rc1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_rc1::IfcRelDefinesByType Ifc4x3_rc1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_rc1::IfcOpeningElement Ifc4x3_rc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcOpeningElement>(); } @@ -14012,7 +14012,7 @@ void Ifc4x3_rc1::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[947]); } -void Ifc4x3_rc1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_rc1::IfcRelFillsElement Ifc4x3_rc1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > Ifc4x3_rc1::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcDistributionControlElement>(es); } @@ -14022,7 +14022,7 @@ void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[948]); } -void Ifc4x3_rc1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_rc1::IfcRelFlowControlElements Ifc4x3_rc1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_rc1::IfcInterferenceSelect Ifc4x3_rc1::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcInterferenceSelect>(); } @@ -14038,7 +14038,7 @@ void Ifc4x3_rc1::IfcRelInterferesElements::setImpliedOrder(const boost::logic::t const ifcopenshell::entity& Ifc4x3_rc1::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[949]); } -void Ifc4x3_rc1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder)); } +Ifc4x3_rc1::IfcRelInterferesElements Ifc4x3_rc1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_rc1::IfcObjectDefinition Ifc4x3_rc1::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcObjectDefinition>(); } @@ -14048,7 +14048,7 @@ void Ifc4x3_rc1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[950]); } -void Ifc4x3_rc1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc1::IfcRelNests Ifc4x3_rc1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_rc1::IfcPositioningElement Ifc4x3_rc1::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcPositioningElement>(); } @@ -14058,7 +14058,7 @@ void Ifc4x3_rc1::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[951]); } -void Ifc4x3_rc1::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc1::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_rc1::IfcRelPositions Ifc4x3_rc1::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc1::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcElement>(); } @@ -14068,7 +14068,7 @@ void Ifc4x3_rc1::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[952]); } -void Ifc4x3_rc1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_rc1::IfcRelProjectsElement Ifc4x3_rc1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect > Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc1::IfcSpatialReferenceSelect>(es); } @@ -14078,7 +14078,7 @@ void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[953]); } -void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc1::IfcRelReferencedInSpatialStructure Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_rc1::IfcProcess Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProcess>(); } @@ -14094,7 +14094,7 @@ void Ifc4x3_rc1::IfcRelSequence::setUserDefinedSequenceType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[954]); } -void Ifc4x3_rc1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_rc1::IfcRelSequence Ifc4x3_rc1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_rc1::IfcSystem Ifc4x3_rc1::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSystem>(); } @@ -14104,7 +14104,7 @@ void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< const ifcopenshell::entity& Ifc4x3_rc1::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[955]); } -void Ifc4x3_rc1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_rc1::IfcRelServicesBuildings Ifc4x3_rc1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_rc1::IfcSpaceBoundarySelect Ifc4x3_rc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcSpaceBoundarySelect>(); } @@ -14120,7 +14120,7 @@ void Ifc4x3_rc1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[956]); } -void Ifc4x3_rc1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_rc1::IfcRelSpaceBoundary Ifc4x3_rc1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel>(); } @@ -14129,7 +14129,7 @@ void Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_r std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[957], 9)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[957]); } -void Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel>(); } @@ -14138,7 +14138,7 @@ void Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::I std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[958], 10)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[958]); } -void Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_rc1::IfcElement Ifc4x3_rc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcElement>(); } @@ -14148,13 +14148,13 @@ void Ifc4x3_rc1::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[959]); } -void Ifc4x3_rc1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_rc1::IfcRelVoidsElement Ifc4x3_rc1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_rc1::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[927]); } -void Ifc4x3_rc1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcRelationship Ifc4x3_rc1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14162,7 +14162,7 @@ void Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::setParamLength(const do const ifcopenshell::entity& Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[960]); } -void Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_rc1::IfcRepresentationContext Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcRepresentationContext>(); } @@ -14179,7 +14179,7 @@ std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcReprese std::vector<::Ifc4x3_rc1::IfcProductRepresentation> Ifc4x3_rc1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[816], 2)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[961]); } -void Ifc4x3_rc1::IfcRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc1::IfcRepresentation Ifc4x3_rc1::IfcRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14190,7 +14190,7 @@ void Ifc4x3_rc1::IfcRepresentationContext::setContextType(const std::optional< s std::vector<::Ifc4x3_rc1::IfcRepresentation> Ifc4x3_rc1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[961], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[962]); } -void Ifc4x3_rc1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_rc1::IfcRepresentationContext Ifc4x3_rc1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14198,7 +14198,7 @@ std::vector<::Ifc4x3_rc1::IfcPresentationLayerAssignment> Ifc4x3_rc1::IfcReprese std::vector<::Ifc4x3_rc1::IfcStyledItem> Ifc4x3_rc1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1122], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[963]); } -void Ifc4x3_rc1::IfcRepresentationItem::initialize() { } +Ifc4x3_rc1::IfcRepresentationItem Ifc4x3_rc1::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_rc1::IfcAxis2Placement Ifc4x3_rc1::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcAxis2Placement>(); } @@ -14210,7 +14210,7 @@ std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcRepresentationMap::HasS std::vector<::Ifc4x3_rc1::IfcMappedItem> Ifc4x3_rc1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[637], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[964]); } -void Ifc4x3_rc1::IfcRepresentationMap::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_rc1::IfcRepresentationMap Ifc4x3_rc1::IfcRepresentationMap::initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_rc1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14221,7 +14221,7 @@ void Ifc4x3_rc1::IfcResource::setLongDescription(const std::optional< std::strin std::vector<::Ifc4x3_rc1::IfcRelAssignsToResource> Ifc4x3_rc1::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[918], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[965]); } -void Ifc4x3_rc1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc1::IfcResource Ifc4x3_rc1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcResourceObjectSelect>(es); } @@ -14231,7 +14231,7 @@ void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(const ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[966]); } -void Ifc4x3_rc1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_rc1::IfcResourceApprovalRelationship Ifc4x3_rc1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc1::IfcConstraint Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcConstraint>(); } @@ -14241,7 +14241,7 @@ void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[967]); } -void Ifc4x3_rc1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc1::IfcResourceConstraintRelationship Ifc4x3_rc1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14251,7 +14251,7 @@ void Ifc4x3_rc1::IfcResourceLevelRelationship::setDescription(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[968]); } -void Ifc4x3_rc1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc1::IfcResourceLevelRelationship Ifc4x3_rc1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14287,7 +14287,7 @@ void Ifc4x3_rc1::IfcResourceTime::setCompletion(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc1::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[971]); } -void Ifc4x3_rc1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_rc1::IfcResourceTime Ifc4x3_rc1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_rc1::IfcAxis1Placement Ifc4x3_rc1::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis1Placement>(); } @@ -14297,7 +14297,7 @@ void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc1::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[972]); } -void Ifc4x3_rc1::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_rc1::IfcRevolvedAreaSolid Ifc4x3_rc1::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -14305,7 +14305,7 @@ void Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc1 const ifcopenshell::entity& Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[973]); } -void Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc1::IfcRevolvedAreaSolidTapered Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_rc1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14315,7 +14315,7 @@ void Ifc4x3_rc1::IfcRightCircularCone::setBottomRadius(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[974]); } -void Ifc4x3_rc1::IfcRightCircularCone::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_rc1::IfcRightCircularCone Ifc4x3_rc1::IfcRightCircularCone::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_rc1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14325,13 +14325,13 @@ void Ifc4x3_rc1::IfcRightCircularCylinder::setRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_rc1::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[975]); } -void Ifc4x3_rc1::IfcRightCircularCylinder::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_rc1::IfcRightCircularCylinder Ifc4x3_rc1::IfcRightCircularCylinder::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoad const ifcopenshell::entity& Ifc4x3_rc1::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[976]); } -void Ifc4x3_rc1::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc1::IfcRoad Ifc4x3_rc1::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > Ifc4x3_rc1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14339,7 +14339,7 @@ void Ifc4x3_rc1::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[979]); } -void Ifc4x3_rc1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcRoof Ifc4x3_rc1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_rc1::IfcRoofTypeEnum::Value Ifc4x3_rc1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14347,7 +14347,7 @@ void Ifc4x3_rc1::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc1::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[980]); } -void Ifc4x3_rc1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcRoofType Ifc4x3_rc1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_rc1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14361,7 +14361,7 @@ void Ifc4x3_rc1::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[982]); } -void Ifc4x3_rc1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc1::IfcRoot Ifc4x3_rc1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_rc1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14369,7 +14369,7 @@ void Ifc4x3_rc1::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_rc1::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[987]); } -void Ifc4x3_rc1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_rc1::IfcRoundedRectangleProfileDef Ifc4x3_rc1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > Ifc4x3_rc1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14379,7 +14379,7 @@ void Ifc4x3_rc1::IfcSIUnit::setName(const ::Ifc4x3_rc1::IfcSIUnitName::Value& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1028]); } -void Ifc4x3_rc1::IfcSIUnit::initialize(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_rc1::IfcSIUnit Ifc4x3_rc1::IfcSIUnit::initialize(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14387,7 +14387,7 @@ void Ifc4x3_rc1::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[988]); } -void Ifc4x3_rc1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSanitaryTerminal Ifc4x3_rc1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14395,7 +14395,7 @@ void Ifc4x3_rc1::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[989]); } -void Ifc4x3_rc1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSanitaryTerminalType Ifc4x3_rc1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14407,13 +14407,13 @@ void Ifc4x3_rc1::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[991]); } -void Ifc4x3_rc1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_rc1::IfcSchedulingTime Ifc4x3_rc1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_rc1::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[992]); } -void Ifc4x3_rc1::IfcSeamCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc1::IfcSeamCurve Ifc4x3_rc1::IfcSeamCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_rc1::IfcSectionTypeEnum::Value Ifc4x3_rc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14425,7 +14425,7 @@ void Ifc4x3_rc1::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc1::IfcProf const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[999]); } -void Ifc4x3_rc1::IfcSectionProperties::initialize(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_rc1::IfcSectionProperties Ifc4x3_rc1::IfcSectionProperties::initialize(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_rc1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14443,7 +14443,7 @@ void Ifc4x3_rc1::IfcSectionReinforcementProperties::setCrossSectionReinforcement const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1000]); } -void Ifc4x3_rc1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_rc1::IfcSectionReinforcementProperties Ifc4x3_rc1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -14453,7 +14453,7 @@ void Ifc4x3_rc1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[994]); } -void Ifc4x3_rc1::IfcSectionedSolid::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_rc1::IfcSectionedSolid Ifc4x3_rc1::IfcSectionedSolid::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > Ifc4x3_rc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc1::IfcDistanceExpression>(es); } @@ -14463,7 +14463,7 @@ void Ifc4x3_rc1::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[995]); } -void Ifc4x3_rc1::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc1::IfcSectionedSolidHorizontal Ifc4x3_rc1::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_rc1::IfcCompositeCurve Ifc4x3_rc1::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCompositeCurve>(); } @@ -14475,7 +14475,7 @@ void Ifc4x3_rc1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[996]); } -void Ifc4x3_rc1::IfcSectionedSpine::initialize(::Ifc4x3_rc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_rc1::IfcSectionedSpine Ifc4x3_rc1::IfcSectionedSpine::initialize(::Ifc4x3_rc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -14489,7 +14489,7 @@ void Ifc4x3_rc1::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_ const ifcopenshell::entity& Ifc4x3_rc1::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[997]); } -void Ifc4x3_rc1::IfcSectionedSurface::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc1::IfcSectionedSurface Ifc4x3_rc1::IfcSectionedSurface::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > Ifc4x3_rc1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14497,7 +14497,7 @@ void Ifc4x3_rc1::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1003]); } -void Ifc4x3_rc1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSensor Ifc4x3_rc1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_rc1::IfcSensorTypeEnum::Value Ifc4x3_rc1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14505,7 +14505,7 @@ void Ifc4x3_rc1::IfcSensorType::setPredefinedType(const ::Ifc4x3_rc1::IfcSensorT const ifcopenshell::entity& Ifc4x3_rc1::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1004]); } -void Ifc4x3_rc1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSensorType Ifc4x3_rc1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14513,7 +14513,7 @@ void Ifc4x3_rc1::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1007]); } -void Ifc4x3_rc1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcShadingDevice Ifc4x3_rc1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14521,7 +14521,7 @@ void Ifc4x3_rc1::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1008]); } -void Ifc4x3_rc1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcShadingDeviceType Ifc4x3_rc1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_rc1::IfcShapeModel > Ifc4x3_rc1::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcShapeModel>(es); } @@ -14538,20 +14538,20 @@ void Ifc4x3_rc1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_ std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1010]); } -void Ifc4x3_rc1::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_rc1::IfcShapeAspect Ifc4x3_rc1::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_rc1::IfcShapeAspect> Ifc4x3_rc1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1010], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1011]); } -void Ifc4x3_rc1::IfcShapeModel::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc1::IfcShapeModel Ifc4x3_rc1::IfcShapeModel::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_rc1::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1012]); } -void Ifc4x3_rc1::IfcShapeRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc1::IfcShapeRepresentation Ifc4x3_rc1::IfcShapeRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_rc1::IfcShell > Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcShell>(es); } @@ -14559,7 +14559,7 @@ void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1015]); } -void Ifc4x3_rc1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_rc1::IfcShellBasedSurfaceModel Ifc4x3_rc1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > Ifc4x3_rc1::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14567,7 +14567,7 @@ void Ifc4x3_rc1::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1016]); } -void Ifc4x3_rc1::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSign Ifc4x3_rc1::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_rc1::IfcSignTypeEnum::Value Ifc4x3_rc1::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14575,7 +14575,7 @@ void Ifc4x3_rc1::IfcSignType::setPredefinedType(const ::Ifc4x3_rc1::IfcSignTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1020]); } -void Ifc4x3_rc1::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSignType Ifc4x3_rc1::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > Ifc4x3_rc1::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14583,7 +14583,7 @@ void Ifc4x3_rc1::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1017]); } -void Ifc4x3_rc1::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSignal Ifc4x3_rc1::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_rc1::IfcSignalTypeEnum::Value Ifc4x3_rc1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14591,13 +14591,13 @@ void Ifc4x3_rc1::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc1::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc1::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1018]); } -void Ifc4x3_rc1::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSignalType Ifc4x3_rc1::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_rc1::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1022]); } -void Ifc4x3_rc1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc1::IfcSimpleProperty Ifc4x3_rc1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14619,7 +14619,7 @@ void Ifc4x3_rc1::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1023]); } -void Ifc4x3_rc1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_rc1::IfcSimplePropertyTemplate Ifc4x3_rc1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14635,7 +14635,7 @@ void Ifc4x3_rc1::IfcSite::setSiteAddress(const ::Ifc4x3_rc1::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x3_rc1::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1027]); } -void Ifc4x3_rc1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_rc1::IfcSite Ifc4x3_rc1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > Ifc4x3_rc1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14643,19 +14643,19 @@ void Ifc4x3_rc1::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1031]); } -void Ifc4x3_rc1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSlab Ifc4x3_rc1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4x3_rc1::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1032]); } -void Ifc4x3_rc1::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSlabElementedCase Ifc4x3_rc1::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1033]); } -void Ifc4x3_rc1::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSlabStandardCase Ifc4x3_rc1::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_rc1::IfcSlabTypeEnum::Value Ifc4x3_rc1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14663,7 +14663,7 @@ void Ifc4x3_rc1::IfcSlabType::setPredefinedType(const ::Ifc4x3_rc1::IfcSlabTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1034]); } -void Ifc4x3_rc1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSlabType Ifc4x3_rc1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14675,7 +14675,7 @@ void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageZ(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1036]); } -void Ifc4x3_rc1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_rc1::IfcSlippageConnectionCondition Ifc4x3_rc1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14683,7 +14683,7 @@ void Ifc4x3_rc1::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1037]); } -void Ifc4x3_rc1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSolarDevice Ifc4x3_rc1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14691,19 +14691,19 @@ void Ifc4x3_rc1::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc1::IfcSo const ifcopenshell::entity& Ifc4x3_rc1::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1038]); } -void Ifc4x3_rc1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSolarDeviceType Ifc4x3_rc1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_rc1::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1041]); } -void Ifc4x3_rc1::IfcSolidModel::initialize() { } +Ifc4x3_rc1::IfcSolidModel Ifc4x3_rc1::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSolidStratum const ifcopenshell::entity& Ifc4x3_rc1::IfcSolidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1043]); } -void Ifc4x3_rc1::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcSolidStratum Ifc4x3_rc1::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > Ifc4x3_rc1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14715,7 +14715,7 @@ std::vector<::Ifc4x3_rc1::IfcRelCoversSpaces> Ifc4x3_rc1::IfcSpace::HasCoverings std::vector<::Ifc4x3_rc1::IfcRelSpaceBoundary> Ifc4x3_rc1::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[956], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1048]); } -void Ifc4x3_rc1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_rc1::IfcSpace Ifc4x3_rc1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14723,7 +14723,7 @@ void Ifc4x3_rc1::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1050]); } -void Ifc4x3_rc1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSpaceHeater Ifc4x3_rc1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14731,7 +14731,7 @@ void Ifc4x3_rc1::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_rc1::IfcSp const ifcopenshell::entity& Ifc4x3_rc1::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1051]); } -void Ifc4x3_rc1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSpaceHeaterType Ifc4x3_rc1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value Ifc4x3_rc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14741,7 +14741,7 @@ void Ifc4x3_rc1::IfcSpaceType::setLongName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_rc1::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1053]); } -void Ifc4x3_rc1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc1::IfcSpaceType Ifc4x3_rc1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_rc1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14752,7 +14752,7 @@ std::vector<::Ifc4x3_rc1::IfcRelServicesBuildings> Ifc4x3_rc1::IfcSpatialElement std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[953], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1055]); } -void Ifc4x3_rc1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc1::IfcSpatialElement Ifc4x3_rc1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_rc1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14760,7 +14760,7 @@ void Ifc4x3_rc1::IfcSpatialElementType::setElementType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1056]); } -void Ifc4x3_rc1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcSpatialElementType Ifc4x3_rc1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > Ifc4x3_rc1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14768,13 +14768,13 @@ void Ifc4x3_rc1::IfcSpatialStructureElement::setCompositionType(const std::optio const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1058]); } -void Ifc4x3_rc1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc1::IfcSpatialStructureElement Ifc4x3_rc1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1059]); } -void Ifc4x3_rc1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc1::IfcSpatialStructureElementType Ifc4x3_rc1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14782,7 +14782,7 @@ void Ifc4x3_rc1::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1060]); } -void Ifc4x3_rc1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSpatialZone Ifc4x3_rc1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14792,7 +14792,7 @@ void Ifc4x3_rc1::IfcSpatialZoneType::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc1::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1061]); } -void Ifc4x3_rc1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc1::IfcSpatialZoneType Ifc4x3_rc1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_rc1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14800,7 +14800,7 @@ void Ifc4x3_rc1::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc1::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1067]); } -void Ifc4x3_rc1::IfcSphere::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc1::IfcSphere Ifc4x3_rc1::IfcSphere::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_rc1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14808,7 +14808,7 @@ void Ifc4x3_rc1::IfcSphericalSurface::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc1::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1068]); } -void Ifc4x3_rc1::IfcSphericalSurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc1::IfcSphericalSurface Ifc4x3_rc1::IfcSphericalSurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14816,7 +14816,7 @@ void Ifc4x3_rc1::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1069]); } -void Ifc4x3_rc1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcStackTerminal Ifc4x3_rc1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value Ifc4x3_rc1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14824,7 +14824,7 @@ void Ifc4x3_rc1::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1070]); } -void Ifc4x3_rc1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcStackTerminalType Ifc4x3_rc1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > Ifc4x3_rc1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14832,7 +14832,7 @@ void Ifc4x3_rc1::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1072]); } -void Ifc4x3_rc1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcStair Ifc4x3_rc1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14848,7 +14848,7 @@ void Ifc4x3_rc1::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1073]); } -void Ifc4x3_rc1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc1::IfcStairFlight Ifc4x3_rc1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value Ifc4x3_rc1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14856,7 +14856,7 @@ void Ifc4x3_rc1::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_rc1::IfcSt const ifcopenshell::entity& Ifc4x3_rc1::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1074]); } -void Ifc4x3_rc1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcStairFlightType Ifc4x3_rc1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_rc1::IfcStairTypeEnum::Value Ifc4x3_rc1::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14864,7 +14864,7 @@ void Ifc4x3_rc1::IfcStairType::setPredefinedType(const ::Ifc4x3_rc1::IfcStairTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1076]); } -void Ifc4x3_rc1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcStairType Ifc4x3_rc1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_rc1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -14872,7 +14872,7 @@ void Ifc4x3_rc1::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1079]); } -void Ifc4x3_rc1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc1::IfcStructuralAction Ifc4x3_rc1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_rc1::IfcStructuralLoad Ifc4x3_rc1::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcStructuralLoad>(); } @@ -14883,7 +14883,7 @@ void Ifc4x3_rc1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc1::Ifc std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralActivity> Ifc4x3_rc1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[933], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1080]); } -void Ifc4x3_rc1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc1::IfcStructuralActivity Ifc4x3_rc1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -14899,7 +14899,7 @@ void Ifc4x3_rc1::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1082]); } -void Ifc4x3_rc1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_rc1::IfcStructuralAnalysisModel Ifc4x3_rc1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_rc1::IfcBoundaryCondition Ifc4x3_rc1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc1::IfcBoundaryCondition>(); } @@ -14908,7 +14908,7 @@ void Ifc4x3_rc1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc1 std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralMember> Ifc4x3_rc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[934], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1083]); } -void Ifc4x3_rc1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc1::IfcStructuralConnection Ifc4x3_rc1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_rc1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14916,7 +14916,7 @@ void Ifc4x3_rc1::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1084]); } -void Ifc4x3_rc1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcStructuralConnectionCondition Ifc4x3_rc1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -14926,7 +14926,7 @@ void Ifc4x3_rc1::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1085]); } -void Ifc4x3_rc1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcStructuralCurveAction Ifc4x3_rc1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -14934,7 +14934,7 @@ void Ifc4x3_rc1::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc1::IfcDi const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1087]); } -void Ifc4x3_rc1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc1::IfcStructuralCurveConnection Ifc4x3_rc1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -14944,13 +14944,13 @@ void Ifc4x3_rc1::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc1::IfcDirect const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1088]); } -void Ifc4x3_rc1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc1::IfcStructuralCurveMember Ifc4x3_rc1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1090]); } -void Ifc4x3_rc1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc1::IfcStructuralCurveMemberVarying Ifc4x3_rc1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -14958,20 +14958,20 @@ void Ifc4x3_rc1::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1091]); } -void Ifc4x3_rc1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcStructuralCurveReaction Ifc4x3_rc1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralActivity> Ifc4x3_rc1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[933], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1092]); } -void Ifc4x3_rc1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc1::IfcStructuralItem Ifc4x3_rc1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1093]); } -void Ifc4x3_rc1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcStructuralLinearAction Ifc4x3_rc1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_rc1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14979,7 +14979,7 @@ void Ifc4x3_rc1::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1094]); } -void Ifc4x3_rc1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcStructuralLoad Ifc4x3_rc1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -14987,7 +14987,7 @@ void Ifc4x3_rc1::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1095]); } -void Ifc4x3_rc1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_rc1::IfcStructuralLoadCase Ifc4x3_rc1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > Ifc4x3_rc1::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcStructuralLoadOrResult>(es); } @@ -14997,7 +14997,7 @@ void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setLocations(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1096]); } -void Ifc4x3_rc1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_rc1::IfcStructuralLoadConfiguration Ifc4x3_rc1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15015,7 +15015,7 @@ std::vector<::Ifc4x3_rc1::IfcStructuralResultGroup> Ifc4x3_rc1::IfcStructuralLoa std::vector<::Ifc4x3_rc1::IfcStructuralAnalysisModel> Ifc4x3_rc1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1082], 7)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1097]); } -void Ifc4x3_rc1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_rc1::IfcStructuralLoadGroup Ifc4x3_rc1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15033,13 +15033,13 @@ void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optio const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1098]); } -void Ifc4x3_rc1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_rc1::IfcStructuralLoadLinearForce Ifc4x3_rc1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1099]); } -void Ifc4x3_rc1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcStructuralLoadOrResult Ifc4x3_rc1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15051,7 +15051,7 @@ void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::option const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1100]); } -void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_rc1::IfcStructuralLoadPlanarForce Ifc4x3_rc1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15069,7 +15069,7 @@ void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementR const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1101]); } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15077,7 +15077,7 @@ void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(co const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1102]); } -void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15095,7 +15095,7 @@ void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1103]); } -void Ifc4x3_rc1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_rc1::IfcStructuralLoadSingleForce Ifc4x3_rc1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15103,13 +15103,13 @@ void Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1104]); } -void Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1105]); } -void Ifc4x3_rc1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc1::IfcStructuralLoadStatic Ifc4x3_rc1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15121,26 +15121,26 @@ void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1106]); } -void Ifc4x3_rc1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_rc1::IfcStructuralLoadTemperature Ifc4x3_rc1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_rc1::IfcRelConnectsStructuralMember> Ifc4x3_rc1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[934], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1107]); } -void Ifc4x3_rc1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc1::IfcStructuralMember Ifc4x3_rc1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1108]); } -void Ifc4x3_rc1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcStructuralPlanarAction Ifc4x3_rc1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1109]); } -void Ifc4x3_rc1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc1::IfcStructuralPointAction Ifc4x3_rc1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_rc1::IfcAxis2Placement3D Ifc4x3_rc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcAxis2Placement3D>(); } @@ -15148,19 +15148,19 @@ void Ifc4x3_rc1::IfcStructuralPointConnection::setConditionCoordinateSystem(cons const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1110]); } -void Ifc4x3_rc1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_rc1::IfcStructuralPointConnection Ifc4x3_rc1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1111]); } -void Ifc4x3_rc1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc1::IfcStructuralPointReaction Ifc4x3_rc1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1112]); } -void Ifc4x3_rc1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc1::IfcStructuralReaction Ifc4x3_rc1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15173,7 +15173,7 @@ void Ifc4x3_rc1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attr std::vector<::Ifc4x3_rc1::IfcStructuralAnalysisModel> Ifc4x3_rc1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1082], 8)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1113]); } -void Ifc4x3_rc1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_rc1::IfcStructuralResultGroup Ifc4x3_rc1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15183,13 +15183,13 @@ void Ifc4x3_rc1::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1114]); } -void Ifc4x3_rc1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcStructuralSurfaceAction Ifc4x3_rc1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1116]); } -void Ifc4x3_rc1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc1::IfcStructuralSurfaceConnection Ifc4x3_rc1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15199,13 +15199,13 @@ void Ifc4x3_rc1::IfcStructuralSurfaceMember::setThickness(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1117]); } -void Ifc4x3_rc1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc1::IfcStructuralSurfaceMember Ifc4x3_rc1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1119]); } -void Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15213,13 +15213,13 @@ void Ifc4x3_rc1::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1120]); } -void Ifc4x3_rc1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcStructuralSurfaceReaction Ifc4x3_rc1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_rc1::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1124]); } -void Ifc4x3_rc1::IfcStyleModel::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc1::IfcStyleModel Ifc4x3_rc1::IfcStyleModel::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_rc1::IfcRepresentationItem Ifc4x3_rc1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc1::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcRepresentationItem>(); } @@ -15231,13 +15231,13 @@ void Ifc4x3_rc1::IfcStyledItem::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1122]); } -void Ifc4x3_rc1::IfcStyledItem::initialize(::Ifc4x3_rc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc1::IfcStyledItem Ifc4x3_rc1::IfcStyledItem::initialize(::Ifc4x3_rc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_rc1::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1123]); } -void Ifc4x3_rc1::IfcStyledRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc1::IfcStyledRepresentation Ifc4x3_rc1::IfcStyledRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15245,7 +15245,7 @@ void Ifc4x3_rc1::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1125]); } -void Ifc4x3_rc1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc1::IfcSubContractResource Ifc4x3_rc1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15253,7 +15253,7 @@ void Ifc4x3_rc1::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1126]); } -void Ifc4x3_rc1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc1::IfcSubContractResourceType Ifc4x3_rc1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_rc1::IfcEdge Ifc4x3_rc1::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcEdge>(); } @@ -15261,13 +15261,13 @@ void Ifc4x3_rc1::IfcSubedge::setParentEdge(const ::Ifc4x3_rc1::IfcEdge& v) { set const ifcopenshell::entity& Ifc4x3_rc1::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1128]); } -void Ifc4x3_rc1::IfcSubedge::initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_rc1::IfcSubedge Ifc4x3_rc1::IfcSubedge::initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_rc1::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1129]); } -void Ifc4x3_rc1::IfcSurface::initialize() { } +Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -15279,7 +15279,7 @@ void Ifc4x3_rc1::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1130]); } -void Ifc4x3_rc1::IfcSurfaceCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc1::IfcSurfaceCurve Ifc4x3_rc1::IfcSurfaceCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_rc1::IfcSurface Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc1::IfcSurface>(); } @@ -15287,7 +15287,7 @@ void Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1131]); } -void Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix)); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15295,7 +15295,7 @@ void Ifc4x3_rc1::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1132]); } -void Ifc4x3_rc1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSurfaceFeature Ifc4x3_rc1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -15305,7 +15305,7 @@ void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1134]); } -void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_rc1::IfcAxis1Placement Ifc4x3_rc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcAxis1Placement>(); } @@ -15313,7 +15313,7 @@ void Ifc4x3_rc1::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1135]); } -void Ifc4x3_rc1::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_rc1::IfcSurfaceOfRevolution Ifc4x3_rc1::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15325,7 +15325,7 @@ void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setShearReinforcement(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1137]); } -void Ifc4x3_rc1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_rc1::IfcSurfaceReinforcementArea Ifc4x3_rc1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc1::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15335,7 +15335,7 @@ void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1139]); } -void Ifc4x3_rc1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_rc1::IfcSurfaceStyle Ifc4x3_rc1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcColourRgb>(); } @@ -15349,7 +15349,7 @@ void Ifc4x3_rc1::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1141]); } -void Ifc4x3_rc1::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_rc1::IfcSurfaceStyleLighting Ifc4x3_rc1::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15359,7 +15359,7 @@ void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optio const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1142]); } -void Ifc4x3_rc1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_rc1::IfcSurfaceStyleRefraction Ifc4x3_rc1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_rc1::IfcColourOrFactor Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc1::IfcColourOrFactor>(); } @@ -15379,7 +15379,7 @@ void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1143]); } -void Ifc4x3_rc1::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_rc1::IfcSurfaceStyleRendering Ifc4x3_rc1::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_rc1::IfcColourRgb Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcColourRgb>(); } @@ -15389,7 +15389,7 @@ void Ifc4x3_rc1::IfcSurfaceStyleShading::setTransparency(const std::optional< do const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1144]); } -void Ifc4x3_rc1::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_rc1::IfcSurfaceStyleShading Ifc4x3_rc1::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcSurfaceTexture>(es); } @@ -15397,7 +15397,7 @@ void Ifc4x3_rc1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1145]); } -void Ifc4x3_rc1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_rc1::IfcSurfaceStyleWithTextures Ifc4x3_rc1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15415,7 +15415,7 @@ std::vector<::Ifc4x3_rc1::IfcTextureCoordinate> Ifc4x3_rc1::IfcSurfaceTexture::I std::vector<::Ifc4x3_rc1::IfcSurfaceStyleWithTextures> Ifc4x3_rc1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[1145], 0)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1146]); } -void Ifc4x3_rc1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_rc1::IfcSurfaceTexture Ifc4x3_rc1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -15425,7 +15425,7 @@ void Ifc4x3_rc1::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc1::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc1::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1147]); } -void Ifc4x3_rc1::IfcSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc1::IfcSweptAreaSolid Ifc4x3_rc1::IfcSweptAreaSolid::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -15441,7 +15441,7 @@ void Ifc4x3_rc1::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc1::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1148]); } -void Ifc4x3_rc1::IfcSweptDiskSolid::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_rc1::IfcSweptDiskSolid Ifc4x3_rc1::IfcSweptDiskSolid::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15449,7 +15449,7 @@ void Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1149]); } -void Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_rc1::IfcSweptDiskSolidPolygonal Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_rc1::IfcProfileDef Ifc4x3_rc1::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcProfileDef>(); } @@ -15459,7 +15459,7 @@ void Ifc4x3_rc1::IfcSweptSurface::setPosition(const ::Ifc4x3_rc1::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_rc1::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1150]); } -void Ifc4x3_rc1::IfcSweptSurface::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc1::IfcSweptSurface Ifc4x3_rc1::IfcSweptSurface::initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15467,7 +15467,7 @@ void Ifc4x3_rc1::IfcSwitchingDevice::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1151]); } -void Ifc4x3_rc1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSwitchingDevice Ifc4x3_rc1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15475,7 +15475,7 @@ void Ifc4x3_rc1::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1152]); } -void Ifc4x3_rc1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcSwitchingDeviceType Ifc4x3_rc1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15483,7 +15483,7 @@ std::vector<::Ifc4x3_rc1::IfcRelServicesBuildings> Ifc4x3_rc1::IfcSystem::Servic std::vector<::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure> Ifc4x3_rc1::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[953], 4)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1154]); } -void Ifc4x3_rc1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc1::IfcSystem Ifc4x3_rc1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15491,7 +15491,7 @@ void Ifc4x3_rc1::IfcSystemFurnitureElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc1::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1155]); } -void Ifc4x3_rc1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcSystemFurnitureElement Ifc4x3_rc1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15499,7 +15499,7 @@ void Ifc4x3_rc1::IfcSystemFurnitureElementType::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc1::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1156]); } -void Ifc4x3_rc1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc1::IfcSystemFurnitureElementType Ifc4x3_rc1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_rc1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15523,7 +15523,7 @@ void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc1::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1241]); } -void Ifc4x3_rc1::IfcTShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_rc1::IfcTShapeProfileDef Ifc4x3_rc1::IfcTShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_rc1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15535,7 +15535,7 @@ void Ifc4x3_rc1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1158]); } -void Ifc4x3_rc1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_rc1::IfcTable Ifc4x3_rc1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15551,7 +15551,7 @@ void Ifc4x3_rc1::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc1::IfcReferen const ifcopenshell::entity& Ifc4x3_rc1::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1159]); } -void Ifc4x3_rc1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit v4_Unit, ::Ifc4x3_rc1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_rc1::IfcTableColumn Ifc4x3_rc1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit v4_Unit, ::Ifc4x3_rc1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } @@ -15561,7 +15561,7 @@ void Ifc4x3_rc1::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_rc1::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1160]); } -void Ifc4x3_rc1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_rc1::IfcTableRow Ifc4x3_rc1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > Ifc4x3_rc1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15569,7 +15569,7 @@ void Ifc4x3_rc1::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1161]); } -void Ifc4x3_rc1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcTank Ifc4x3_rc1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_rc1::IfcTankTypeEnum::Value Ifc4x3_rc1::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15577,7 +15577,7 @@ void Ifc4x3_rc1::IfcTankType::setPredefinedType(const ::Ifc4x3_rc1::IfcTankTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1162]); } -void Ifc4x3_rc1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTankType Ifc4x3_rc1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_rc1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15595,7 +15595,7 @@ void Ifc4x3_rc1::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1164]); } -void Ifc4x3_rc1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc1::IfcTask Ifc4x3_rc1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > Ifc4x3_rc1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15635,7 +15635,7 @@ void Ifc4x3_rc1::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1166]); } -void Ifc4x3_rc1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_rc1::IfcTaskTime Ifc4x3_rc1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_rc1::IfcRecurrencePattern Ifc4x3_rc1::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_rc1::IfcRecurrencePattern>(); } @@ -15643,7 +15643,7 @@ void Ifc4x3_rc1::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc1::IfcRecu const ifcopenshell::entity& Ifc4x3_rc1::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1167]); } -void Ifc4x3_rc1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_rc1::IfcTaskTimeRecurring Ifc4x3_rc1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_rc1::IfcTaskTypeEnum::Value Ifc4x3_rc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15653,7 +15653,7 @@ void Ifc4x3_rc1::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc1::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1168]); } -void Ifc4x3_rc1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_rc1::IfcTaskType Ifc4x3_rc1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15671,7 +15671,7 @@ void Ifc4x3_rc1::IfcTelecomAddress::setMessagingIDs(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc1::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1170]); } -void Ifc4x3_rc1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_rc1::IfcTelecomAddress Ifc4x3_rc1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > Ifc4x3_rc1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15693,7 +15693,7 @@ void Ifc4x3_rc1::IfcTendon::setMinCurvatureRadius(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc1::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1173]); } -void Ifc4x3_rc1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_rc1::IfcTendon Ifc4x3_rc1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15701,7 +15701,7 @@ void Ifc4x3_rc1::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1174]); } -void Ifc4x3_rc1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc1::IfcTendonAnchor Ifc4x3_rc1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15709,7 +15709,7 @@ void Ifc4x3_rc1::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_rc1::IfcT const ifcopenshell::entity& Ifc4x3_rc1::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1175]); } -void Ifc4x3_rc1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTendonAnchorType Ifc4x3_rc1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15717,7 +15717,7 @@ void Ifc4x3_rc1::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_rc1::IfcTend const ifcopenshell::entity& Ifc4x3_rc1::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1177]); } -void Ifc4x3_rc1::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTendonConduit Ifc4x3_rc1::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15725,7 +15725,7 @@ void Ifc4x3_rc1::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1178]); } -void Ifc4x3_rc1::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTendonConduitType Ifc4x3_rc1::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_rc1::IfcTendonTypeEnum::Value Ifc4x3_rc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15739,7 +15739,7 @@ void Ifc4x3_rc1::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc1::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1180]); } -void Ifc4x3_rc1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_rc1::IfcTendonType Ifc4x3_rc1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_rc1::IfcCartesianPointList3D Ifc4x3_rc1::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCartesianPointList3D>(); } @@ -15749,13 +15749,13 @@ std::vector<::Ifc4x3_rc1::IfcIndexedColourMap> Ifc4x3_rc1::IfcTessellatedFaceSet std::vector<::Ifc4x3_rc1::IfcIndexedTextureMap> Ifc4x3_rc1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[554], 1)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1182]); } -void Ifc4x3_rc1::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc1::IfcTessellatedFaceSet Ifc4x3_rc1::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_rc1::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1183]); } -void Ifc4x3_rc1::IfcTessellatedItem::initialize() { } +Ifc4x3_rc1::IfcTessellatedItem Ifc4x3_rc1::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_rc1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15767,7 +15767,7 @@ void Ifc4x3_rc1::IfcTextLiteral::setPath(const ::Ifc4x3_rc1::IfcTextPath::Value& const ifcopenshell::entity& Ifc4x3_rc1::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1189]); } -void Ifc4x3_rc1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_rc1::IfcTextLiteral Ifc4x3_rc1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_rc1::IfcPlanarExtent Ifc4x3_rc1::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcPlanarExtent>(); } @@ -15777,7 +15777,7 @@ void Ifc4x3_rc1::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1190]); } -void Ifc4x3_rc1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_rc1::IfcTextLiteralWithExtent Ifc4x3_rc1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_rc1::IfcTextStyleForDefinedFont Ifc4x3_rc1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc1::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc1::IfcTextStyleForDefinedFont>(); } @@ -15791,7 +15791,7 @@ void Ifc4x3_rc1::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1192]); } -void Ifc4x3_rc1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc1::IfcTextStyle Ifc4x3_rc1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_rc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15807,7 +15807,7 @@ void Ifc4x3_rc1::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc1::IfcSizeS const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1193]); } -void Ifc4x3_rc1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_rc1::IfcTextStyleFontModel Ifc4x3_rc1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_rc1::IfcColour Ifc4x3_rc1::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcColour>(); } @@ -15817,7 +15817,7 @@ void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1194]); } -void Ifc4x3_rc1::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc1::IfcColour v1_Colour, ::Ifc4x3_rc1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_rc1::IfcTextStyleForDefinedFont Ifc4x3_rc1::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc1::IfcColour v1_Colour, ::Ifc4x3_rc1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_rc1::IfcSizeSelect Ifc4x3_rc1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcSizeSelect>(); } @@ -15837,7 +15837,7 @@ void Ifc4x3_rc1::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc1::IfcSiz const ifcopenshell::entity& Ifc4x3_rc1::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1195]); } -void Ifc4x3_rc1::IfcTextStyleTextModel::initialize(::Ifc4x3_rc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_rc1::IfcTextStyleTextModel Ifc4x3_rc1::IfcTextStyleTextModel::initialize(::Ifc4x3_rc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > Ifc4x3_rc1::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcSurfaceTexture>(es); } @@ -15845,7 +15845,7 @@ void Ifc4x3_rc1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1197]); } -void Ifc4x3_rc1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_rc1::IfcTextureCoordinate Ifc4x3_rc1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_rc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15855,7 +15855,7 @@ void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1198]); } -void Ifc4x3_rc1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_rc1::IfcTextureCoordinateGenerator Ifc4x3_rc1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_rc1::IfcTextureVertex > Ifc4x3_rc1::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc1::IfcTextureVertex>(es); } @@ -15865,7 +15865,7 @@ void Ifc4x3_rc1::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc1::IfcFace& v) { se const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1199]); } -void Ifc4x3_rc1::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_rc1::IfcTextureMap Ifc4x3_rc1::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_rc1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -15873,7 +15873,7 @@ void Ifc4x3_rc1::IfcTextureVertex::setCoordinates(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1200]); } -void Ifc4x3_rc1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc1::IfcTextureVertex Ifc4x3_rc1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_rc1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -15881,7 +15881,7 @@ void Ifc4x3_rc1::IfcTextureVertexList::setTexCoordsList(const std::vector< std:: const ifcopenshell::entity& Ifc4x3_rc1::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1201]); } -void Ifc4x3_rc1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_rc1::IfcTextureVertexList Ifc4x3_rc1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_rc1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -15891,7 +15891,7 @@ void Ifc4x3_rc1::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc1::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1211]); } -void Ifc4x3_rc1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_rc1::IfcTimePeriod Ifc4x3_rc1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_rc1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -15914,7 +15914,7 @@ void Ifc4x3_rc1::IfcTimeSeries::setUnit(const ::Ifc4x3_rc1::IfcUnit& v) { set_at std::vector<::Ifc4x3_rc1::IfcExternalReferenceRelationship> Ifc4x3_rc1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[436], 3)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1212]); } -void Ifc4x3_rc1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_rc1::IfcTimeSeries Ifc4x3_rc1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_rc1::IfcValue > Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcValue>(es); } @@ -15922,19 +15922,19 @@ void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc1::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1214]); } -void Ifc4x3_rc1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_rc1::IfcTimeSeriesValue Ifc4x3_rc1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_rc1::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1216]); } -void Ifc4x3_rc1::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_rc1::IfcTopologicalRepresentationItem Ifc4x3_rc1::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_rc1::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1217]); } -void Ifc4x3_rc1::IfcTopologyRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc1::IfcTopologyRepresentation Ifc4x3_rc1::IfcTopologyRepresentation::initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_rc1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -15944,7 +15944,7 @@ void Ifc4x3_rc1::IfcToroidalSurface::setMinorRadius(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc1::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1218]); } -void Ifc4x3_rc1::IfcToroidalSurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_rc1::IfcToroidalSurface Ifc4x3_rc1::IfcToroidalSurface::initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > Ifc4x3_rc1::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15952,7 +15952,7 @@ void Ifc4x3_rc1::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1220]); } -void Ifc4x3_rc1::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcTrackElement Ifc4x3_rc1::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value Ifc4x3_rc1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15960,7 +15960,7 @@ void Ifc4x3_rc1::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_rc1::IfcT const ifcopenshell::entity& Ifc4x3_rc1::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1221]); } -void Ifc4x3_rc1::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTrackElementType Ifc4x3_rc1::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > Ifc4x3_rc1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -15968,7 +15968,7 @@ void Ifc4x3_rc1::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc1::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1223]); } -void Ifc4x3_rc1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcTransformer Ifc4x3_rc1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value Ifc4x3_rc1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -15976,7 +15976,7 @@ void Ifc4x3_rc1::IfcTransformerType::setPredefinedType(const ::Ifc4x3_rc1::IfcTr const ifcopenshell::entity& Ifc4x3_rc1::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1224]); } -void Ifc4x3_rc1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTransformerType Ifc4x3_rc1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransitionCurveSegment2D std::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } @@ -15992,7 +15992,7 @@ void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setTransitionCurveType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcTransitionCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1227]); } -void Ifc4x3_rc1::IfcTransitionCurveSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType))); } +Ifc4x3_rc1::IfcTransitionCurveSegment2D Ifc4x3_rc1::IfcTransitionCurveSegment2D::initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; return *this; } // Function implementations for IfcTransportElement ::Ifc4x3_rc1::IfcTransportElementTypeSelect Ifc4x3_rc1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc1::IfcTransportElementTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(); } @@ -16000,7 +16000,7 @@ void Ifc4x3_rc1::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc1::IfcT const ifcopenshell::entity& Ifc4x3_rc1::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1230]); } -void Ifc4x3_rc1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc1::IfcTransportElement Ifc4x3_rc1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_rc1::IfcTransportElementTypeSelect Ifc4x3_rc1::IfcTransportElementType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(); } @@ -16008,7 +16008,7 @@ void Ifc4x3_rc1::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1233]); } -void Ifc4x3_rc1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc1::IfcTransportElementType Ifc4x3_rc1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_rc1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16022,7 +16022,7 @@ void Ifc4x3_rc1::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc1::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1235]); } -void Ifc4x3_rc1::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_rc1::IfcTrapeziumProfileDef Ifc4x3_rc1::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16036,7 +16036,7 @@ void Ifc4x3_rc1::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc1::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1236]); } -void Ifc4x3_rc1::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_rc1::IfcTriangulatedFaceSet Ifc4x3_rc1::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16044,7 +16044,7 @@ void Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< in const ifcopenshell::entity& Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1237]); } -void Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_rc1::IfcTriangulatedIrregularNetwork Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc1::IfcCurve Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcCurve>(); } @@ -16060,7 +16060,7 @@ void Ifc4x3_rc1::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1238]); } -void Ifc4x3_rc1::IfcTrimmedCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_rc1::IfcTrimmedCurve Ifc4x3_rc1::IfcTrimmedCurve::initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16068,7 +16068,7 @@ void Ifc4x3_rc1::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1242]); } -void Ifc4x3_rc1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcTubeBundle Ifc4x3_rc1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value Ifc4x3_rc1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16076,7 +16076,7 @@ void Ifc4x3_rc1::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc1::IfcTub const ifcopenshell::entity& Ifc4x3_rc1::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1243]); } -void Ifc4x3_rc1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcTubeBundleType Ifc4x3_rc1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_rc1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16087,7 +16087,7 @@ void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(const std::optional< std::vec std::vector<::Ifc4x3_rc1::IfcRelDefinesByType> Ifc4x3_rc1::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[946], 5)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1245]); } -void Ifc4x3_rc1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_rc1::IfcTypeObject Ifc4x3_rc1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16100,7 +16100,7 @@ void Ifc4x3_rc1::IfcTypeProcess::setProcessType(const std::optional< std::string std::vector<::Ifc4x3_rc1::IfcRelAssignsToProcess> Ifc4x3_rc1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[916], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1246]); } -void Ifc4x3_rc1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_rc1::IfcTypeProcess Ifc4x3_rc1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > Ifc4x3_rc1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcRepresentationMap>(es); } @@ -16111,7 +16111,7 @@ void Ifc4x3_rc1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { std::vector<::Ifc4x3_rc1::IfcRelAssignsToProduct> Ifc4x3_rc1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[917], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1247]); } -void Ifc4x3_rc1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcTypeProduct Ifc4x3_rc1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_rc1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16124,7 +16124,7 @@ void Ifc4x3_rc1::IfcTypeResource::setResourceType(const std::optional< std::stri std::vector<::Ifc4x3_rc1::IfcRelAssignsToResource> Ifc4x3_rc1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC1_types[918], 6)); } const ifcopenshell::entity& Ifc4x3_rc1::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1248]); } -void Ifc4x3_rc1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_rc1::IfcTypeResource Ifc4x3_rc1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_rc1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16144,7 +16144,7 @@ void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc1::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1259]); } -void Ifc4x3_rc1::IfcUShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc1::IfcUShapeProfileDef Ifc4x3_rc1::IfcUShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_rc1::IfcUnit > Ifc4x3_rc1::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcUnit>(es); } @@ -16152,7 +16152,7 @@ void Ifc4x3_rc1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc1::If const ifcopenshell::entity& Ifc4x3_rc1::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1256]); } -void Ifc4x3_rc1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_rc1::IfcUnitAssignment Ifc4x3_rc1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16160,7 +16160,7 @@ void Ifc4x3_rc1::IfcUnitaryControlElement::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_rc1::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1250]); } -void Ifc4x3_rc1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcUnitaryControlElement Ifc4x3_rc1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16168,7 +16168,7 @@ void Ifc4x3_rc1::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc1::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1251]); } -void Ifc4x3_rc1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcUnitaryControlElementType Ifc4x3_rc1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16176,7 +16176,7 @@ void Ifc4x3_rc1::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc1::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1253]); } -void Ifc4x3_rc1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcUnitaryEquipment Ifc4x3_rc1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16184,7 +16184,7 @@ void Ifc4x3_rc1::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1254]); } -void Ifc4x3_rc1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcUnitaryEquipmentType Ifc4x3_rc1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > Ifc4x3_rc1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16192,7 +16192,7 @@ void Ifc4x3_rc1::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_rc1:: const ifcopenshell::entity& Ifc4x3_rc1::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1261]); } -void Ifc4x3_rc1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcValve Ifc4x3_rc1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_rc1::IfcValveTypeEnum::Value Ifc4x3_rc1::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16200,7 +16200,7 @@ void Ifc4x3_rc1::IfcValveType::setPredefinedType(const ::Ifc4x3_rc1::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc1::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1262]); } -void Ifc4x3_rc1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcValveType Ifc4x3_rc1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_rc1::IfcDirection Ifc4x3_rc1::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcDirection>(); } @@ -16210,13 +16210,13 @@ void Ifc4x3_rc1::IfcVector::setMagnitude(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc1::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1265]); } -void Ifc4x3_rc1::IfcVector::initialize(::Ifc4x3_rc1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_rc1::IfcVector Ifc4x3_rc1::IfcVector::initialize(::Ifc4x3_rc1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_rc1::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1267]); } -void Ifc4x3_rc1::IfcVertex::initialize() { } +Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_rc1::IfcVertex Ifc4x3_rc1::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcVertex>(); } @@ -16224,7 +16224,7 @@ void Ifc4x3_rc1::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc1::IfcVertex& v) const ifcopenshell::entity& Ifc4x3_rc1::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1268]); } -void Ifc4x3_rc1::IfcVertexLoop::initialize(::Ifc4x3_rc1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_rc1::IfcVertexLoop Ifc4x3_rc1::IfcVertexLoop::initialize(::Ifc4x3_rc1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_rc1::IfcPoint Ifc4x3_rc1::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc1::IfcPoint>(); } @@ -16232,7 +16232,7 @@ void Ifc4x3_rc1::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc1::IfcPoint& const ifcopenshell::entity& Ifc4x3_rc1::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1269]); } -void Ifc4x3_rc1::IfcVertexPoint::initialize(::Ifc4x3_rc1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_rc1::IfcVertexPoint Ifc4x3_rc1::IfcVertexPoint::initialize(::Ifc4x3_rc1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16240,7 +16240,7 @@ void Ifc4x3_rc1::IfcVibrationDamper::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc1::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1270]); } -void Ifc4x3_rc1::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcVibrationDamper Ifc4x3_rc1::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16248,7 +16248,7 @@ void Ifc4x3_rc1::IfcVibrationDamperType::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1271]); } -void Ifc4x3_rc1::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc1::IfcVibrationDamperType Ifc4x3_rc1::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16256,7 +16256,7 @@ void Ifc4x3_rc1::IfcVibrationIsolator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc1::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1273]); } -void Ifc4x3_rc1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcVibrationIsolator Ifc4x3_rc1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16264,13 +16264,13 @@ void Ifc4x3_rc1::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc1: const ifcopenshell::entity& Ifc4x3_rc1::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1274]); } -void Ifc4x3_rc1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcVibrationIsolatorType Ifc4x3_rc1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4x3_rc1::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1276]); } -void Ifc4x3_rc1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcVirtualElement Ifc4x3_rc1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_rc1::IfcGridAxis > Ifc4x3_rc1::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc1::IfcGridAxis>(es); } @@ -16280,13 +16280,13 @@ void Ifc4x3_rc1::IfcVirtualGridIntersection::setOffsetDistances(const std::vecto const ifcopenshell::entity& Ifc4x3_rc1::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1277]); } -void Ifc4x3_rc1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_rc1::IfcVirtualGridIntersection Ifc4x3_rc1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidStratum const ifcopenshell::entity& Ifc4x3_rc1::IfcVoidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1280]); } -void Ifc4x3_rc1::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcVoidStratum Ifc4x3_rc1::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16294,7 +16294,7 @@ void Ifc4x3_rc1::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1278]); } -void Ifc4x3_rc1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcVoidingFeature Ifc4x3_rc1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > Ifc4x3_rc1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16302,19 +16302,19 @@ void Ifc4x3_rc1::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_rc1::I const ifcopenshell::entity& Ifc4x3_rc1::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1283]); } -void Ifc4x3_rc1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcWall Ifc4x3_rc1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4x3_rc1::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1284]); } -void Ifc4x3_rc1::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcWallElementedCase Ifc4x3_rc1::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1285]); } -void Ifc4x3_rc1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcWallStandardCase Ifc4x3_rc1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_rc1::IfcWallTypeEnum::Value Ifc4x3_rc1::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16322,7 +16322,7 @@ void Ifc4x3_rc1::IfcWallType::setPredefinedType(const ::Ifc4x3_rc1::IfcWallTypeE const ifcopenshell::entity& Ifc4x3_rc1::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1286]); } -void Ifc4x3_rc1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcWallType Ifc4x3_rc1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16330,7 +16330,7 @@ void Ifc4x3_rc1::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc1::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1291]); } -void Ifc4x3_rc1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcWasteTerminal Ifc4x3_rc1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16338,13 +16338,13 @@ void Ifc4x3_rc1::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc1::Ifc const ifcopenshell::entity& Ifc4x3_rc1::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1292]); } -void Ifc4x3_rc1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc1::IfcWasteTerminalType Ifc4x3_rc1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWaterStratum const ifcopenshell::entity& Ifc4x3_rc1::IfcWaterStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1294]); } -void Ifc4x3_rc1::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc1::IfcWaterStratum Ifc4x3_rc1::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_rc1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16360,7 +16360,7 @@ void Ifc4x3_rc1::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc1::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1295]); } -void Ifc4x3_rc1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc1::IfcWindow Ifc4x3_rc1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16390,7 +16390,7 @@ void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::o const ifcopenshell::entity& Ifc4x3_rc1::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1296]); } -void Ifc4x3_rc1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_rc1::IfcWindowLiningProperties Ifc4x3_rc1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value Ifc4x3_rc1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16406,13 +16406,13 @@ void Ifc4x3_rc1::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1299]); } -void Ifc4x3_rc1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc1::IfcWindowPanelProperties Ifc4x3_rc1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4x3_rc1::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1300]); } -void Ifc4x3_rc1::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc1::IfcWindowStandardCase Ifc4x3_rc1::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc1::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -16426,7 +16426,7 @@ void Ifc4x3_rc1::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_rc1::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1301]); } -void Ifc4x3_rc1::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc1::IfcWindowStyle Ifc4x3_rc1::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_rc1::IfcWindowTypeEnum::Value Ifc4x3_rc1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16440,7 +16440,7 @@ void Ifc4x3_rc1::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc1::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1304]); } -void Ifc4x3_rc1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc1::IfcWindowType Ifc4x3_rc1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > Ifc4x3_rc1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc1::IfcWorkTime>(es); } @@ -16452,7 +16452,7 @@ void Ifc4x3_rc1::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1307]); } -void Ifc4x3_rc1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc1::IfcWorkCalendar Ifc4x3_rc1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_rc1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16472,7 +16472,7 @@ void Ifc4x3_rc1::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1309]); } -void Ifc4x3_rc1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_rc1::IfcWorkControl Ifc4x3_rc1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16480,7 +16480,7 @@ void Ifc4x3_rc1::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1310]); } -void Ifc4x3_rc1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc1::IfcWorkPlan Ifc4x3_rc1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16488,7 +16488,7 @@ void Ifc4x3_rc1::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1312]); } -void Ifc4x3_rc1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc1::IfcWorkSchedule Ifc4x3_rc1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_rc1::IfcRecurrencePattern Ifc4x3_rc1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc1::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc1::IfcRecurrencePattern>(); } @@ -16500,7 +16500,7 @@ void Ifc4x3_rc1::IfcWorkTime::setFinish(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc1::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1314]); } -void Ifc4x3_rc1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4x3_rc1::IfcWorkTime Ifc4x3_rc1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_rc1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16518,7 +16518,7 @@ void Ifc4x3_rc1::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc1::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1316]); } -void Ifc4x3_rc1::IfcZShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_rc1::IfcZShapeProfileDef Ifc4x3_rc1::IfcZShapeProfileDef::initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_rc1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16526,5 +16526,5 @@ void Ifc4x3_rc1::IfcZone::setLongName(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4x3_rc1::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC1_types[1315]); } -void Ifc4x3_rc1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_rc1::IfcZone Ifc4x3_rc1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_rc1.h b/src/ifcparse/schemas/Ifc4x3_rc1.h index 27317d0c7c..8a9269b204 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc1.h +++ b/src/ifcparse/schemas/Ifc4x3_rc1.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1118,8 +1105,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1142,8 +1128,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1168,8 +1153,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1261,8 +1245,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1702,8 +1685,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: class IFC_PARSE_API IfcFacilityPartTypeSelect : public express::Select { public: - IfcFacilityPartTypeSelect() {} - explicit IfcFacilityPartTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1765,8 +1746,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1813,8 +1793,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1846,8 +1825,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1868,8 +1846,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1888,8 +1865,7 @@ public: class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public express::Select { public: - IfcImpactProtectionDeviceTypeSelect() {} - explicit IfcImpactProtectionDeviceTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1914,8 +1890,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1940,8 +1915,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1969,8 +1943,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2010,8 +1983,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2030,8 +2002,7 @@ public: class IFC_PARSE_API IfcLinearAxisSelect : public express::Select { public: - IfcLinearAxisSelect() {} - explicit IfcLinearAxisSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2075,8 +2046,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2109,8 +2079,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2266,8 +2235,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2978,8 +2946,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3000,8 +2967,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3022,8 +2988,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3044,8 +3009,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3112,8 +3076,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3139,8 +3102,7 @@ public: /// IFC2x4 CHANGE The select type has been deprecated. class IFC_PARSE_API IfcPresentationStyleSelect : public express::Select { public: - IfcPresentationStyleSelect() {} - explicit IfcPresentationStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3186,8 +3148,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3206,8 +3167,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3234,8 +3194,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3254,8 +3213,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3276,8 +3234,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3394,8 +3351,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3416,8 +3372,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3436,8 +3391,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3466,8 +3420,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3504,8 +3457,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3607,8 +3559,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3657,8 +3608,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3688,8 +3638,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3708,8 +3657,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3737,8 +3685,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3765,8 +3712,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3794,8 +3740,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcStyleAssignmentSelect : public express::Select { public: - IfcStyleAssignmentSelect() {} - explicit IfcStyleAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3822,8 +3767,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3856,8 +3800,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3900,8 +3843,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3921,8 +3863,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3943,8 +3884,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3963,8 +3903,7 @@ public: class IFC_PARSE_API IfcTransportElementTypeSelect : public express::Select { public: - IfcTransportElementTypeSelect() {} - explicit IfcTransportElementTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3987,8 +3926,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4019,8 +3957,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4054,8 +3991,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4735,8 +4671,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4757,8 +4692,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4787,16 +4721,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4806,16 +4739,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4827,16 +4759,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4857,16 +4788,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4882,16 +4812,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4907,16 +4836,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4934,16 +4862,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4964,16 +4891,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4992,31 +4918,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -5027,16 +4951,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -5048,31 +4971,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -5089,16 +5010,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5115,16 +5035,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5143,16 +5062,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_RAILWAY_COMMUNICATION_TERMINAL, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5171,31 +5089,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5239,46 +5155,43 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_DIAPHRAGM, IfcBeamType_PIERCAP, IfcBeamType_HATSTONE, IfcBeamType_CORNICE, IfcBeamType_EDGEBEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { public: - IfcBearingTypeDisplacementEnum() {} - explicit IfcBearingTypeDisplacementEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeDisplacementEnum initialize(Value v); + IfcBearingTypeDisplacementEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_SPHERICAL, IfcBearingType_ELASTOMERIC, IfcBearingType_POT, IfcBearingType_GUIDE, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_DISK, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5323,16 +5236,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5346,16 +5258,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5369,46 +5280,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5421,16 +5329,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5446,16 +5353,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5474,31 +5380,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_REINFORCING, IfcBuildingSystemType_PRESTRESSING, IfcBuildingSystemType_EROSIONPREVENTION, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_MOORINGSYSTEM, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5510,16 +5414,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5534,16 +5437,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5558,16 +5460,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5583,16 +5484,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_FANOUT, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5609,31 +5509,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5649,16 +5547,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5673,16 +5570,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5697,16 +5593,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5733,16 +5628,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5761,16 +5655,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5791,16 +5684,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_INTELLIGENT_PERIPHERAL, IfcCommunicationsApplianceType_IP_NETWORK_EQUIPMENT, IfcCommunicationsApplianceType_OPTICAL_NETWORK_UNIT, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5813,16 +5705,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5849,16 +5740,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5876,16 +5766,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5910,16 +5799,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5941,16 +5829,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5969,16 +5856,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5998,16 +5884,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -6020,16 +5905,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -6048,31 +5932,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -6096,16 +5978,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -6122,16 +6003,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6142,16 +6022,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6169,31 +6048,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_FILTER, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6241,16 +6118,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_COPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6263,16 +6139,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6286,16 +6161,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6317,16 +6191,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6348,16 +6221,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6370,16 +6242,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6441,16 +6312,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6463,16 +6333,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6486,31 +6355,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6531,31 +6398,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6607,16 +6472,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6633,16 +6497,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6650,16 +6513,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6697,16 +6559,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6718,16 +6579,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6739,16 +6599,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6922,16 +6781,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6952,16 +6810,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_BOOM_BARRIER, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -7146,16 +7003,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -7193,16 +7049,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -7222,16 +7077,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -7246,46 +7100,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_CUT, IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7319,16 +7170,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7343,16 +7193,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7367,31 +7216,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7406,16 +7253,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7431,16 +7277,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7454,16 +7299,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7487,16 +7331,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_MAST, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_GRID, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7513,16 +7356,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7535,16 +7377,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7565,16 +7406,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7592,16 +7432,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7618,16 +7457,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7643,16 +7481,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7673,46 +7510,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7731,16 +7565,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7754,16 +7587,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7781,16 +7613,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7808,16 +7639,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7830,16 +7660,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7860,16 +7689,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7889,16 +7717,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7917,16 +7744,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7944,31 +7770,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -8014,16 +7838,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -8034,31 +7857,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -8072,16 +7893,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -8106,31 +7926,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -8145,16 +7963,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8214,16 +8031,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -8237,16 +8053,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -8258,31 +8073,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8311,16 +8124,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8342,16 +8154,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8365,16 +8176,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8393,16 +8203,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8424,16 +8233,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8449,31 +8257,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8499,16 +8305,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8757,46 +8562,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_CANAL, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_EMBANKMENT, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_CREST, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_CORE, IfcMarinePartType_WATERFIELD, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CHAMBER, IfcMarinePartType_STORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_PROTECTION, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8818,16 +8620,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8845,16 +8646,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8902,46 +8702,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_STIFFENING_RIB, IfcMemberType_ARCH_SEGMENT, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_SUSPENDER, IfcMemberType_STAY_CABLE, IfcMemberType_STRUCTURALCABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_REMOTE_RADIO_UNIT, IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8955,31 +8752,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-46:1992: The null style type specifies, that a representation item is not styled. @@ -8992,16 +8787,15 @@ public: /// IFC2x4 CHANGE  The enumeration is deprecated. class IFC_PARSE_API IfcNullStyle : public express::DeclaredType { public: - IfcNullStyle() {} - explicit IfcNullStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNullStyle_NULL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNullStyle initialize(Value v); + IfcNullStyle initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -9009,16 +8803,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -9052,16 +8845,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -9079,16 +8871,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9113,16 +8904,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -9140,16 +8930,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -9160,16 +8949,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -9196,16 +8984,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -9219,16 +9006,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9256,16 +9042,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -9292,16 +9077,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -9319,16 +9103,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9364,16 +9147,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9393,16 +9175,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9425,31 +9206,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_FLANGE_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_SPLICE_PLATE, IfcPlateType_BASE_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9468,16 +9247,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9490,16 +9268,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9515,16 +9292,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9535,16 +9311,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9561,16 +9336,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9613,16 +9387,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9634,16 +9407,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9663,16 +9435,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9705,31 +9476,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_RACKRAIL, IfcRailType_BLADE, IfcRailType_GUARDRAIL, IfcRailType_STOCKRAIL, IfcRailType_CHECKRAIL, IfcRailType_RAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9754,31 +9523,29 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_PLAINTRACKSUPESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9794,16 +9561,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9856,16 +9622,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9891,31 +9656,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_REFERENCEMARKER, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9936,31 +9699,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9984,16 +9745,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -10007,61 +9767,57 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_BUS_STOP, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROADSIDE, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_SIDEWALK, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_SHOULDER, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_LAYBY, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -10095,16 +9851,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -10175,16 +9930,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -10216,16 +9970,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -10269,16 +10022,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10302,16 +10054,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10326,16 +10077,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10368,16 +10118,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10387,16 +10136,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10411,46 +10159,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_PICTORAL, IfcSignType_MIRROR, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_VISUAL, IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10473,16 +10218,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10519,16 +10263,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_APPROACH_SLAB, IfcSlabType_PAVING, IfcSlabType_WEARING, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10542,16 +10285,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10568,16 +10310,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10617,16 +10358,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10656,16 +10396,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10679,16 +10418,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10708,16 +10446,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10815,16 +10552,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_LADDER, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10842,16 +10578,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10871,16 +10606,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10903,16 +10637,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10929,16 +10662,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10957,16 +10689,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10979,16 +10710,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -11004,16 +10734,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -11029,16 +10758,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -11059,16 +10787,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -11081,16 +10808,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -11118,16 +10844,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_OILRETENTIONTRAY, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -11139,16 +10864,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -11171,61 +10895,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_DUCT, IfcTendonConduitType_COUPLER, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -11237,16 +10957,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -11262,31 +10981,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_SLEEPER, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11302,16 +11019,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11332,61 +11048,57 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransitionCurveType : public express::DeclaredType { public: - IfcTransitionCurveType() {} - explicit IfcTransitionCurveType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCurveType_BIQUADRATICPARABOLA, IfcTransitionCurveType_BLOSSCURVE, IfcTransitionCurveType_CLOTHOIDCURVE, IfcTransitionCurveType_COSINECURVE, IfcTransitionCurveType_CUBICPARABOLA, IfcTransitionCurveType_SINECURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCurveType initialize(Value v); + IfcTransitionCurveType initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementFixedTypeEnum() {} - explicit IfcTransportElementFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementFixedType_ELEVATOR, IfcTransportElementFixedType_ESCALATOR, IfcTransportElementFixedType_MOVINGWALKWAY, IfcTransportElementFixedType_CRANEWAY, IfcTransportElementFixedType_LIFTINGGEAR, IfcTransportElementFixedType_USERDEFINED, IfcTransportElementFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementFixedTypeEnum initialize(Value v); + IfcTransportElementFixedTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementNonFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementNonFixedTypeEnum() {} - explicit IfcTransportElementNonFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementNonFixedType_VEHICLE, IfcTransportElementNonFixedType_VEHICLETRACKED, IfcTransportElementNonFixedType_ROLLINGSTOCK, IfcTransportElementNonFixedType_VEHICLEWHEELED, IfcTransportElementNonFixedType_VEHICLEAIR, IfcTransportElementNonFixedType_CARGO, IfcTransportElementNonFixedType_VEHICLEMARINE, IfcTransportElementNonFixedType_USERDEFINED, IfcTransportElementNonFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementNonFixedTypeEnum initialize(Value v); + IfcTransportElementNonFixedTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11402,16 +11114,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11424,16 +11135,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11474,16 +11184,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11504,16 +11213,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11530,16 +11238,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11587,31 +11294,29 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11625,16 +11330,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11653,16 +11357,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11704,16 +11407,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_RETAININGWALL, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11732,16 +11434,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11830,16 +11531,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11908,16 +11608,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11929,16 +11628,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -12017,16 +11715,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -12047,16 +11744,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -12132,16 +11828,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -12157,16 +11852,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -12182,16 +11876,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -12207,16 +11900,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -12226,11 +11918,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -12240,11 +11931,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -12257,11 +11947,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -12271,31 +11960,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -12307,21 +11993,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -12331,11 +12015,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12383,11 +12066,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12403,11 +12085,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12460,11 +12141,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12475,11 +12155,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12490,11 +12169,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12506,11 +12184,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12521,11 +12198,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12548,11 +12224,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12569,11 +12244,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12612,11 +12286,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12627,11 +12300,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12643,11 +12315,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12657,11 +12328,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12671,11 +12341,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12686,11 +12355,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12700,11 +12368,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12714,11 +12381,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12728,11 +12394,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12744,11 +12409,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12758,11 +12422,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12772,11 +12435,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12786,11 +12448,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12809,11 +12470,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12830,11 +12490,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12862,11 +12521,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12876,11 +12534,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12890,11 +12547,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12912,11 +12568,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12926,11 +12581,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12938,11 +12592,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12961,11 +12614,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12975,11 +12627,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12989,11 +12640,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -13005,11 +12655,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -13021,11 +12670,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -13033,11 +12681,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -13047,11 +12694,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -13061,11 +12707,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -13084,11 +12729,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -13103,11 +12747,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -13119,21 +12762,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -13143,11 +12784,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -13157,11 +12797,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -13171,11 +12810,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -13185,11 +12823,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -13213,11 +12849,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -13229,11 +12864,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -13245,11 +12879,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -13259,11 +12892,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -13273,11 +12905,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -13287,11 +12918,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -13301,11 +12931,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -13317,11 +12946,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -13333,11 +12961,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -13347,11 +12974,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -13361,11 +12987,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -13375,11 +13000,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13393,11 +13017,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13407,11 +13030,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13421,11 +13043,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13435,11 +13056,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13448,11 +13068,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13513,11 +13132,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13527,11 +13145,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13542,11 +13159,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13554,11 +13170,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13570,11 +13185,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13584,11 +13198,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13604,21 +13217,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13629,11 +13240,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13644,11 +13254,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13658,11 +13267,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13676,11 +13284,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13690,21 +13297,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13714,11 +13319,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13733,11 +13337,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13749,11 +13352,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13763,11 +13365,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13778,11 +13379,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13792,11 +13392,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13806,11 +13405,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13820,11 +13418,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13834,11 +13431,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13850,21 +13446,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13874,21 +13468,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13898,11 +13490,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13912,11 +13503,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13928,11 +13518,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13946,11 +13535,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13960,11 +13548,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13974,11 +13561,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13994,11 +13580,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -14013,11 +13598,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -14035,11 +13619,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -14063,11 +13646,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -14082,11 +13664,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -14096,11 +13677,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -14110,11 +13690,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -14123,11 +13702,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -14136,11 +13714,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -14150,11 +13727,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -14166,11 +13742,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -14183,11 +13758,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -14199,11 +13773,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -14212,11 +13785,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -14226,11 +13798,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -14242,11 +13813,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -14256,11 +13826,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -14272,11 +13841,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -14286,11 +13854,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -14300,11 +13867,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -14314,11 +13880,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -14348,11 +13913,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14362,11 +13926,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14377,11 +13940,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14398,8 +13960,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14417,7 +13978,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14426,8 +13987,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Purpose() const; @@ -14445,15 +14005,14 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc1::IfcOrganization ApplicationDeveloper() const; @@ -14469,7 +14028,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_rc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14487,8 +14046,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14527,7 +14085,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14536,8 +14094,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14579,7 +14136,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14598,15 +14155,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14620,8 +14176,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14643,7 +14198,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14657,8 +14212,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14671,7 +14225,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14685,8 +14239,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14708,7 +14261,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_rc1::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14721,15 +14274,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_rc1::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_rc1::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc1::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc1::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14747,12 +14299,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14772,8 +14323,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14783,7 +14333,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_rc1::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14795,8 +14345,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14806,7 +14355,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14816,8 +14365,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14827,7 +14375,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_rc1::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc1::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_rc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc1::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14843,8 +14391,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14874,7 +14421,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14924,8 +14471,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14935,7 +14481,7 @@ public: void setTargetCRS(const ::Ifc4x3_rc1::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14961,8 +14507,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14987,7 +14532,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -15033,12 +14578,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -15049,8 +14593,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > Elements() const; @@ -15062,7 +14605,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_rc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -15075,8 +14618,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc1::IfcNamedUnit Unit() const; @@ -15086,7 +14628,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_rc1::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -15107,8 +14649,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -15133,7 +14674,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -15143,12 +14684,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -15161,8 +14701,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -15186,7 +14725,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -15198,12 +14737,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -15214,12 +14752,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -15230,12 +14767,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -15262,8 +14798,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -15280,15 +14815,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15298,7 +14832,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc1::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc1::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -15310,8 +14844,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15338,7 +14871,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15349,8 +14882,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15368,7 +14900,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc1::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc1::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15387,8 +14919,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15403,15 +14934,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15421,7 +14951,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_rc1::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc1::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc1::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15436,8 +14966,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15466,7 +14995,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15475,8 +15004,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > MaterialClassifications() const; @@ -15486,7 +15014,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_rc1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_rc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15514,15 +15042,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15549,8 +15076,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_rc1::IfcMaterial Material() const; @@ -15584,7 +15110,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15621,8 +15147,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > MaterialLayers() const; @@ -15637,7 +15162,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_rc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15684,8 +15209,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15695,7 +15219,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_rc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15716,15 +15240,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc1::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_rc1::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_rc1::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15733,8 +15256,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15757,7 +15279,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15766,8 +15288,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15786,7 +15307,7 @@ public: void setCompositeProfile(const ::Ifc4x3_rc1::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15795,15 +15316,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, ::Ifc4x3_rc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15838,13 +15358,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15858,8 +15377,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc1::IfcValue ValueComponent() const; @@ -15869,7 +15387,7 @@ public: void setUnitComponent(const ::Ifc4x3_rc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcValue v1_ValueComponent, ::Ifc4x3_rc1::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_rc1::IfcValue v1_ValueComponent, ::Ifc4x3_rc1::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15925,8 +15443,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc1::IfcBenchmarkEnum::Value Benchmark() const; @@ -15941,7 +15458,7 @@ public: void setReferencePath(const ::Ifc4x3_rc1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc1::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc1::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15950,15 +15467,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15967,8 +15483,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc1::IfcDimensionalExponents Dimensions() const; @@ -15978,7 +15493,7 @@ public: void setUnitType(const ::Ifc4x3_rc1::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15993,15 +15508,14 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_rc1::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc1::IfcObjectPlacement& v); std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -16014,8 +15528,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > > BenchmarkValues() const; @@ -16030,7 +15543,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -16042,8 +15555,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -16066,7 +15578,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -16080,8 +15592,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_rc1::IfcPersonAndOrganization OwningUser() const; @@ -16109,7 +15620,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_rc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -16122,8 +15633,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -16158,7 +15668,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc1::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -16167,8 +15677,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_rc1::IfcPerson ThePerson() const; @@ -16181,7 +15690,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcPerson v1_ThePerson, ::Ifc4x3_rc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_rc1::IfcPerson v1_ThePerson, ::Ifc4x3_rc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -16190,8 +15699,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -16203,7 +15711,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -16216,23 +15724,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_rc1::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_rc1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -16263,17 +15769,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -16292,8 +15797,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16309,7 +15813,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16326,8 +15830,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16347,7 +15850,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_rc1::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc1::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc1::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16356,15 +15859,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -16373,15 +15875,14 @@ public: /// HISTORY New entity in Release IFC2x2. class IFC_PARSE_API IfcPresentationStyleAssignment : public express::Entity { public: - IfcPresentationStyleAssignment() {} - explicit IfcPresentationStyleAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > Styles() const; void setStyles(const std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > v1_Styles); + IfcPresentationStyleAssignment initialize(std::vector< ::Ifc4x3_rc1::IfcPresentationStyleSelect > v1_Styles); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16402,8 +15903,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16416,7 +15916,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_rc1::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16590,8 +16090,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_rc1::IfcProfileTypeEnum::Value ProfileType() const; @@ -16603,7 +16102,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16630,8 +16129,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16651,18 +16149,17 @@ public: void setMapUnit(const ::Ifc4x3_rc1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc1::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc1::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16712,8 +16209,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16726,7 +16222,7 @@ public: void setUnit(const ::Ifc4x3_rc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16735,8 +16231,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16748,7 +16243,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16757,8 +16252,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16770,7 +16264,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16779,8 +16273,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16792,7 +16285,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16801,8 +16294,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16814,7 +16306,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16823,8 +16315,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16836,7 +16327,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16845,8 +16336,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16858,7 +16348,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16868,8 +16358,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16910,13 +16399,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc1::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16930,7 +16418,7 @@ public: void setInnerReference(const ::Ifc4x3_rc1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc1::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc1::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16980,8 +16468,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc1::IfcRepresentationContext ContextOfItems() const; @@ -17001,7 +16488,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -17015,8 +16502,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -17027,7 +16513,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -17063,14 +16549,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -17085,8 +16570,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -17099,15 +16583,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc1::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc1::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -17117,7 +16600,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -17130,8 +16613,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -17151,7 +16633,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -17162,8 +16644,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > Prefix() const; @@ -17175,15 +16656,14 @@ public: void setName(const ::Ifc4x3_rc1::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc1::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc1::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -17197,7 +16677,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -17238,8 +16718,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -17263,7 +16742,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_rc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17285,13 +16764,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17430,42 +16908,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17480,8 +16955,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > Values() const; @@ -17491,31 +16965,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17524,8 +16996,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17544,7 +17015,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17553,12 +17024,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17590,8 +17060,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17611,7 +17080,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_rc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc1::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17622,12 +17091,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17636,8 +17104,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17650,7 +17117,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17661,8 +17128,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc1::IfcSurfaceSide::Value Side() const; @@ -17672,7 +17138,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17687,8 +17153,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17708,7 +17173,7 @@ public: void setReflectanceColour(const ::Ifc4x3_rc1::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_rc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc1::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17717,8 +17182,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17728,7 +17192,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17739,8 +17203,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc1::IfcColourRgb SurfaceColour() const; @@ -17749,7 +17212,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17771,15 +17234,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17875,8 +17337,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17908,7 +17369,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17927,8 +17388,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17941,7 +17401,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc1::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17950,8 +17410,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17969,7 +17428,7 @@ public: void setReferencePath(const ::Ifc4x3_rc1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit v4_Unit, ::Ifc4x3_rc1::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit v4_Unit, ::Ifc4x3_rc1::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17986,8 +17445,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > RowCells() const; @@ -17997,7 +17455,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -18009,8 +17467,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -18119,21 +17576,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_rc1::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_rc1::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc1::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc1::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -18143,8 +17599,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -18169,7 +17624,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -18201,8 +17656,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_rc1::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -18223,7 +17677,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -18244,8 +17698,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc1::IfcColour Colour() const; @@ -18255,7 +17708,7 @@ public: void setBackgroundColour(const ::Ifc4x3_rc1::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcColour v1_Colour, ::Ifc4x3_rc1::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_rc1::IfcColour v1_Colour, ::Ifc4x3_rc1::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -18266,8 +17719,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18299,7 +17751,7 @@ public: void setLineHeight(const ::Ifc4x3_rc1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc1::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_rc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc1::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18314,14 +17766,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18351,8 +17802,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18366,7 +17816,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18421,8 +17871,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18433,7 +17882,7 @@ public: void setMappedTo(const ::Ifc4x3_rc1::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc1::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc1::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18464,27 +17913,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18494,8 +17941,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18505,7 +17951,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18514,8 +17960,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18544,7 +17989,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18557,15 +18002,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc1::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_rc1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_rc1::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18574,12 +18018,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18617,12 +18060,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_rc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc1::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18631,15 +18073,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc1::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_rc1::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_rc1::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18653,12 +18094,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18671,15 +18111,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc1::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_rc1::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_rc1::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18742,8 +18181,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_rc1::IfcGridAxis > IntersectingAxes() const; @@ -18753,7 +18191,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_rc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18765,8 +18203,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18783,7 +18220,7 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18794,8 +18231,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_rc1::IfcApproval RelatingApproval() const; @@ -18805,7 +18241,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_rc1::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc1::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc1::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18827,15 +18263,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc1::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_rc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18854,15 +18289,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_rc1::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_rc1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18885,15 +18319,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_rc1::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_rc1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc1::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc1::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18906,8 +18339,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18917,7 +18349,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18950,15 +18382,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18977,8 +18408,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -19032,7 +18462,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -19057,8 +18487,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_rc1::IfcClassificationReferenceSelect ReferencedSource() const; @@ -19074,19 +18503,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -19095,8 +18523,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -19106,7 +18533,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -19146,8 +18573,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_rc1::IfcProfileDef > Profiles() const; @@ -19157,7 +18583,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -19170,15 +18596,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_rc1::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_rc1::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -19195,8 +18620,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc1::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19206,7 +18630,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_rc1::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_rc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19229,8 +18653,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19243,7 +18666,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_rc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19254,8 +18677,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19263,7 +18685,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19314,8 +18736,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19326,7 +18747,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19348,15 +18769,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_rc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19371,8 +18791,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_rc1::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19393,7 +18812,7 @@ public: void setRateSource(const ::Ifc4x3_rc1::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc1::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc1::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19414,8 +18833,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19430,7 +18848,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19439,8 +18857,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19450,7 +18867,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19465,8 +18882,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19479,7 +18895,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19488,8 +18904,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19503,7 +18918,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19591,8 +19006,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc1::IfcProfileDef ParentProfile() const; @@ -19605,15 +19019,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19685,7 +19098,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19697,8 +19110,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc1::IfcDocumentInformation RelatingDocument() const; @@ -19711,7 +19123,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19726,8 +19138,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19740,7 +19151,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19793,8 +19204,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_rc1::IfcVertex EdgeStart() const; @@ -19804,7 +19214,7 @@ public: void setEdgeEnd(const ::Ifc4x3_rc1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19841,8 +19251,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_rc1::IfcCurve EdgeGeometry() const; @@ -19852,7 +19261,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19879,8 +19288,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19898,13 +19306,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19914,7 +19321,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19925,8 +19332,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19938,7 +19344,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19986,8 +19392,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_rc1::IfcFaceBound > Bounds() const; @@ -19995,7 +19400,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -20004,8 +19409,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_rc1::IfcLoop Bound() const; @@ -20015,7 +19419,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -20024,12 +19428,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_rc1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -20069,8 +19472,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_rc1::IfcSurface FaceSurface() const; @@ -20080,7 +19482,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -20091,8 +19493,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -20114,7 +19515,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -20152,8 +19553,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > FillStyles() const; @@ -20162,7 +19562,7 @@ public: void setModelorDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelorDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20213,8 +19613,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20234,7 +19633,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc1::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc1::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20257,12 +19656,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20279,8 +19677,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc1::IfcGeometricRepresentationContext ParentContext() const; @@ -20306,7 +19703,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20317,15 +19714,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20374,8 +19770,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc1::IfcVirtualGridIntersection PlacementLocation() const; @@ -20387,7 +19782,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20406,8 +19801,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_rc1::IfcSurface BaseSurface() const; @@ -20417,7 +19811,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20456,21 +19850,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_rc1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc1::IfcTessellatedFaceSet& v); @@ -20482,13 +19874,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_rc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_rc1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc1::IfcTessellatedFaceSet& v); @@ -20496,19 +19887,18 @@ public: void setTexCoords(const ::Ifc4x3_rc1::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_rc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20517,15 +19907,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20566,8 +19955,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20579,7 +19967,7 @@ public: void setDurationType(const ::Ifc4x3_rc1::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc1::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc1::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20590,8 +19978,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20608,7 +19995,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20619,12 +20006,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20637,8 +20023,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20646,7 +20031,7 @@ public: void setOrientation(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20657,8 +20042,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc1::IfcAxis2Placement3D Position() const; @@ -20680,7 +20064,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20699,8 +20083,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20721,7 +20104,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20740,8 +20123,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20760,13 +20142,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearAxisWithInclination : public IfcGeometricRepresentationItem { public: - IfcLinearAxisWithInclination() {} - explicit IfcLinearAxisWithInclination (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_rc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v); @@ -20774,13 +20155,12 @@ public: void setInclinating(const ::Ifc4x3_rc1::IfcAxisLateralInclination& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination v2_Inclinating); + IfcLinearAxisWithInclination initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination v2_Inclinating); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_rc1::IfcCurve PlacementMeasuredAlong() const; void setPlacementMeasuredAlong(const ::Ifc4x3_rc1::IfcCurve& v); @@ -20792,31 +20172,29 @@ public: void setCartesianPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition); }; class IFC_PARSE_API IfcLinearPlacementWithInclination : public IfcLinearPlacement { public: - IfcLinearPlacementWithInclination() {} - explicit IfcLinearPlacementWithInclination (const std::weak_ptr& data) : IfcLinearPlacement(data) {} + using IfcLinearPlacement::IfcLinearPlacement; ::Ifc4x3_rc1::IfcAxisLateralInclination Inclinating() const; void setInclinating(const ::Ifc4x3_rc1::IfcAxisLateralInclination& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination v6_Inclinating); + IfcLinearPlacementWithInclination initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination v6_Inclinating); }; class IFC_PARSE_API IfcLinearSpanPlacement : public IfcLinearPlacement { public: - IfcLinearSpanPlacement() {} - explicit IfcLinearSpanPlacement (const std::weak_ptr& data) : IfcLinearPlacement(data) {} + using IfcLinearPlacement::IfcLinearPlacement; double Span() const; void setSpan(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span); + IfcLinearSpanPlacement initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20872,15 +20250,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_rc1::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_rc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_rc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc1::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20910,12 +20287,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20938,8 +20314,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_rc1::IfcRepresentationMap MappingSource() const; @@ -20949,7 +20324,7 @@ public: void setMappingTarget(const ::Ifc4x3_rc1::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc1::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_rc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc1::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20980,8 +20355,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -21007,7 +20381,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -21016,8 +20390,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -21037,7 +20410,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -21055,8 +20428,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -21069,7 +20441,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -21103,15 +20475,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_rc1::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_rc1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations, ::Ifc4x3_rc1::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations, ::Ifc4x3_rc1::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -21215,8 +20586,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc1::IfcMaterialLayerSet ForLayerSet() const; @@ -21247,7 +20617,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_rc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21258,8 +20628,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc1::IfcMaterialProfileSet ForProfileSet() const; @@ -21277,7 +20646,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21306,8 +20675,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc1::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21317,7 +20685,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_rc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21343,8 +20711,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21353,15 +20720,14 @@ public: void setMaterial(const ::Ifc4x3_rc1::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_rc1::IfcMaterial RelatingMaterial() const; @@ -21374,7 +20740,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21405,12 +20771,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21464,8 +20829,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21476,13 +20840,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21494,7 +20857,7 @@ public: void setTags(const std::optional< std::vector< std::string > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); + IfcOpenCrossProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21557,12 +20920,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21572,8 +20934,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc1::IfcOrganization RelatingOrganization() const; @@ -21583,13 +20944,12 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_rc1::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc1::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc1::IfcOrganization > v4_RelatedOrganizations); }; class IFC_PARSE_API IfcOrientationExpression : public IfcGeometricRepresentationItem { public: - IfcOrientationExpression() {} - explicit IfcOrientationExpression (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_rc1::IfcDirection LateralAxisDirection() const; void setLateralAxisDirection(const ::Ifc4x3_rc1::IfcDirection& v); @@ -21597,7 +20957,7 @@ public: void setVerticalAxisDirection(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection v2_VerticalAxisDirection); + IfcOrientationExpression initialize(::Ifc4x3_rc1::IfcDirection v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection v2_VerticalAxisDirection); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21608,8 +20968,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc1::IfcEdge EdgeElement() const; @@ -21619,7 +20978,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_rc1::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21665,15 +21024,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc1::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21691,15 +21049,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21712,8 +21069,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > HasQuantities() const; @@ -21729,7 +21085,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21751,8 +21107,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21770,7 +21125,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21783,15 +21138,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc1::IfcCartesianPoint Location() const; void setLocation(const ::Ifc4x3_rc1::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21800,8 +21154,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21811,7 +21164,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21820,12 +21173,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21838,8 +21190,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_rc1::IfcCurve BasisCurve() const; @@ -21849,7 +21200,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21862,8 +21213,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_rc1::IfcSurface BasisSurface() const; @@ -21876,7 +21226,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21919,15 +21269,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21987,8 +21336,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc1::IfcAxis2Placement3D Position() const; @@ -22000,7 +21348,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_rc1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc1::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc1::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -22011,25 +21359,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -22044,12 +21390,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -22065,14 +21410,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -22087,23 +21431,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_rc1::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_rc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v3_Properties, ::Ifc4x3_rc1::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -22119,7 +21461,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -22173,14 +21515,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -22192,8 +21533,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_rc1::IfcProperty DependingProperty() const; @@ -22206,7 +21546,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22252,15 +21592,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22289,22 +21628,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22342,8 +21679,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22353,7 +21689,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22362,8 +21698,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22373,7 +21708,7 @@ public: void setValues(const std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc1::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22382,8 +21717,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22405,7 +21739,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22417,12 +21751,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22432,8 +21765,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22443,7 +21775,7 @@ public: void setRelatingApproval(const ::Ifc4x3_rc1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22467,8 +21799,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_rc1::IfcConstraint RelatingConstraint() const; @@ -22478,14 +21809,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22534,7 +21864,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22575,15 +21905,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22592,8 +21921,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc1::IfcSectionTypeEnum::Value SectionType() const; @@ -22606,7 +21934,7 @@ public: void setEndProfile(const ::Ifc4x3_rc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc1::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc1::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22617,8 +21945,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22640,7 +21967,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22697,8 +22024,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_rc1::IfcCompositeCurve SpineCurve() const; @@ -22711,7 +22037,7 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_rc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcAxis2Placement3D > v3_CrossSectionPositions); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22727,26 +22053,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_rc1::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_rc1::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc1::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22759,8 +22083,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22773,7 +22096,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22782,12 +22105,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22796,8 +22118,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22819,7 +22140,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22828,8 +22149,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22842,7 +22162,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22851,8 +22171,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22874,22 +22193,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22899,8 +22217,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22922,7 +22239,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22934,15 +22251,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22956,15 +22272,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc1::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_rc1::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_rc1::IfcVertex v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc1::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22978,12 +22293,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -23032,8 +22346,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -23068,7 +22381,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_rc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -23090,8 +22403,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_rc1::IfcProfileDef SweptArea() const; @@ -23101,7 +22413,7 @@ public: void setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -23158,8 +22470,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc1::IfcCurve Directrix() const; @@ -23182,7 +22493,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -23196,15 +22507,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -23213,8 +22523,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_rc1::IfcProfileDef SweptCurve() const; @@ -23224,7 +22533,7 @@ public: void setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23256,8 +22565,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23288,17 +22596,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23312,8 +22619,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23327,7 +22633,7 @@ public: void setPath(const ::Ifc4x3_rc1::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23340,8 +22646,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc1::IfcPlanarExtent Extent() const; @@ -23351,7 +22656,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23420,8 +22725,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23443,7 +22747,7 @@ public: void setFontSize(const ::Ifc4x3_rc1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23485,8 +22789,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23502,7 +22805,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23537,8 +22840,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23557,7 +22859,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23589,8 +22891,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23606,7 +22907,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23676,8 +22977,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > RepresentationMaps() const; @@ -23688,7 +22988,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23704,8 +23004,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23721,7 +23020,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23753,8 +23052,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23779,7 +23077,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23790,8 +23088,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_rc1::IfcDirection Orientation() const; @@ -23801,7 +23098,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_rc1::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23817,15 +23114,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_rc1::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_rc1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_rc1::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -23847,8 +23143,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -23864,7 +23159,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23893,8 +23188,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23916,7 +23210,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23933,18 +23227,16 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_rc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; class IFC_PARSE_API IfcAlignment2DHorizontal : public IfcGeometricRepresentationItem { public: - IfcAlignment2DHorizontal() {} - explicit IfcAlignment2DHorizontal (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::optional< double > StartDistAlong() const; void setStartDistAlong(const std::optional< double >& v); @@ -23953,13 +23245,12 @@ public: std::vector< IfcAlignmentCurve > ToAlignmentCurve() const; // INVERSE IfcAlignmentCurve::Horizontal static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment > v2_Segments); + IfcAlignment2DHorizontal initialize(std::optional< double > v1_StartDistAlong, std::vector< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment > v2_Segments); }; class IFC_PARSE_API IfcAlignment2DSegment : public IfcGeometricRepresentationItem { public: - IfcAlignment2DSegment() {} - explicit IfcAlignment2DSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::optional< bool > TangentialContinuity() const; void setTangentialContinuity(const std::optional< bool >& v); @@ -23969,26 +23260,24 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag); + IfcAlignment2DSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag); }; class IFC_PARSE_API IfcAlignment2DVertical : public IfcGeometricRepresentationItem { public: - IfcAlignment2DVertical() {} - explicit IfcAlignment2DVertical (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > Segments() const; void setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >& v); std::vector< IfcAlignmentCurve > ToAlignmentCurve() const; // INVERSE IfcAlignmentCurve::Vertical static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > v1_Segments); + IfcAlignment2DVertical initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment > v1_Segments); }; class IFC_PARSE_API IfcAlignment2DVerticalSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DVerticalSegment() {} - explicit IfcAlignment2DVerticalSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -24001,7 +23290,7 @@ public: std::vector< IfcAlignment2DVertical > ToVertical() const; // INVERSE IfcAlignment2DVertical::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); + IfcAlignment2DVerticalSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -24025,8 +23314,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -24040,7 +23328,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_rc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc1::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -24081,8 +23369,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -24113,7 +23400,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -24126,15 +23413,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_rc1::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -24149,15 +23435,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_rc1::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -24174,8 +23459,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_rc1::IfcDirection Axis() const; @@ -24185,18 +23469,17 @@ public: void setRefDirection(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis, ::Ifc4x3_rc1::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Location, ::Ifc4x3_rc1::IfcDirection v2_Axis, ::Ifc4x3_rc1::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxisLateralInclination : public IfcGeometricRepresentationItem { public: - IfcAxisLateralInclination() {} - explicit IfcAxisLateralInclination (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< IfcLinearAxisWithInclination > ToLinearAxis() const; // INVERSE IfcLinearAxisWithInclination::Inclinating static const ifcopenshell::entity& Class(); - void initialize(); + IfcAxisLateralInclination initialize(); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -24226,8 +23509,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc1::IfcBooleanOperator::Value Operator() const; @@ -24240,7 +23522,7 @@ public: void setSecondOperand(const ::Ifc4x3_rc1::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -24256,12 +23538,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -24287,8 +23568,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc1::IfcCartesianPoint Corner() const; @@ -24304,7 +23584,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24338,15 +23618,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc1::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_rc1::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_rc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24372,8 +23651,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24392,7 +23670,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24403,31 +23681,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24435,13 +23710,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24449,7 +23723,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24483,8 +23757,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc1::IfcDirection Axis1() const; @@ -24500,7 +23773,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24509,12 +23782,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24528,15 +23800,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24545,15 +23816,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc1::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24568,8 +23838,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24579,7 +23848,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_rc1::IfcDirection v1_Axis1, ::Ifc4x3_rc1::IfcDirection v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24595,15 +23864,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24656,12 +23924,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_rc1::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24673,8 +23940,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24693,7 +23959,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24702,8 +23968,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24714,7 +23979,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc1::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc1::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24725,8 +23990,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. ::Ifc4x3_rc1::IfcTransitionCode::Value Transition() const; @@ -24742,7 +24006,7 @@ public: std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24761,8 +24025,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > >& v); @@ -24770,7 +24033,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24787,8 +24050,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24813,7 +24075,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24827,15 +24089,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24844,15 +24105,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24897,15 +24157,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_rc1::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_rc1::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_rc1::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24919,12 +24178,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24941,8 +24199,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_rc1::IfcPlane BasisSurface() const; @@ -24955,7 +24212,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_rc1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcPlane v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc1::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_rc1::IfcPlane v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc1::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24980,8 +24237,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_rc1::IfcSurface BasisSurface() const; @@ -24993,7 +24249,7 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -25004,21 +24260,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v); @@ -25028,13 +24282,12 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixDistanceSweptAreaSolid() {} - explicit IfcDirectrixDistanceSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v); @@ -25044,13 +24297,12 @@ public: void setEndDistance(const ::Ifc4x3_rc1::IfcDistanceExpression& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance); + IfcDirectrixDistanceSweptAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance); }; class IFC_PARSE_API IfcDistanceExpression : public IfcGeometricRepresentationItem { public: - IfcDistanceExpression() {} - explicit IfcDistanceExpression (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; double DistanceAlong() const; void setDistanceAlong(const double& v); @@ -25064,7 +24316,7 @@ public: void setAlongHorizontal(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal); + IfcDistanceExpression initialize(double v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, std::optional< bool > v5_AlongHorizontal); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -25094,8 +24346,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -25111,7 +24362,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -25126,15 +24377,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_rc1::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -25215,8 +24465,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -25228,7 +24477,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -25254,15 +24503,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -25271,15 +24519,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -25299,8 +24546,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -25310,7 +24556,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -25320,8 +24566,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -25338,7 +24583,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25410,8 +24655,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc1::IfcDirection ExtrudedDirection() const; @@ -25422,7 +24666,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25524,15 +24768,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_rc1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25548,15 +24791,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc1::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25607,8 +24849,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc1::IfcCurveStyle HatchLineAppearance() const; @@ -25635,7 +24876,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_rc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25644,8 +24885,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_rc1::IfcVector > TilingPattern() const; @@ -25658,7 +24898,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc1::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_rc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc1::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25720,15 +24960,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc1::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25760,12 +24999,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25806,8 +25044,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25816,7 +25053,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25881,15 +25118,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25900,12 +25136,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_rc1::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25972,8 +25207,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25996,13 +25230,12 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { public: - IfcInclinedReferenceSweptAreaSolid() {} - explicit IfcInclinedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixDistanceSweptAreaSolid(data) {} + using IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid; std::optional< bool > FixedAxisVertical() const; void setFixedAxisVertical(const std::optional< bool >& v); @@ -26010,32 +25243,30 @@ public: void setInclinating(const ::Ifc4x3_rc1::IfcAxisLateralInclination& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination v7_Inclinating); + IfcInclinedReferenceSweptAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination v7_Inclinating); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -26090,8 +25321,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -26113,7 +25343,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -26128,15 +25358,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -26153,8 +25382,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_rc1::IfcCartesianPoint Pnt() const; @@ -26164,7 +25392,7 @@ public: void setDir(const ::Ifc4x3_rc1::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc1::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc1::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -26231,15 +25459,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_rc1::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_rc1::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -26325,8 +25552,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -26337,19 +25563,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc1::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_rc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -26364,8 +25589,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -26375,7 +25599,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -26394,8 +25618,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26408,13 +25631,12 @@ public: void setRefDirection(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc1::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc1::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v); @@ -26422,7 +25644,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26433,8 +25655,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc1::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_rc1::IfcSurface& v); @@ -26442,7 +25663,7 @@ public: void setReferenceCurve(const ::Ifc4x3_rc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26452,8 +25673,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26461,7 +25681,7 @@ public: void setPlacement(const ::Ifc4x3_rc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc1::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc1::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26501,12 +25721,11 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26515,12 +25734,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26531,12 +25749,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26560,12 +25777,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26582,8 +25798,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26591,7 +25806,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26635,8 +25850,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26654,7 +25868,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26749,8 +25963,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_rc1::IfcObjectPlacement ObjectPlacement() const; @@ -26763,7 +25976,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26811,12 +26024,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26844,12 +26056,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26957,8 +26168,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_rc1::IfcValue UpperBoundValue() const; @@ -26976,7 +26186,7 @@ public: void setSetPointValue(const ::Ifc4x3_rc1::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc1::IfcUnit v5_Unit, ::Ifc4x3_rc1::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc1::IfcUnit v5_Unit, ::Ifc4x3_rc1::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -27057,8 +26267,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -27070,7 +26279,7 @@ public: void setEnumerationReference(const ::Ifc4x3_rc1::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -27139,8 +26348,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -27152,7 +26360,7 @@ public: void setUnit(const ::Ifc4x3_rc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_ListValues, ::Ifc4x3_rc1::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_ListValues, ::Ifc4x3_rc1::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -27171,8 +26379,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -27184,7 +26391,7 @@ public: void setPropertyReference(const ::Ifc4x3_rc1::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc1::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc1::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -27241,15 +26448,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_rc1::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_rc1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -27284,8 +26490,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -27309,7 +26514,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -27357,8 +26562,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -27372,7 +26576,7 @@ public: void setUnit(const ::Ifc4x3_rc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_NominalValue, ::Ifc4x3_rc1::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue v3_NominalValue, ::Ifc4x3_rc1::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27492,8 +26696,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27521,7 +26724,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27549,14 +26752,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -27576,8 +26778,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x3_rc1::IfcObjectTypeEnum::Value ProxyType() const; @@ -27587,7 +26788,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27611,8 +26812,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27625,7 +26825,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27717,8 +26917,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27731,7 +26930,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27750,8 +26949,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_rc1::IfcSurface BasisSurface() const; @@ -27776,7 +26974,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_rc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27806,8 +27004,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27817,7 +27014,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27832,8 +27029,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > RelatedObjects() const; @@ -27844,7 +27040,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27857,8 +27053,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc1::IfcActor RelatingActor() const; @@ -27868,7 +27063,7 @@ public: void setActingRole(const ::Ifc4x3_rc1::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27877,15 +27072,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc1::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_rc1::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27902,15 +27096,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_rc1::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_rc1::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27923,15 +27116,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27957,8 +27149,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27970,7 +27161,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_rc1::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27982,8 +27173,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27992,7 +27182,7 @@ public: void setRelatingProduct(const ::Ifc4x3_rc1::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -28002,8 +27192,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -28012,7 +27201,7 @@ public: void setRelatingResource(const ::Ifc4x3_rc1::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -28057,8 +27246,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -28067,22 +27255,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc1::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_rc1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -28116,23 +27303,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_rc1::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_rc1::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -28142,7 +27327,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_rc1::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -28153,15 +27338,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_rc1::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_rc1::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -28172,15 +27356,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc1::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_rc1::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -28278,39 +27461,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_rc1::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_rc1::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_rc1::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_rc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -28336,8 +27516,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_rc1::IfcConnectionGeometry ConnectionGeometry() const; @@ -28350,7 +27529,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -28384,8 +27563,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -28401,7 +27579,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28430,8 +27608,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc1::IfcPort RelatingPort() const; @@ -28443,7 +27620,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc1::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28460,8 +27637,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc1::IfcPort RelatingPort() const; @@ -28474,15 +27650,14 @@ public: void setRealizingElement(const ::Ifc4x3_rc1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcPort v6_RelatedPort, ::Ifc4x3_rc1::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort v5_RelatingPort, ::Ifc4x3_rc1::IfcPort v6_RelatedPort, ::Ifc4x3_rc1::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28492,7 +27667,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_rc1::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28520,8 +27695,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc1::IfcStructuralMember RelatingStructuralMember() const; @@ -28543,7 +27717,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28564,15 +27738,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_rc1::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_rc1::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc1::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc1::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28599,8 +27772,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_rc1::IfcElement > RealizingElements() const; @@ -28610,7 +27782,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement v6_RelatingElement, ::Ifc4x3_rc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28674,8 +27846,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28687,7 +27858,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28707,8 +27878,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28720,7 +27890,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28750,8 +27920,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28763,7 +27932,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc1::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28778,8 +27947,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc1::IfcContext RelatingContext() const; @@ -28789,7 +27957,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc1::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28823,12 +27991,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28859,12 +28026,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28883,8 +28049,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_rc1::IfcObject > RelatedObjects() const; @@ -28894,7 +28059,7 @@ public: void setRelatingObject(const ::Ifc4x3_rc1::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28913,8 +28078,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > RelatedObjects() const; @@ -28924,7 +28088,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28940,8 +28104,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28951,7 +28114,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_rc1::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc1::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc1::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -29024,8 +28187,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_rc1::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObject >& v); @@ -29034,7 +28196,7 @@ public: void setRelatingType(const ::Ifc4x3_rc1::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -29047,8 +28209,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc1::IfcOpeningElement RelatingOpeningElement() const; @@ -29060,7 +28221,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_rc1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -29071,8 +28232,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > RelatedControlElements() const; @@ -29082,7 +28242,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_rc1::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -29133,8 +28293,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_rc1::IfcInterferenceSelect RelatingElement() const; @@ -29153,7 +28312,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -29182,8 +28341,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -29197,13 +28355,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_rc1::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_rc1::IfcPositioningElement& v); @@ -29211,7 +28368,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_rc1::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc1::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc1::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -29247,8 +28404,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc1::IfcElement RelatingElement() const; @@ -29258,7 +28414,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_rc1::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -29311,8 +28467,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -29325,7 +28480,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -29383,8 +28538,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_rc1::IfcProcess RelatingProcess() const; @@ -29413,7 +28567,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29438,8 +28592,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_rc1::IfcSystem RelatingSystem() const; @@ -29453,7 +28606,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_rc1::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc1::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc1::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29619,8 +28772,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc1::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29645,7 +28797,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29696,8 +28848,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29705,7 +28856,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29741,8 +28892,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29750,7 +28900,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29761,8 +28911,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_rc1::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_rc1::IfcElement& v); @@ -29770,7 +28919,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_rc1::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29797,14 +28946,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29821,8 +28969,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29838,7 +28985,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29918,8 +29065,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_rc1::IfcAxis1Placement Axis() const; @@ -29929,7 +29075,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29991,14 +29137,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_rc1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc1::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30067,8 +29212,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -30078,7 +29222,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30163,8 +29307,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -30174,13 +29317,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_rc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v); @@ -30188,13 +29330,12 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_rc1::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc1::IfcDistanceExpression >& v); @@ -30202,13 +29343,12 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_rc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc1::IfcCurve& v); @@ -30220,7 +29360,7 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); + IfcSectionedSurface initialize(::Ifc4x3_rc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc1::IfcDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc1::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -30269,8 +29409,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -30321,7 +29460,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -30356,8 +29495,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -30369,7 +29507,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -30404,15 +29542,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30490,8 +29627,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30501,7 +29637,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30539,12 +29675,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30597,15 +29732,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30639,8 +29773,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30649,7 +29782,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30703,27 +29836,25 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30820,8 +29951,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30850,7 +29980,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30941,13 +30071,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30955,13 +30084,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30985,12 +30113,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -31014,8 +30141,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -31025,7 +30151,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -31047,12 +30173,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -31078,15 +30203,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -31101,21 +30225,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc1::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_rc1::IfcCurve& v); @@ -31125,7 +30247,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -31191,15 +30313,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_rc1::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_rc1::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcCurve v3_Directrix, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -31216,8 +30337,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_rc1::IfcDirection ExtrudedDirection() const; @@ -31227,7 +30347,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -31248,15 +30368,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc1::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_rc1::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_rc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -31290,14 +30409,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31546,8 +30664,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31590,7 +30707,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31634,8 +30751,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31646,13 +30762,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_rc1::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_rc1::IfcCartesianPointList3D& v); @@ -31660,13 +30775,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31674,7 +30788,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -31741,21 +30855,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcTransportElementTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31767,19 +30879,18 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31881,8 +30992,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31930,7 +31040,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31979,8 +31089,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -32001,7 +31110,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -32020,8 +31129,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_rc1::IfcActorSelect TheActor() const; @@ -32029,7 +31137,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -32066,12 +31174,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -32096,20 +31203,18 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_rc1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcAlignment2DCant : public IfcAxisLateralInclination { public: - IfcAlignment2DCant() {} - explicit IfcAlignment2DCant (const std::weak_ptr& data) : IfcAxisLateralInclination(data) {} + using IfcAxisLateralInclination::IfcAxisLateralInclination; std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > Segments() const; void setSegments(const std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >& v); @@ -32117,13 +31222,12 @@ public: void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > v1_Segments, double v2_RailHeadDistance); + IfcAlignment2DCant initialize(std::vector< ::Ifc4x3_rc1::IfcAlignment2DCantSegment > v1_Segments, double v2_RailHeadDistance); }; class IFC_PARSE_API IfcAlignment2DCantSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DCantSegment() {} - explicit IfcAlignment2DCantSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -32140,26 +31244,24 @@ public: std::vector< IfcAlignment2DCant > ToCant() const; // INVERSE IfcAlignment2DCant::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight); + IfcAlignment2DCantSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight); }; class IFC_PARSE_API IfcAlignment2DHorizontalSegment : public IfcAlignment2DSegment { public: - IfcAlignment2DHorizontalSegment() {} - explicit IfcAlignment2DHorizontalSegment (const std::weak_ptr& data) : IfcAlignment2DSegment(data) {} + using IfcAlignment2DSegment::IfcAlignment2DSegment; ::Ifc4x3_rc1::IfcCurveSegment2D CurveGeometry() const; void setCurveGeometry(const ::Ifc4x3_rc1::IfcCurveSegment2D& v); std::vector< IfcAlignment2DHorizontal > ToHorizontal() const; // INVERSE IfcAlignment2DHorizontal::Segments static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D v4_CurveGeometry); + IfcAlignment2DHorizontalSegment initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D v4_CurveGeometry); }; class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegCircularArc() {} - explicit IfcAlignment2DVerSegCircularArc (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; double Radius() const; void setRadius(const double& v); @@ -32167,23 +31269,21 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex); + IfcAlignment2DVerSegCircularArc initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex); }; class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegLine() {} - explicit IfcAlignment2DVerSegLine (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); + IfcAlignment2DVerSegLine initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient); }; class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegParabolicArc() {} - explicit IfcAlignment2DVerSegParabolicArc (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; double ParabolaConstant() const; void setParabolaConstant(const double& v); @@ -32191,13 +31291,12 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex); + IfcAlignment2DVerSegParabolicArc initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex); }; class IFC_PARSE_API IfcAlignment2DVerSegTransition : public IfcAlignment2DVerticalSegment { public: - IfcAlignment2DVerSegTransition() {} - explicit IfcAlignment2DVerSegTransition (const std::weak_ptr& data) : IfcAlignment2DVerticalSegment(data) {} + using IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment; std::optional< double > StartRadius() const; void setStartRadius(const std::optional< double >& v); @@ -32211,7 +31310,7 @@ public: void setTransitionCurveType(const ::Ifc4x3_rc1::IfcTransitionCurveType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, std::optional< double > v8_StartRadius, std::optional< double > v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType); + IfcAlignment2DVerSegTransition initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, std::optional< double > v8_StartRadius, std::optional< double > v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -32388,15 +31487,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -32469,8 +31567,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -32495,7 +31592,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -32506,8 +31603,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -32526,7 +31622,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32627,8 +31723,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32641,7 +31736,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32652,12 +31747,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32671,13 +31765,12 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; std::vector< IfcLinearPositioningElement > PositioningElement() const; // INVERSE IfcLinearPositioningElement::Axis static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32858,25 +31951,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32905,15 +31996,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32935,25 +32025,23 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -33055,15 +32143,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc1::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -33075,8 +32162,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -33087,7 +32173,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -33157,8 +32243,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > Segments() const; @@ -33168,7 +32253,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -33183,12 +32268,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -33197,15 +32281,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_rc1::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -33222,15 +32305,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -33247,15 +32329,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -33272,15 +32353,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -33356,8 +32436,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_rc1::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_rc1::IfcResourceTime& v); @@ -33367,7 +32446,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -33381,8 +32460,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -33393,7 +32471,7 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -33433,8 +32511,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -33457,7 +32534,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc1::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -33484,8 +32561,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -33513,19 +32589,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc1::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33608,15 +32683,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33630,8 +32704,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33639,7 +32712,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33664,21 +32737,19 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: - IfcCurveSegment2D() {} - explicit IfcCurveSegment2D (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc1::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_rc1::IfcCartesianPoint& v); @@ -33688,7 +32759,7 @@ public: void setSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcCurveSegment2D initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33746,25 +32817,23 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_rc1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33796,12 +32865,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33870,12 +32938,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33974,8 +33041,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -34024,7 +33090,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -34073,8 +33139,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -34095,7 +33160,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -34227,8 +33292,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc1::IfcDoorTypeEnum::Value PredefinedType() const; @@ -34242,7 +33306,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -34318,12 +33382,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -34340,12 +33403,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -34402,8 +33464,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -34421,7 +33482,7 @@ public: std::vector< IfcRelCoversBldgElements > HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34519,8 +33580,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34532,7 +33592,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34558,15 +33618,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34647,12 +33706,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34665,12 +33723,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34701,8 +33758,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34712,7 +33768,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34739,12 +33795,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34774,14 +33829,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc1::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34811,15 +33865,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34849,15 +33902,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34938,8 +33990,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34959,7 +34010,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_rc1::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc1::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc1::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34968,12 +34019,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -35001,12 +34051,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -35034,31 +34083,28 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_rc1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_rc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc1::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_rc1::IfcFacilityPartTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFacilityPartTypeSelect& v); @@ -35066,7 +34112,7 @@ public: void setUsageType(const ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -35078,15 +34124,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -35113,15 +34158,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -35219,12 +34263,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -35283,13 +34326,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -35343,13 +34385,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -35375,12 +34416,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -35407,12 +34447,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -35448,15 +34487,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -35482,12 +34520,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35522,12 +34559,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35538,12 +34574,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35554,12 +34589,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35571,12 +34605,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35589,15 +34622,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_rc1::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35705,12 +34737,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35745,14 +34776,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35896,35 +34926,32 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35958,13 +34985,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35997,15 +35023,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -36035,45 +35060,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc1::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_rc1::IfcCartesianPointList& v); @@ -36083,7 +35104,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_rc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -36120,24 +35141,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -36152,8 +35171,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -36179,7 +35197,7 @@ public: void setOriginalValue(const ::Ifc4x3_rc1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -36210,27 +35228,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -36258,8 +35274,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -36267,7 +35282,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -36300,15 +35315,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc1::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -36343,49 +35357,45 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: - IfcLineSegment2D() {} - explicit IfcLineSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcLineSegment2D initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -36418,8 +35428,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -36430,7 +35439,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -36469,8 +35478,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36483,7 +35491,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36513,14 +35521,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36625,39 +35632,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc1::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36688,27 +35692,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36719,8 +35721,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36729,7 +35730,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36935,8 +35936,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36946,7 +35946,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -37043,12 +36043,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -37081,27 +36080,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc1::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Flexible() const; void setFlexible(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -37110,8 +36107,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -37123,7 +36119,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -37158,8 +36154,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -37178,7 +36173,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -37219,8 +36214,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -37239,7 +36233,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -37250,15 +36244,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_rc1::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -37291,15 +36284,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -37336,25 +36328,23 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: - IfcPlant() {} - explicit IfcPlant (const std::weak_ptr& data) : IfcGeographicElement(data) {} + using IfcGeographicElement::IfcGeographicElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcPlant initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -37435,21 +36425,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc1::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -37459,7 +36447,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_rc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -37477,15 +36465,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_rc1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -37542,27 +36529,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37670,8 +36655,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37679,7 +36663,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37726,8 +36710,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37750,7 +36733,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37861,8 +36844,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37871,7 +36853,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37910,15 +36892,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37950,27 +36931,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_rc1::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc1::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37994,25 +36973,23 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc1::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -38036,15 +37013,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -38081,15 +37057,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc1::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -38106,21 +37081,19 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value >& v); @@ -38128,7 +37101,7 @@ public: void setRestartDistance(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -38140,26 +37113,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38187,8 +37158,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -38211,7 +37181,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38226,8 +37196,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -38262,7 +37231,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v20_BendingParameters); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -38288,8 +37257,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -38303,17 +37271,16 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc1::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -38349,15 +37316,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc1::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -38398,25 +37364,23 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_rc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -38441,51 +37405,47 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc1::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc1::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignalTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38678,8 +37638,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38701,7 +37660,7 @@ public: void setSiteAddress(const ::Ifc4x3_rc1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc1::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc1::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38782,15 +37741,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc1::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38820,24 +37778,22 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: - IfcSolidStratum() {} - explicit IfcSolidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcSolidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -39091,8 +38047,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39108,7 +38063,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -39142,15 +38097,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -39235,8 +38189,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -39245,7 +38198,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -39275,15 +38228,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -39307,15 +38259,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -39352,15 +38303,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc1::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -39383,23 +38333,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_rc1::IfcBoundaryCondition AppliedCondition() const; @@ -39407,7 +38355,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -39467,8 +38415,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39478,7 +38425,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39499,8 +38446,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -39509,7 +38455,7 @@ public: void setAxis(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39550,8 +38496,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39563,7 +38508,7 @@ public: void setAxis(const ::Ifc4x3_rc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39587,12 +38532,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39646,15 +38590,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39665,12 +38608,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39707,8 +38649,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39729,7 +38670,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39778,12 +38719,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39800,15 +38740,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_rc1::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_rc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39855,12 +38794,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39868,8 +38806,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39883,7 +38820,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39939,8 +38876,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39950,7 +38886,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39966,12 +38902,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39999,8 +38934,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -40008,7 +38942,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -40044,15 +38978,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -40096,15 +39029,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -40125,14 +39057,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -40160,14 +39091,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -40203,21 +39133,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_rc1::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value >& v); @@ -40237,61 +39165,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc1::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTendonTypeEnum::Value& v); @@ -40303,19 +39226,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -40346,21 +39268,19 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: - IfcTransitionCurveSegment2D() {} - explicit IfcTransitionCurveSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; std::optional< double > StartRadius() const; void setStartRadius(const std::optional< double >& v); @@ -40374,7 +39294,7 @@ public: void setTransitionCurveType(const ::Ifc4x3_rc1::IfcTransitionCurveType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType); + IfcTransitionCurveSegment2D initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -40494,8 +39414,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -40504,7 +39423,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc1::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40586,8 +39505,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_rc1::IfcCurve BasisCurve() const; @@ -40606,7 +39524,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc1::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_rc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40639,15 +39557,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40679,15 +39596,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40729,39 +39645,36 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_rc1::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40799,14 +39712,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40832,15 +39744,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40930,22 +39841,20 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: - IfcVoidStratum() {} - explicit IfcVoidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVoidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40981,15 +39890,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -41077,15 +39985,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc1::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -41125,25 +40032,23 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: - IfcWaterStratum() {} - explicit IfcWaterStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcWaterStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -41268,8 +40173,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc1::IfcWindowTypeEnum::Value PredefinedType() const; @@ -41283,7 +40187,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -41300,8 +40204,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -41321,7 +40224,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -41369,8 +40272,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -41395,7 +40297,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -41424,8 +40326,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -41433,7 +40334,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -41477,8 +40378,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -41486,7 +40386,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41575,8 +40475,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41587,7 +40486,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41629,8 +40528,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41653,7 +40551,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41683,15 +40581,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41721,14 +40618,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41758,31 +40654,28 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment2DCantSegLine : public IfcAlignment2DCantSegment { public: - IfcAlignment2DCantSegLine() {} - explicit IfcAlignment2DCantSegLine (const std::weak_ptr& data) : IfcAlignment2DCantSegment(data) {} + using IfcAlignment2DCantSegment::IfcAlignment2DCantSegment; static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight); + IfcAlignment2DCantSegLine initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight); }; class IFC_PARSE_API IfcAlignment2DCantSegTransition : public IfcAlignment2DCantSegment { public: - IfcAlignment2DCantSegTransition() {} - explicit IfcAlignment2DCantSegTransition (const std::weak_ptr& data) : IfcAlignment2DCantSegment(data) {} + using IfcAlignment2DCantSegment::IfcAlignment2DCantSegment; std::optional< double > StartRadius() const; void setStartRadius(const std::optional< double >& v); @@ -41796,13 +40689,12 @@ public: void setTransitionCurveType(const ::Ifc4x3_rc1::IfcTransitionCurveType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight, std::optional< double > v10_StartRadius, std::optional< double > v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType); + IfcAlignment2DCantSegTransition initialize(std::optional< bool > v1_TangentialContinuity, std::optional< std::string > v2_StartTag, std::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, std::optional< double > v7_EndCantLeft, double v8_StartCantRight, std::optional< double > v9_EndCantRight, std::optional< double > v10_StartRadius, std::optional< double > v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType); }; class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: - IfcAlignmentCurve() {} - explicit IfcAlignmentCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc1::IfcAlignment2DHorizontal Horizontal() const; void setHorizontal(const ::Ifc4x3_rc1::IfcAlignment2DHorizontal& v); @@ -41812,7 +40704,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag); + IfcAlignmentCurve initialize(::Ifc4x3_rc1::IfcAlignment2DHorizontal v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical v2_Vertical, std::optional< std::string > v3_Tag); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41840,8 +40732,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41877,7 +40768,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_rc1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc1::IfcActorSelect v10_Owner, ::Ifc4x3_rc1::IfcActorSelect v11_User, ::Ifc4x3_rc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc1::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc1::IfcActorSelect v10_Owner, ::Ifc4x3_rc1::IfcActorSelect v11_User, ::Ifc4x3_rc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc1::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41923,15 +40814,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41984,8 +40874,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -42004,7 +40893,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -42025,8 +40914,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -42039,7 +40927,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -42141,27 +41029,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc1::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc1::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -42194,15 +41080,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -42213,34 +41098,31 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -42418,8 +41300,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -42432,7 +41313,7 @@ public: void setBuildingAddress(const ::Ifc4x3_rc1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc1::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc1::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -42453,15 +41334,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -42469,15 +41349,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -42515,15 +41394,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42563,8 +41441,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42573,23 +41450,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value >& v); @@ -42597,7 +41472,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42628,14 +41503,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42665,15 +41539,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42709,15 +41582,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42749,15 +41621,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42802,27 +41673,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42858,15 +41727,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc1::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42911,8 +41779,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42920,7 +41787,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42951,21 +41818,19 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_rc1::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: - IfcCircularArcSegment2D() {} - explicit IfcCircularArcSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; double Radius() const; void setRadius(const double& v); @@ -42973,17 +41838,16 @@ public: void setIsCCW(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); + IfcCircularArcSegment2D initialize(::Ifc4x3_rc1::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -43014,15 +41878,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc1::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -43297,8 +42160,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -43308,7 +42170,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -43557,12 +42419,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -43598,15 +42459,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -43637,15 +42497,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43676,15 +42535,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43710,8 +42568,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43719,7 +42576,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43749,8 +42606,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43758,7 +42614,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43777,8 +42633,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43786,19 +42641,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43831,15 +42685,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43876,27 +42729,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -44124,8 +42975,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -44134,7 +42984,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -44276,8 +43126,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -44287,7 +43136,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -44325,25 +43174,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_rc1::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -44520,15 +43367,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44720,27 +43566,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44781,15 +43625,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44847,12 +43690,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -45018,13 +43860,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -45096,13 +43937,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -45188,8 +44028,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -45201,7 +44040,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -45245,8 +44084,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -45258,7 +44096,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -45618,8 +44456,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -45648,7 +44485,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -45756,12 +44593,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45794,15 +44630,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45835,15 +44670,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -45873,49 +44707,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45948,15 +44778,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45987,15 +44816,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -46026,27 +44854,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -46082,15 +44908,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -46121,15 +44946,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -46160,15 +44984,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -46181,12 +45004,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -46231,14 +45053,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -46286,14 +45107,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -46361,14 +45181,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -46387,8 +45206,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -46396,7 +45214,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -46428,15 +45246,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_rc1::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -46469,15 +45286,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_rc1::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -46514,15 +45330,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -46535,12 +45350,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -46549,12 +45363,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -46588,15 +45401,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -46680,14 +45492,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -46696,12 +45507,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -46728,12 +45538,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46746,12 +45555,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46766,12 +45574,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46780,12 +45587,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46811,8 +45617,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -46821,17 +45626,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46931,8 +45735,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_rc1::IfcGridAxis > UAxes() const; @@ -46947,7 +45750,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -47001,14 +45804,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -47055,14 +45857,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -47123,14 +45924,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -47200,26 +46000,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -47270,14 +46068,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -47347,38 +46144,35 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; ::Ifc4x3_rc1::IfcCurve Axis() const; void setAxis(const ::Ifc4x3_rc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -47426,14 +46220,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -47687,8 +46480,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -47698,7 +46490,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -47941,36 +46733,33 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -48015,26 +46804,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -48043,12 +46830,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_rc1::IfcCompositeCurveSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -48118,26 +46904,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< bool > Flexible() const; void setFlexible(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -48159,8 +46943,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -48174,7 +46957,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -48263,14 +47046,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -48334,14 +47116,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -48573,8 +47354,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -48584,7 +47364,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -48741,12 +47521,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -48826,14 +47605,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -48877,15 +47655,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -48938,26 +47715,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -49093,8 +47868,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -49103,7 +47877,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -49240,8 +48014,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -49252,7 +48025,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -49444,8 +48217,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -49455,7 +48227,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -49495,27 +48267,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -49547,8 +48317,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -49563,7 +48332,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -49583,8 +48352,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -49607,7 +48375,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc1::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -49756,8 +48524,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -49766,7 +48533,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -49896,14 +48663,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -49955,15 +48721,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc1::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -49981,8 +48746,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -49990,19 +48754,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -50266,8 +49029,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -50277,7 +49039,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -50364,12 +49126,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -50532,12 +49293,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -50588,14 +49348,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -50661,14 +49420,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -50722,14 +49480,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -50898,8 +49655,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -50908,7 +49664,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -51079,8 +49835,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -51107,7 +49862,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -51134,8 +49889,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -51167,15 +49921,14 @@ public: void setSharedPlacement(const ::Ifc4x3_rc1::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -51186,7 +49939,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -51197,12 +49950,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -51294,14 +50046,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -51365,26 +50116,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -51430,14 +50179,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -51488,14 +50236,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -51525,15 +50272,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -51609,14 +50355,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -51806,14 +50551,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -52059,8 +50803,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -52070,7 +50813,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -52172,12 +50915,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -52383,12 +51125,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -52496,14 +51237,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -52865,8 +51605,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -52895,7 +51634,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -53013,12 +51752,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -53053,15 +51791,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -53122,14 +51859,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -53175,14 +51911,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -53231,14 +51966,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -53268,27 +52002,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v9_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc1::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v9_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -53470,14 +52202,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -53718,8 +52449,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -53729,7 +52459,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -53984,24 +52714,22 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -54074,24 +52802,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -54285,14 +53011,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -54337,14 +53062,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -54409,15 +53133,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -54480,15 +53203,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -54566,15 +53288,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -54665,27 +53386,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -54758,14 +53477,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -54835,14 +53553,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54948,14 +53665,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -55005,14 +53721,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -55082,14 +53797,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -55129,27 +53843,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc1::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc1::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -55202,14 +53914,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -55270,14 +53981,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -55352,26 +54062,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -55406,24 +54114,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -55505,13 +54211,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -55590,14 +54295,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -55650,14 +54354,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -55703,14 +54406,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -55812,14 +54514,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -55880,14 +54581,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -55932,26 +54632,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -56002,14 +54700,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -56054,14 +54751,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -56106,14 +54802,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -56171,14 +54866,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -56269,14 +54963,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -56346,14 +55039,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -56409,34 +55101,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -56492,14 +55181,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -56637,14 +55325,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -56703,14 +55390,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -56776,14 +55462,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -56829,14 +55514,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -56946,14 +55630,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_rc2.cpp b/src/ifcparse/schemas/Ifc4x3_rc2.cpp index db39bd1847..f3833a0b00 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc2.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc2.cpp @@ -7281,652 +7281,652 @@ const ifcopenshell::select_type& Ifc4x3_rc2::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[0]); } -void Ifc4x3_rc2::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcAbsorbedDoseMeasure Ifc4x3_rc2::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1]); } -void Ifc4x3_rc2::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcAccelerationMeasure Ifc4x3_rc2::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[46]); } -void Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcAmountOfSubstanceMeasure Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[49]); } -void Ifc4x3_rc2::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcAngularVelocityMeasure Ifc4x3_rc2::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[61]); } -void Ifc4x3_rc2::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcArcIndex Ifc4x3_rc2::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[62]); } -void Ifc4x3_rc2::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcAreaDensityMeasure Ifc4x3_rc2::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[63]); } -void Ifc4x3_rc2::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcAreaMeasure Ifc4x3_rc2::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[87]); } -void Ifc4x3_rc2::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcBinary Ifc4x3_rc2::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[94]); } -void Ifc4x3_rc2::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcBoolean Ifc4x3_rc2::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[109]); } -void Ifc4x3_rc2::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcBoxAlignment Ifc4x3_rc2::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[153]); } -void Ifc4x3_rc2::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcCardinalPointReference Ifc4x3_rc2::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[198]); } -void Ifc4x3_rc2::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcComplexNumber Ifc4x3_rc2::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[206]); } -void Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[236]); } -void Ifc4x3_rc2::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcContextDependentMeasure Ifc4x3_rc2::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[261]); } -void Ifc4x3_rc2::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcCountMeasure Ifc4x3_rc2::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[279]); } -void Ifc4x3_rc2::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcCurvatureMeasure Ifc4x3_rc2::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[300]); } -void Ifc4x3_rc2::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDate Ifc4x3_rc2::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[301]); } -void Ifc4x3_rc2::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDateTime Ifc4x3_rc2::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[302]); } -void Ifc4x3_rc2::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDayInMonthNumber Ifc4x3_rc2::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[303]); } -void Ifc4x3_rc2::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDayInWeekNumber Ifc4x3_rc2::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[312]); } -void Ifc4x3_rc2::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDescriptiveMeasure Ifc4x3_rc2::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[314]); } -void Ifc4x3_rc2::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDimensionCount Ifc4x3_rc2::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[357]); } -void Ifc4x3_rc2::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDoseEquivalentMeasure Ifc4x3_rc2::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[369]); } -void Ifc4x3_rc2::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDuration Ifc4x3_rc2::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[370]); } -void Ifc4x3_rc2::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcDynamicViscosityMeasure Ifc4x3_rc2::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[382]); } -void Ifc4x3_rc2::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcElectricCapacitanceMeasure Ifc4x3_rc2::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[383]); } -void Ifc4x3_rc2::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcElectricChargeMeasure Ifc4x3_rc2::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[384]); } -void Ifc4x3_rc2::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcElectricConductanceMeasure Ifc4x3_rc2::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[385]); } -void Ifc4x3_rc2::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcElectricCurrentMeasure Ifc4x3_rc2::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[401]); } -void Ifc4x3_rc2::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcElectricResistanceMeasure Ifc4x3_rc2::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[405]); } -void Ifc4x3_rc2::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcElectricVoltageMeasure Ifc4x3_rc2::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[420]); } -void Ifc4x3_rc2::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcEnergyMeasure Ifc4x3_rc2::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[501]); } -void Ifc4x3_rc2::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcFontStyle Ifc4x3_rc2::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[502]); } -void Ifc4x3_rc2::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcFontVariant Ifc4x3_rc2::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[503]); } -void Ifc4x3_rc2::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcFontWeight Ifc4x3_rc2::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[507]); } -void Ifc4x3_rc2::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcForceMeasure Ifc4x3_rc2::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[508]); } -void Ifc4x3_rc2::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcFrequencyMeasure Ifc4x3_rc2::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[529]); } -void Ifc4x3_rc2::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcGloballyUniqueId Ifc4x3_rc2::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[543]); } -void Ifc4x3_rc2::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcHeatFluxDensityMeasure Ifc4x3_rc2::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[544]); } -void Ifc4x3_rc2::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcHeatingValueMeasure Ifc4x3_rc2::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[548]); } -void Ifc4x3_rc2::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcIdentifier Ifc4x3_rc2::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[549]); } -void Ifc4x3_rc2::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcIlluminanceMeasure Ifc4x3_rc2::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[562]); } -void Ifc4x3_rc2::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcInductanceMeasure Ifc4x3_rc2::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[563]); } -void Ifc4x3_rc2::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcInteger Ifc4x3_rc2::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[564]); } -void Ifc4x3_rc2::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcIntegerCountRateMeasure Ifc4x3_rc2::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[573]); } -void Ifc4x3_rc2::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcIonConcentrationMeasure Ifc4x3_rc2::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[577]); } -void Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[583]); } -void Ifc4x3_rc2::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcKinematicViscosityMeasure Ifc4x3_rc2::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[585]); } -void Ifc4x3_rc2::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLabel Ifc4x3_rc2::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[593]); } -void Ifc4x3_rc2::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLanguageId Ifc4x3_rc2::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[596]); } -void Ifc4x3_rc2::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLengthMeasure Ifc4x3_rc2::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[626]); } -void Ifc4x3_rc2::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLineIndex Ifc4x3_rc2::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[618]); } -void Ifc4x3_rc2::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLinearForceMeasure Ifc4x3_rc2::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[619]); } -void Ifc4x3_rc2::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLinearMomentMeasure Ifc4x3_rc2::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[624]); } -void Ifc4x3_rc2::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLinearStiffnessMeasure Ifc4x3_rc2::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[625]); } -void Ifc4x3_rc2::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLinearVelocityMeasure Ifc4x3_rc2::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[633]); } -void Ifc4x3_rc2::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLogical Ifc4x3_rc2::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[637]); } -void Ifc4x3_rc2::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLuminousFluxMeasure Ifc4x3_rc2::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[638]); } -void Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[639]); } -void Ifc4x3_rc2::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcLuminousIntensityMeasure Ifc4x3_rc2::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[640]); } -void Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMagneticFluxDensityMeasure Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[641]); } -void Ifc4x3_rc2::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMagneticFluxMeasure Ifc4x3_rc2::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[648]); } -void Ifc4x3_rc2::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMassDensityMeasure Ifc4x3_rc2::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[649]); } -void Ifc4x3_rc2::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMassFlowRateMeasure Ifc4x3_rc2::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[650]); } -void Ifc4x3_rc2::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMassMeasure Ifc4x3_rc2::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[651]); } -void Ifc4x3_rc2::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMassPerLengthMeasure Ifc4x3_rc2::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[690]); } -void Ifc4x3_rc2::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcModulusOfElasticityMeasure Ifc4x3_rc2::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[691]); } -void Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[692]); } -void Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[694]); } -void Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[697]); } -void Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMoistureDiffusivityMeasure Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[698]); } -void Ifc4x3_rc2::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMolecularWeightMeasure Ifc4x3_rc2::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[699]); } -void Ifc4x3_rc2::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMomentOfInertiaMeasure Ifc4x3_rc2::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[700]); } -void Ifc4x3_rc2::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMonetaryMeasure Ifc4x3_rc2::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[702]); } -void Ifc4x3_rc2::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcMonthInYearNumber Ifc4x3_rc2::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[713]); } -void Ifc4x3_rc2::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcNonNegativeLengthMeasure Ifc4x3_rc2::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[714]); } -void Ifc4x3_rc2::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcNormalisedRatioMeasure Ifc4x3_rc2::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[716]); } -void Ifc4x3_rc2::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcNumericMeasure Ifc4x3_rc2::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[757]); } -void Ifc4x3_rc2::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPHMeasure Ifc4x3_rc2::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[744]); } -void Ifc4x3_rc2::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcParameterValue Ifc4x3_rc2::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[776]); } -void Ifc4x3_rc2::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPlanarForceMeasure Ifc4x3_rc2::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[778]); } -void Ifc4x3_rc2::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPlaneAngleMeasure Ifc4x3_rc2::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[795]); } -void Ifc4x3_rc2::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPositiveInteger Ifc4x3_rc2::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[796]); } -void Ifc4x3_rc2::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPositiveLengthMeasure Ifc4x3_rc2::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[797]); } -void Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPositivePlaneAngleMeasure Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[798]); } -void Ifc4x3_rc2::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPositiveRatioMeasure Ifc4x3_rc2::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[800]); } -void Ifc4x3_rc2::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPowerMeasure Ifc4x3_rc2::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[808]); } -void Ifc4x3_rc2::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPresentableText Ifc4x3_rc2::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[815]); } -void Ifc4x3_rc2::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcPressureMeasure Ifc4x3_rc2::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[849]); } -void Ifc4x3_rc2::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_rc2::IfcPropertySetDefinitionSet Ifc4x3_rc2::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_rc2::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[873]); } -void Ifc4x3_rc2::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcRadioActivityMeasure Ifc4x3_rc2::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[888]); } -void Ifc4x3_rc2::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcRatioMeasure Ifc4x3_rc2::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[891]); } -void Ifc4x3_rc2::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcReal Ifc4x3_rc2::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[990]); } -void Ifc4x3_rc2::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcRotationalFrequencyMeasure Ifc4x3_rc2::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[991]); } -void Ifc4x3_rc2::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcRotationalMassMeasure Ifc4x3_rc2::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[992]); } -void Ifc4x3_rc2::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcRotationalStiffnessMeasure Ifc4x3_rc2::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1005]); } -void Ifc4x3_rc2::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSectionModulusMeasure Ifc4x3_rc2::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1000]); } -void Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1023]); } -void Ifc4x3_rc2::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcShearModulusMeasure Ifc4x3_rc2::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1050]); } -void Ifc4x3_rc2::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSolidAngleMeasure Ifc4x3_rc2::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1054]); } -void Ifc4x3_rc2::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSoundPowerLevelMeasure Ifc4x3_rc2::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1055]); } -void Ifc4x3_rc2::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSoundPowerMeasure Ifc4x3_rc2::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1056]); } -void Ifc4x3_rc2::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSoundPressureLevelMeasure Ifc4x3_rc2::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1057]); } -void Ifc4x3_rc2::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSoundPressureMeasure Ifc4x3_rc2::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1073]); } -void Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1074]); } -void Ifc4x3_rc2::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSpecularExponent Ifc4x3_rc2::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1076]); } -void Ifc4x3_rc2::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcSpecularRoughness Ifc4x3_rc2::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1181]); } -void Ifc4x3_rc2::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTemperatureGradientMeasure Ifc4x3_rc2::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1182]); } -void Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1194]); } -void Ifc4x3_rc2::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcText Ifc4x3_rc2::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1195]); } -void Ifc4x3_rc2::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTextAlignment Ifc4x3_rc2::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1196]); } -void Ifc4x3_rc2::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTextDecoration Ifc4x3_rc2::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1197]); } -void Ifc4x3_rc2::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTextFontName Ifc4x3_rc2::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1206]); } -void Ifc4x3_rc2::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTextTransformation Ifc4x3_rc2::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1212]); } -void Ifc4x3_rc2::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcThermalAdmittanceMeasure Ifc4x3_rc2::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1213]); } -void Ifc4x3_rc2::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcThermalConductivityMeasure Ifc4x3_rc2::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1214]); } -void Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1215]); } -void Ifc4x3_rc2::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcThermalResistanceMeasure Ifc4x3_rc2::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1216]); } -void Ifc4x3_rc2::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcThermalTransmittanceMeasure Ifc4x3_rc2::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1217]); } -void Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1218]); } -void Ifc4x3_rc2::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTime Ifc4x3_rc2::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1219]); } -void Ifc4x3_rc2::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTimeMeasure Ifc4x3_rc2::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1225]); } -void Ifc4x3_rc2::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTimeStamp Ifc4x3_rc2::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1229]); } -void Ifc4x3_rc2::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcTorqueMeasure Ifc4x3_rc2::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1268]); } -void Ifc4x3_rc2::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcURIReference Ifc4x3_rc2::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1274]); } -void Ifc4x3_rc2::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcVaporPermeabilityMeasure Ifc4x3_rc2::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1291]); } -void Ifc4x3_rc2::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcVolumeMeasure Ifc4x3_rc2::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1292]); } -void Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcVolumetricFlowRateMeasure Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1298]); } -void Ifc4x3_rc2::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcWarpingConstantMeasure Ifc4x3_rc2::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc2::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC2_types[1299]); } -void Ifc4x3_rc2::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc2::IfcWarpingMomentMeasure Ifc4x3_rc2::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc2::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -7940,7 +7940,7 @@ void Ifc4x3_rc2::IfcActionRequest::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[2]); } -void Ifc4x3_rc2::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc2::IfcActionRequest Ifc4x3_rc2::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_rc2::IfcActorSelect Ifc4x3_rc2::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcActorSelect>(); } @@ -7949,7 +7949,7 @@ void Ifc4x3_rc2::IfcActor::setTheActor(const ::Ifc4x3_rc2::IfcActorSelect& v) { std::vector<::Ifc4x3_rc2::IfcRelAssignsToActor> Ifc4x3_rc2::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[919], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[6]); } -void Ifc4x3_rc2::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_rc2::IfcActor Ifc4x3_rc2::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_rc2::IfcRoleEnum::Value Ifc4x3_rc2::IfcActorRole::Role() const { return ::Ifc4x3_rc2::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7962,7 +7962,7 @@ void Ifc4x3_rc2::IfcActorRole::setDescription(const std::optional< std::string > std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[7]); } -void Ifc4x3_rc2::IfcActorRole::initialize(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc2::IfcActorRole Ifc4x3_rc2::IfcActorRole::initialize(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > Ifc4x3_rc2::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7970,7 +7970,7 @@ void Ifc4x3_rc2::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[9]); } -void Ifc4x3_rc2::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcActuator Ifc4x3_rc2::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value Ifc4x3_rc2::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7978,7 +7978,7 @@ void Ifc4x3_rc2::IfcActuatorType::setPredefinedType(const ::Ifc4x3_rc2::IfcActua const ifcopenshell::entity& Ifc4x3_rc2::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[10]); } -void Ifc4x3_rc2::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcActuatorType Ifc4x3_rc2::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Ifc4x3_rc2::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -7992,13 +7992,13 @@ std::vector<::Ifc4x3_rc2::IfcPerson> Ifc4x3_rc2::IfcAddress::OfPerson() const { std::vector<::Ifc4x3_rc2::IfcOrganization> Ifc4x3_rc2::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[735], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[12]); } -void Ifc4x3_rc2::IfcAddress::initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_rc2::IfcAddress Ifc4x3_rc2::IfcAddress::initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_rc2::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[14]); } -void Ifc4x3_rc2::IfcAdvancedBrep::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc2::IfcAdvancedBrep Ifc4x3_rc2::IfcAdvancedBrep::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_rc2::IfcClosedShell > Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcClosedShell>(es); } @@ -8006,13 +8006,13 @@ void Ifc4x3_rc2::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[15]); } -void Ifc4x3_rc2::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc2::IfcAdvancedBrepWithVoids Ifc4x3_rc2::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_rc2::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[16]); } -void Ifc4x3_rc2::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc2::IfcAdvancedFace Ifc4x3_rc2::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -8020,7 +8020,7 @@ void Ifc4x3_rc2::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[17]); } -void Ifc4x3_rc2::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcAirTerminal Ifc4x3_rc2::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -8028,7 +8028,7 @@ void Ifc4x3_rc2::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[18]); } -void Ifc4x3_rc2::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcAirTerminalBox Ifc4x3_rc2::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -8036,7 +8036,7 @@ void Ifc4x3_rc2::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[19]); } -void Ifc4x3_rc2::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcAirTerminalBoxType Ifc4x3_rc2::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -8044,7 +8044,7 @@ void Ifc4x3_rc2::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_rc2::IfcAi const ifcopenshell::entity& Ifc4x3_rc2::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[21]); } -void Ifc4x3_rc2::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcAirTerminalType Ifc4x3_rc2::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc2::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -8052,7 +8052,7 @@ void Ifc4x3_rc2::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[23]); } -void Ifc4x3_rc2::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcAirToAirHeatRecovery Ifc4x3_rc2::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -8060,7 +8060,7 @@ void Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[24]); } -void Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcAirToAirHeatRecoveryType Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > Ifc4x3_rc2::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8068,7 +8068,7 @@ void Ifc4x3_rc2::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[26]); } -void Ifc4x3_rc2::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcAlarm Ifc4x3_rc2::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value Ifc4x3_rc2::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8076,7 +8076,7 @@ void Ifc4x3_rc2::IfcAlarmType::setPredefinedType(const ::Ifc4x3_rc2::IfcAlarmTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[27]); } -void Ifc4x3_rc2::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcAlarmType Ifc4x3_rc2::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > Ifc4x3_rc2::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8084,7 +8084,7 @@ void Ifc4x3_rc2::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[29]); } -void Ifc4x3_rc2::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcAlignment Ifc4x3_rc2::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlignment2DVerSegCircularArc double Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(9); return v; } @@ -8094,13 +8094,13 @@ void Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::setIsConvex(const bool& v) { s const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[30]); } -void Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_Radius, bool v11_IsConvex) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_Radius));set_attribute_value(10, (v11_IsConvex)); } +Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_Radius, bool v11_IsConvex) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_Radius));set_attribute_value(10, (v11_IsConvex));; return *this; } // Function implementations for IfcAlignment2DVerSegLine const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignment2DVerSegLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[31]); } -void Ifc4x3_rc2::IfcAlignment2DVerSegLine::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc2::IfcAlignment2DVerSegLine Ifc4x3_rc2::IfcAlignment2DVerSegLine::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignment2DVerSegParabolicArc double Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(9); return v; } @@ -8110,7 +8110,7 @@ void Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::setIsConvex(const bool& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[32]); } -void Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_ParabolaConstant, bool v11_IsConvex) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_ParabolaConstant));set_attribute_value(10, (v11_IsConvex)); } +Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_ParabolaConstant, bool v11_IsConvex) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_ParabolaConstant));set_attribute_value(10, (v11_IsConvex));; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3_rc2::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8120,7 +8120,7 @@ void Ifc4x3_rc2::IfcAlignmentCant::setSegments(const std::vector< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[33]); } -void Ifc4x3_rc2::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance, std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment > v9_Segments) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));set_attribute_value(8, cast_vector(v9_Segments)); } +Ifc4x3_rc2::IfcAlignmentCant Ifc4x3_rc2::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance, std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment > v9_Segments) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));set_attribute_value(8, cast_vector(v9_Segments));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3_rc2::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8142,7 +8142,7 @@ void Ifc4x3_rc2::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[34]); } -void Ifc4x3_rc2::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, std::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); } if (v9_SmoothingLength) {set_attribute_value(8, (*v9_SmoothingLength)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcAlignmentCantSegment Ifc4x3_rc2::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, std::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); } if (v9_SmoothingLength) {set_attribute_value(8, (*v9_SmoothingLength)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentCurve ::Ifc4x3_rc2::IfcAlignmentHorizontal Ifc4x3_rc2::IfcAlignmentCurve::Horizontal() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAlignmentHorizontal>(); } @@ -8154,7 +8154,7 @@ void Ifc4x3_rc2::IfcAlignmentCurve::setTag(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[36]); } -void Ifc4x3_rc2::IfcAlignmentCurve::initialize(::Ifc4x3_rc2::IfcAlignmentHorizontal v1_Horizontal, ::Ifc4x3_rc2::IfcAlignmentVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_rc2::IfcAlignmentCurve Ifc4x3_rc2::IfcAlignmentCurve::initialize(::Ifc4x3_rc2::IfcAlignmentHorizontal v1_Horizontal, ::Ifc4x3_rc2::IfcAlignmentVertical v2_Vertical, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_Horizontal));set_attribute_value(1, (v2_Vertical)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcAlignmentHorizontal std::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontal::StartDistAlong() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -8164,7 +8164,7 @@ void Ifc4x3_rc2::IfcAlignmentHorizontal::setSegments(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[37]); } -void Ifc4x3_rc2::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< double > v8_StartDistAlong, std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment > v9_Segments) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_StartDistAlong) {set_attribute_value(7, (*v8_StartDistAlong)); }set_attribute_value(8, cast_vector(v9_Segments)); } +Ifc4x3_rc2::IfcAlignmentHorizontal Ifc4x3_rc2::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< double > v8_StartDistAlong, std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment > v9_Segments) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_StartDistAlong) {set_attribute_value(7, (*v8_StartDistAlong)); }set_attribute_value(8, cast_vector(v9_Segments));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } @@ -8184,7 +8184,7 @@ void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[38]); } -void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc2::IfcAlignmentHorizontalSegment Ifc4x3_rc2::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8194,7 +8194,7 @@ void Ifc4x3_rc2::IfcAlignmentParameterSegment::setEndTag(const std::optional< st const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[40]); } -void Ifc4x3_rc2::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3_rc2::IfcAlignmentParameterSegment Ifc4x3_rc2::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3_rc2::IfcAlignmentParameterSegment Ifc4x3_rc2::IfcAlignmentSegment::GeometricParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcAlignmentParameterSegment>(); } @@ -8202,7 +8202,7 @@ void Ifc4x3_rc2::IfcAlignmentSegment::setGeometricParameters(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[41]); } -void Ifc4x3_rc2::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcAlignmentParameterSegment v8_GeometricParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_GeometricParameters)); } +Ifc4x3_rc2::IfcAlignmentSegment Ifc4x3_rc2::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcAlignmentParameterSegment v8_GeometricParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_GeometricParameters));; return *this; } // Function implementations for IfcAlignmentVertical std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > Ifc4x3_rc2::IfcAlignmentVertical::Segments() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcAlignmentVerticalSegment>(es); } @@ -8210,7 +8210,7 @@ void Ifc4x3_rc2::IfcAlignmentVertical::setSegments(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[43]); } -void Ifc4x3_rc2::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > v8_Segments) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_Segments)); } +Ifc4x3_rc2::IfcAlignmentVertical Ifc4x3_rc2::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > v8_Segments) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_Segments));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8230,7 +8230,7 @@ void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[44]); } -void Ifc4x3_rc2::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc2::IfcAlignmentVerticalSegment Ifc4x3_rc2::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > Ifc4x3_rc2::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8239,7 +8239,7 @@ void Ifc4x3_rc2::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_ std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[944], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[50]); } -void Ifc4x3_rc2::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc2::IfcAnnotation Ifc4x3_rc2::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -8249,7 +8249,7 @@ void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[51]); } -void Ifc4x3_rc2::IfcAnnotationFillArea::initialize(::Ifc4x3_rc2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_rc2::IfcAnnotationFillArea Ifc4x3_rc2::IfcAnnotationFillArea::initialize(::Ifc4x3_rc2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcOrganization>(); } @@ -8263,7 +8263,7 @@ void Ifc4x3_rc2::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[53]); } -void Ifc4x3_rc2::IfcApplication::initialize(::Ifc4x3_rc2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_rc2::IfcApplication Ifc4x3_rc2::IfcApplication::initialize(::Ifc4x3_rc2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8290,7 +8290,7 @@ void Ifc4x3_rc2::IfcAppliedValue::setComponents(const std::optional< std::vector std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[54]); } -void Ifc4x3_rc2::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc2::IfcAppliedValue Ifc4x3_rc2::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_rc2::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8319,7 +8319,7 @@ std::vector<::Ifc4x3_rc2::IfcApprovalRelationship> Ifc4x3_rc2::IfcApproval::IsRe std::vector<::Ifc4x3_rc2::IfcApprovalRelationship> Ifc4x3_rc2::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[57], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[56]); } -void Ifc4x3_rc2::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcApproval>(); } @@ -8329,7 +8329,7 @@ void Ifc4x3_rc2::IfcApprovalRelationship::setRelatedApprovals(const std::vector< const ifcopenshell::entity& Ifc4x3_rc2::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[57]); } -void Ifc4x3_rc2::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc2::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_rc2::IfcApprovalRelationship Ifc4x3_rc2::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc2::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -8337,7 +8337,7 @@ void Ifc4x3_rc2::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[58]); } -void Ifc4x3_rc2::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_rc2::IfcArbitraryClosedProfileDef Ifc4x3_rc2::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } @@ -8345,7 +8345,7 @@ void Ifc4x3_rc2::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc2::IfcBou const ifcopenshell::entity& Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[59]); } -void Ifc4x3_rc2::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_rc2::IfcArbitraryOpenProfileDef Ifc4x3_rc2::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_rc2::IfcCurve > Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc2::IfcCurve>(es); } @@ -8353,7 +8353,7 @@ void Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vect const ifcopenshell::entity& Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[60]); } -void Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc2::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc2::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_rc2::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8377,7 +8377,7 @@ void Ifc4x3_rc2::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc2::IfcCostValue& const ifcopenshell::entity& Ifc4x3_rc2::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[66]); } -void Ifc4x3_rc2::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc2::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc2::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc2::IfcActorSelect v10_Owner, ::Ifc4x3_rc2::IfcActorSelect v11_User, ::Ifc4x3_rc2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc2::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_rc2::IfcAsset Ifc4x3_rc2::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc2::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc2::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc2::IfcActorSelect v10_Owner, ::Ifc4x3_rc2::IfcActorSelect v11_User, ::Ifc4x3_rc2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc2::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8407,7 +8407,7 @@ void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[67]); } -void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc2::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8415,7 +8415,7 @@ void Ifc4x3_rc2::IfcAudioVisualAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[68]); } -void Ifc4x3_rc2::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcAudioVisualAppliance Ifc4x3_rc2::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8423,7 +8423,7 @@ void Ifc4x3_rc2::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[69]); } -void Ifc4x3_rc2::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcAudioVisualApplianceType Ifc4x3_rc2::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -8431,7 +8431,7 @@ void Ifc4x3_rc2::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc2::IfcDirection& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[71]); } -void Ifc4x3_rc2::IfcAxis1Placement::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_rc2::IfcAxis1Placement Ifc4x3_rc2::IfcAxis1Placement::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -8439,7 +8439,7 @@ void Ifc4x3_rc2::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc2::IfcDir const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[73]); } -void Ifc4x3_rc2::IfcAxis2Placement2D::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_rc2::IfcAxis2Placement2D Ifc4x3_rc2::IfcAxis2Placement2D::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -8449,7 +8449,7 @@ void Ifc4x3_rc2::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc2::IfcDir const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[74]); } -void Ifc4x3_rc2::IfcAxis2Placement3D::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcAxis2Placement3D::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -8459,14 +8459,14 @@ void Ifc4x3_rc2::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[75]); } -void Ifc4x3_rc2::IfcAxis2PlacementLinear::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc2::IfcAxis2PlacementLinear Ifc4x3_rc2::IfcAxis2PlacementLinear::initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxisLateralInclination std::vector<::Ifc4x3_rc2::IfcLinearAxisWithInclination> Ifc4x3_rc2::IfcAxisLateralInclination::ToLinearAxis() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[616], 1)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcAxisLateralInclination::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[76]); } -void Ifc4x3_rc2::IfcAxisLateralInclination::initialize() { } +Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcAxisLateralInclination::initialize() { ; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_rc2::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8482,7 +8482,7 @@ void Ifc4x3_rc2::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc2::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[115]); } -void Ifc4x3_rc2::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_rc2::IfcBSplineCurve Ifc4x3_rc2::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8494,7 +8494,7 @@ void Ifc4x3_rc2::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc2::IfcKn const ifcopenshell::entity& Ifc4x3_rc2::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[117]); } -void Ifc4x3_rc2::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_rc2::IfcBSplineCurveWithKnots Ifc4x3_rc2::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_rc2::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8514,7 +8514,7 @@ void Ifc4x3_rc2::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc2::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[118]); } -void Ifc4x3_rc2::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_rc2::IfcBSplineSurface Ifc4x3_rc2::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8530,7 +8530,7 @@ void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[120]); } -void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_rc2::IfcBSplineSurfaceWithKnots Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > Ifc4x3_rc2::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8538,13 +8538,13 @@ void Ifc4x3_rc2::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[77]); } -void Ifc4x3_rc2::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBeam Ifc4x3_rc2::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[78]); } -void Ifc4x3_rc2::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBeamStandardCase Ifc4x3_rc2::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_rc2::IfcBeamTypeEnum::Value Ifc4x3_rc2::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8552,7 +8552,7 @@ void Ifc4x3_rc2::IfcBeamType::setPredefinedType(const ::Ifc4x3_rc2::IfcBeamTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[79]); } -void Ifc4x3_rc2::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcBeamType Ifc4x3_rc2::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > Ifc4x3_rc2::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8560,7 +8560,7 @@ void Ifc4x3_rc2::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[81]); } -void Ifc4x3_rc2::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBearing Ifc4x3_rc2::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_rc2::IfcBearingTypeEnum::Value Ifc4x3_rc2::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8568,7 +8568,7 @@ void Ifc4x3_rc2::IfcBearingType::setPredefinedType(const ::Ifc4x3_rc2::IfcBearin const ifcopenshell::entity& Ifc4x3_rc2::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[82]); } -void Ifc4x3_rc2::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcBearingType Ifc4x3_rc2::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_rc2::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8578,7 +8578,7 @@ void Ifc4x3_rc2::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[88]); } -void Ifc4x3_rc2::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_rc2::IfcBlobTexture Ifc4x3_rc2::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_rc2::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8590,7 +8590,7 @@ void Ifc4x3_rc2::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc2::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[89]); } -void Ifc4x3_rc2::IfcBlock::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_rc2::IfcBlock Ifc4x3_rc2::IfcBlock::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBlossCurve ::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcBlossCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } @@ -8602,7 +8602,7 @@ void Ifc4x3_rc2::IfcBlossCurve::setRadius(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc2::IfcBlossCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[90]); } -void Ifc4x3_rc2::IfcBlossCurve::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_CurveLength, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CurveLength));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_rc2::IfcBlossCurve Ifc4x3_rc2::IfcBlossCurve::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_CurveLength, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CurveLength));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > Ifc4x3_rc2::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8610,7 +8610,7 @@ void Ifc4x3_rc2::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[91]); } -void Ifc4x3_rc2::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBoiler Ifc4x3_rc2::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value Ifc4x3_rc2::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8618,13 +8618,13 @@ void Ifc4x3_rc2::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc2::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc2::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[92]); } -void Ifc4x3_rc2::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcBoilerType Ifc4x3_rc2::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_rc2::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[95]); } -void Ifc4x3_rc2::IfcBooleanClippingResult::initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc2::IfcBooleanClippingResult Ifc4x3_rc2::IfcBooleanClippingResult::initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc2::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8636,13 +8636,13 @@ void Ifc4x3_rc2::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc2::IfcBoole const ifcopenshell::entity& Ifc4x3_rc2::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[98]); } -void Ifc4x3_rc2::IfcBooleanResult::initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc2::IfcBooleanResult Ifc4x3_rc2::IfcBooleanResult::initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_rc2::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[99]); } -void Ifc4x3_rc2::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcBorehole Ifc4x3_rc2::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_rc2::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8650,13 +8650,13 @@ void Ifc4x3_rc2::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[100]); } -void Ifc4x3_rc2::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcBoundaryCondition Ifc4x3_rc2::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[101]); } -void Ifc4x3_rc2::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc2::IfcBoundaryCurve Ifc4x3_rc2::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8674,7 +8674,7 @@ void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[102]); } -void Ifc4x3_rc2::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_rc2::IfcBoundaryEdgeCondition Ifc4x3_rc2::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(); } @@ -8686,7 +8686,7 @@ void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(cons const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[103]); } -void Ifc4x3_rc2::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_rc2::IfcBoundaryFaceCondition Ifc4x3_rc2::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(); } @@ -8704,7 +8704,7 @@ void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[104]); } -void Ifc4x3_rc2::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_rc2::IfcBoundaryNodeCondition Ifc4x3_rc2::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_rc2::IfcWarpingStiffnessSelect Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcWarpingStiffnessSelect>(); } @@ -8712,20 +8712,20 @@ void Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[105]); } -void Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc2::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_rc2::IfcBoundaryNodeConditionWarping Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc2::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve std::vector<::Ifc4x3_rc2::IfcLinearPositioningElement> Ifc4x3_rc2::IfcBoundedCurve::PositioningElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[622], 7)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[106]); } -void Ifc4x3_rc2::IfcBoundedCurve::initialize() { } +Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[107]); } -void Ifc4x3_rc2::IfcBoundedSurface::initialize() { } +Ifc4x3_rc2::IfcBoundedSurface Ifc4x3_rc2::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } @@ -8739,7 +8739,7 @@ void Ifc4x3_rc2::IfcBoundingBox::setZDim(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc2::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[108]); } -void Ifc4x3_rc2::IfcBoundingBox::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_rc2::IfcBoundingBox Ifc4x3_rc2::IfcBoundingBox::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_rc2::IfcBoundingBox Ifc4x3_rc2::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcBoundingBox>(); } @@ -8747,7 +8747,7 @@ void Ifc4x3_rc2::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc2::IfcBounding const ifcopenshell::entity& Ifc4x3_rc2::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[110]); } -void Ifc4x3_rc2::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_rc2::IfcBoxedHalfSpace Ifc4x3_rc2::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > Ifc4x3_rc2::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8755,13 +8755,13 @@ void Ifc4x3_rc2::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[111]); } -void Ifc4x3_rc2::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc2::IfcBridge Ifc4x3_rc2::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart const ifcopenshell::entity& Ifc4x3_rc2::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[112]); } -void Ifc4x3_rc2::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType))); } +Ifc4x3_rc2::IfcBridgePart Ifc4x3_rc2::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8773,7 +8773,7 @@ void Ifc4x3_rc2::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc2::IfcPostalAd const ifcopenshell::entity& Ifc4x3_rc2::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[121]); } -void Ifc4x3_rc2::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc2::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_rc2::IfcBuilding Ifc4x3_rc2::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc2::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8781,7 +8781,7 @@ void Ifc4x3_rc2::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[122]); } -void Ifc4x3_rc2::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBuildingElementPart Ifc4x3_rc2::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8789,7 +8789,7 @@ void Ifc4x3_rc2::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[123]); } -void Ifc4x3_rc2::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcBuildingElementPartType Ifc4x3_rc2::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8797,7 +8797,7 @@ void Ifc4x3_rc2::IfcBuildingElementProxy::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[125]); } -void Ifc4x3_rc2::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBuildingElementProxy Ifc4x3_rc2::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8805,7 +8805,7 @@ void Ifc4x3_rc2::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[126]); } -void Ifc4x3_rc2::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcBuildingElementProxyType Ifc4x3_rc2::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_rc2::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8813,7 +8813,7 @@ void Ifc4x3_rc2::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc2::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[128]); } -void Ifc4x3_rc2::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_rc2::IfcBuildingStorey Ifc4x3_rc2::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8823,19 +8823,19 @@ void Ifc4x3_rc2::IfcBuildingSystem::setLongName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[129]); } -void Ifc4x3_rc2::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc2::IfcBuildingSystem Ifc4x3_rc2::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_rc2::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[131]); } -void Ifc4x3_rc2::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcBuiltElement Ifc4x3_rc2::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[132]); } -void Ifc4x3_rc2::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcBuiltElementType Ifc4x3_rc2::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8845,7 +8845,7 @@ void Ifc4x3_rc2::IfcBuiltSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc2::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[133]); } -void Ifc4x3_rc2::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc2::IfcBuiltSystem Ifc4x3_rc2::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > Ifc4x3_rc2::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8853,7 +8853,7 @@ void Ifc4x3_rc2::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[135]); } -void Ifc4x3_rc2::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcBurner Ifc4x3_rc2::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value Ifc4x3_rc2::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8861,7 +8861,7 @@ void Ifc4x3_rc2::IfcBurnerType::setPredefinedType(const ::Ifc4x3_rc2::IfcBurnerT const ifcopenshell::entity& Ifc4x3_rc2::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[136]); } -void Ifc4x3_rc2::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcBurnerType Ifc4x3_rc2::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_rc2::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8877,7 +8877,7 @@ void Ifc4x3_rc2::IfcCShapeProfileDef::setInternalFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[274]); } -void Ifc4x3_rc2::IfcCShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_rc2::IfcCShapeProfileDef Ifc4x3_rc2::IfcCShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8885,7 +8885,7 @@ void Ifc4x3_rc2::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[138]); } -void Ifc4x3_rc2::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCableCarrierFitting Ifc4x3_rc2::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8893,7 +8893,7 @@ void Ifc4x3_rc2::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[139]); } -void Ifc4x3_rc2::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCableCarrierFittingType Ifc4x3_rc2::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8901,7 +8901,7 @@ void Ifc4x3_rc2::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[141]); } -void Ifc4x3_rc2::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCableCarrierSegment Ifc4x3_rc2::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8909,7 +8909,7 @@ void Ifc4x3_rc2::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[142]); } -void Ifc4x3_rc2::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCableCarrierSegmentType Ifc4x3_rc2::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8917,7 +8917,7 @@ void Ifc4x3_rc2::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[144]); } -void Ifc4x3_rc2::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCableFitting Ifc4x3_rc2::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value Ifc4x3_rc2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8925,7 +8925,7 @@ void Ifc4x3_rc2::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_rc2::IfcC const ifcopenshell::entity& Ifc4x3_rc2::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[145]); } -void Ifc4x3_rc2::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCableFittingType Ifc4x3_rc2::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8933,7 +8933,7 @@ void Ifc4x3_rc2::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[147]); } -void Ifc4x3_rc2::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCableSegment Ifc4x3_rc2::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8941,7 +8941,7 @@ void Ifc4x3_rc2::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_rc2::IfcC const ifcopenshell::entity& Ifc4x3_rc2::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[148]); } -void Ifc4x3_rc2::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCableSegmentType Ifc4x3_rc2::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc2::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8949,7 +8949,7 @@ void Ifc4x3_rc2::IfcCaissonFoundation::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[150]); } -void Ifc4x3_rc2::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCaissonFoundation Ifc4x3_rc2::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8957,7 +8957,7 @@ void Ifc4x3_rc2::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[151]); } -void Ifc4x3_rc2::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCaissonFoundationType Ifc4x3_rc2::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_rc2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8965,13 +8965,13 @@ void Ifc4x3_rc2::IfcCartesianPoint::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[154]); } -void Ifc4x3_rc2::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[155]); } -void Ifc4x3_rc2::IfcCartesianPointList::initialize() { } +Ifc4x3_rc2::IfcCartesianPointList Ifc4x3_rc2::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8981,7 +8981,7 @@ void Ifc4x3_rc2::IfcCartesianPointList2D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[156]); } -void Ifc4x3_rc2::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc2::IfcCartesianPointList2D Ifc4x3_rc2::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8991,7 +8991,7 @@ void Ifc4x3_rc2::IfcCartesianPointList3D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[157]); } -void Ifc4x3_rc2::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc2::IfcCartesianPointList3D Ifc4x3_rc2::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -9005,13 +9005,13 @@ void Ifc4x3_rc2::IfcCartesianTransformationOperator::setScale(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[158]); } -void Ifc4x3_rc2::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc2::IfcCartesianTransformationOperator Ifc4x3_rc2::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[159]); } -void Ifc4x3_rc2::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc2::IfcCartesianTransformationOperator2D Ifc4x3_rc2::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -9019,7 +9019,7 @@ void Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::setScale2(const const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[160]); } -void Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -9027,7 +9027,7 @@ void Ifc4x3_rc2::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[161]); } -void Ifc4x3_rc2::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_rc2::IfcCartesianTransformationOperator3D Ifc4x3_rc2::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -9037,7 +9037,7 @@ void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale3(const const ifcopenshell::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[162]); } -void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_rc2::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -9045,7 +9045,7 @@ void Ifc4x3_rc2::IfcCenterLineProfileDef::setThickness(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[163]); } -void Ifc4x3_rc2::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_rc2::IfcCenterLineProfileDef Ifc4x3_rc2::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > Ifc4x3_rc2::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -9053,7 +9053,7 @@ void Ifc4x3_rc2::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[165]); } -void Ifc4x3_rc2::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcChiller Ifc4x3_rc2::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_rc2::IfcChillerTypeEnum::Value Ifc4x3_rc2::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -9061,7 +9061,7 @@ void Ifc4x3_rc2::IfcChillerType::setPredefinedType(const ::Ifc4x3_rc2::IfcChille const ifcopenshell::entity& Ifc4x3_rc2::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[166]); } -void Ifc4x3_rc2::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcChillerType Ifc4x3_rc2::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > Ifc4x3_rc2::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -9069,7 +9069,7 @@ void Ifc4x3_rc2::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[168]); } -void Ifc4x3_rc2::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcChimney Ifc4x3_rc2::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value Ifc4x3_rc2::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -9077,7 +9077,7 @@ void Ifc4x3_rc2::IfcChimneyType::setPredefinedType(const ::Ifc4x3_rc2::IfcChimne const ifcopenshell::entity& Ifc4x3_rc2::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[169]); } -void Ifc4x3_rc2::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcChimneyType Ifc4x3_rc2::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_rc2::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -9085,7 +9085,7 @@ void Ifc4x3_rc2::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc2::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[171]); } -void Ifc4x3_rc2::IfcCircle::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc2::IfcCircle Ifc4x3_rc2::IfcCircle::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_rc2::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -9093,7 +9093,7 @@ void Ifc4x3_rc2::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[172]); } -void Ifc4x3_rc2::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_rc2::IfcCircleHollowProfileDef Ifc4x3_rc2::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_rc2::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -9101,7 +9101,7 @@ void Ifc4x3_rc2::IfcCircleProfileDef::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc2::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[173]); } -void Ifc4x3_rc2::IfcCircleProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_rc2::IfcCircleProfileDef Ifc4x3_rc2::IfcCircleProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCircularArcSegment2D double Ifc4x3_rc2::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } @@ -9111,19 +9111,19 @@ void Ifc4x3_rc2::IfcCircularArcSegment2D::setIsCCW(const bool& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc2::IfcCircularArcSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[174]); } -void Ifc4x3_rc2::IfcCircularArcSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW)); } +Ifc4x3_rc2::IfcCircularArcSegment2D Ifc4x3_rc2::IfcCircularArcSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_rc2::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[175]); } -void Ifc4x3_rc2::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcCivilElement Ifc4x3_rc2::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[176]); } -void Ifc4x3_rc2::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcCivilElementType Ifc4x3_rc2::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_rc2::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9145,7 +9145,7 @@ std::vector<::Ifc4x3_rc2::IfcRelAssociatesClassification> Ifc4x3_rc2::IfcClassif std::vector<::Ifc4x3_rc2::IfcClassificationReference> Ifc4x3_rc2::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[178], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[177]); } -void Ifc4x3_rc2::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_rc2::IfcClassification Ifc4x3_rc2::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_rc2::IfcClassificationReferenceSelect Ifc4x3_rc2::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcClassificationReferenceSelect>(); } @@ -9159,13 +9159,13 @@ std::vector<::Ifc4x3_rc2::IfcRelAssociatesClassification> Ifc4x3_rc2::IfcClassif std::vector<::Ifc4x3_rc2::IfcClassificationReference> Ifc4x3_rc2::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[178], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[178]); } -void Ifc4x3_rc2::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_rc2::IfcClassificationReference Ifc4x3_rc2::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_rc2::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[181]); } -void Ifc4x3_rc2::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc2::IfcClosedShell Ifc4x3_rc2::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid ::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcClothoid::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } @@ -9175,7 +9175,7 @@ void Ifc4x3_rc2::IfcClothoid::setClothoidConstant(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc2::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[182]); } -void Ifc4x3_rc2::IfcClothoid::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3_rc2::IfcClothoid Ifc4x3_rc2::IfcClothoid::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > Ifc4x3_rc2::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9183,7 +9183,7 @@ void Ifc4x3_rc2::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[183]); } -void Ifc4x3_rc2::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCoil Ifc4x3_rc2::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_rc2::IfcCoilTypeEnum::Value Ifc4x3_rc2::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9191,7 +9191,7 @@ void Ifc4x3_rc2::IfcCoilType::setPredefinedType(const ::Ifc4x3_rc2::IfcCoilTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[184]); } -void Ifc4x3_rc2::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCoilType Ifc4x3_rc2::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_rc2::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9203,7 +9203,7 @@ void Ifc4x3_rc2::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc2::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[188]); } -void Ifc4x3_rc2::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_rc2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9211,7 +9211,7 @@ void Ifc4x3_rc2::IfcColourRgbList::setColourList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4x3_rc2::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[189]); } -void Ifc4x3_rc2::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_rc2::IfcColourRgbList Ifc4x3_rc2::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_rc2::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9219,7 +9219,7 @@ void Ifc4x3_rc2::IfcColourSpecification::setName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc2::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[190]); } -void Ifc4x3_rc2::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcColourSpecification Ifc4x3_rc2::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > Ifc4x3_rc2::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9227,13 +9227,13 @@ void Ifc4x3_rc2::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[191]); } -void Ifc4x3_rc2::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcColumn Ifc4x3_rc2::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[192]); } -void Ifc4x3_rc2::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcColumnStandardCase Ifc4x3_rc2::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_rc2::IfcColumnTypeEnum::Value Ifc4x3_rc2::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9241,7 +9241,7 @@ void Ifc4x3_rc2::IfcColumnType::setPredefinedType(const ::Ifc4x3_rc2::IfcColumnT const ifcopenshell::entity& Ifc4x3_rc2::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[193]); } -void Ifc4x3_rc2::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcColumnType Ifc4x3_rc2::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9249,7 +9249,7 @@ void Ifc4x3_rc2::IfcCommunicationsAppliance::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc2::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[195]); } -void Ifc4x3_rc2::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCommunicationsAppliance Ifc4x3_rc2::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9257,7 +9257,7 @@ void Ifc4x3_rc2::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[196]); } -void Ifc4x3_rc2::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCommunicationsApplianceType Ifc4x3_rc2::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_rc2::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9267,7 +9267,7 @@ void Ifc4x3_rc2::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[199]); } -void Ifc4x3_rc2::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc2::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_rc2::IfcComplexProperty Ifc4x3_rc2::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc2::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_rc2::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9279,7 +9279,7 @@ void Ifc4x3_rc2::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[200]); } -void Ifc4x3_rc2::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_rc2::IfcComplexPropertyTemplate Ifc4x3_rc2::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_rc2::IfcSegment > Ifc4x3_rc2::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcSegment>(es); } @@ -9289,13 +9289,13 @@ void Ifc4x3_rc2::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[202]); } -void Ifc4x3_rc2::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc2::IfcCompositeCurve Ifc4x3_rc2::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[203]); } -void Ifc4x3_rc2::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc2::IfcCompositeCurveOnSurface Ifc4x3_rc2::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_rc2::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9306,7 +9306,7 @@ void Ifc4x3_rc2::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc2::If std::vector<::Ifc4x3_rc2::IfcCompositeCurve> Ifc4x3_rc2::IfcCompositeCurveSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[202], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[204]); } -void Ifc4x3_rc2::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_rc2::IfcCompositeCurveSegment Ifc4x3_rc2::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_rc2::IfcProfileDef > Ifc4x3_rc2::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcProfileDef>(es); } @@ -9316,7 +9316,7 @@ void Ifc4x3_rc2::IfcCompositeProfileDef::setLabel(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_rc2::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[205]); } -void Ifc4x3_rc2::IfcCompositeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_rc2::IfcCompositeProfileDef Ifc4x3_rc2::IfcCompositeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > Ifc4x3_rc2::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9324,7 +9324,7 @@ void Ifc4x3_rc2::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[207]); } -void Ifc4x3_rc2::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCompressor Ifc4x3_rc2::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value Ifc4x3_rc2::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9332,7 +9332,7 @@ void Ifc4x3_rc2::IfcCompressorType::setPredefinedType(const ::Ifc4x3_rc2::IfcCom const ifcopenshell::entity& Ifc4x3_rc2::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[208]); } -void Ifc4x3_rc2::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCompressorType Ifc4x3_rc2::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > Ifc4x3_rc2::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9340,7 +9340,7 @@ void Ifc4x3_rc2::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[210]); } -void Ifc4x3_rc2::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCondenser Ifc4x3_rc2::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value Ifc4x3_rc2::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9348,7 +9348,7 @@ void Ifc4x3_rc2::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc2::IfcCond const ifcopenshell::entity& Ifc4x3_rc2::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[211]); } -void Ifc4x3_rc2::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCondenserType Ifc4x3_rc2::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } @@ -9356,7 +9356,7 @@ void Ifc4x3_rc2::IfcConic::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[213]); } -void Ifc4x3_rc2::IfcConic::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc2::IfcConic Ifc4x3_rc2::IfcConic::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_rc2::IfcFace > Ifc4x3_rc2::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcFace>(es); } @@ -9364,7 +9364,7 @@ void Ifc4x3_rc2::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[214]); } -void Ifc4x3_rc2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc2::IfcConnectedFaceSet Ifc4x3_rc2::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_rc2::IfcCurveOrEdgeCurve Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(); } @@ -9374,13 +9374,13 @@ void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[215]); } -void Ifc4x3_rc2::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_rc2::IfcConnectionCurveGeometry Ifc4x3_rc2::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[216]); } -void Ifc4x3_rc2::IfcConnectionGeometry::initialize() { } +Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9392,7 +9392,7 @@ void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInZ(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[217]); } -void Ifc4x3_rc2::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_rc2::IfcConnectionPointEccentricity Ifc4x3_rc2::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_rc2::IfcPointOrVertexPoint Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(); } @@ -9402,7 +9402,7 @@ void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[218]); } -void Ifc4x3_rc2::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_rc2::IfcConnectionPointGeometry Ifc4x3_rc2::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(); } @@ -9412,7 +9412,7 @@ void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[219]); } -void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_rc2::IfcConnectionSurfaceGeometry Ifc4x3_rc2::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_rc2::IfcSolidOrShell Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSolidOrShell>(); } @@ -9422,7 +9422,7 @@ void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const :: const ifcopenshell::entity& Ifc4x3_rc2::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[221]); } -void Ifc4x3_rc2::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc2::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_rc2::IfcConnectionVolumeGeometry Ifc4x3_rc2::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc2::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_rc2::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9444,7 +9444,7 @@ std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcConst std::vector<::Ifc4x3_rc2::IfcResourceConstraintRelationship> Ifc4x3_rc2::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[974], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[222]); } -void Ifc4x3_rc2::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_rc2::IfcConstraint Ifc4x3_rc2::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9452,7 +9452,7 @@ void Ifc4x3_rc2::IfcConstructionEquipmentResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[224]); } -void Ifc4x3_rc2::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcConstructionEquipmentResource Ifc4x3_rc2::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9460,7 +9460,7 @@ void Ifc4x3_rc2::IfcConstructionEquipmentResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[225]); } -void Ifc4x3_rc2::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcConstructionEquipmentResourceType Ifc4x3_rc2::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9468,7 +9468,7 @@ void Ifc4x3_rc2::IfcConstructionMaterialResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[227]); } -void Ifc4x3_rc2::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcConstructionMaterialResource Ifc4x3_rc2::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9476,7 +9476,7 @@ void Ifc4x3_rc2::IfcConstructionMaterialResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[228]); } -void Ifc4x3_rc2::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcConstructionMaterialResourceType Ifc4x3_rc2::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9484,7 +9484,7 @@ void Ifc4x3_rc2::IfcConstructionProductResource::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[230]); } -void Ifc4x3_rc2::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcConstructionProductResource Ifc4x3_rc2::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9492,7 +9492,7 @@ void Ifc4x3_rc2::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[231]); } -void Ifc4x3_rc2::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcConstructionProductResourceType Ifc4x3_rc2::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_rc2::IfcResourceTime Ifc4x3_rc2::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcResourceTime>(); } @@ -9504,7 +9504,7 @@ void Ifc4x3_rc2::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[233]); } -void Ifc4x3_rc2::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_rc2::IfcConstructionResource Ifc4x3_rc2::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > Ifc4x3_rc2::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc2::IfcAppliedValue>(es); } @@ -9514,7 +9514,7 @@ void Ifc4x3_rc2::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[234]); } -void Ifc4x3_rc2::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_rc2::IfcConstructionResourceType Ifc4x3_rc2::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_rc2::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9532,7 +9532,7 @@ std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcContext::IsD std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[947], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[235]); } -void Ifc4x3_rc2::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc2::IfcContext Ifc4x3_rc2::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_rc2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9541,7 +9541,7 @@ void Ifc4x3_rc2::IfcContextDependentUnit::setName(const std::string& v) { set_at std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[237]); } -void Ifc4x3_rc2::IfcContextDependentUnit::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_rc2::IfcContextDependentUnit Ifc4x3_rc2::IfcContextDependentUnit::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_rc2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9550,7 +9550,7 @@ void Ifc4x3_rc2::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_rc2::IfcRelAssignsToControl> Ifc4x3_rc2::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[920], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[238]); } -void Ifc4x3_rc2::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_rc2::IfcControl Ifc4x3_rc2::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > Ifc4x3_rc2::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9558,7 +9558,7 @@ void Ifc4x3_rc2::IfcController::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[239]); } -void Ifc4x3_rc2::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcController Ifc4x3_rc2::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_rc2::IfcControllerTypeEnum::Value Ifc4x3_rc2::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9566,7 +9566,7 @@ void Ifc4x3_rc2::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc2::IfcCon const ifcopenshell::entity& Ifc4x3_rc2::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[240]); } -void Ifc4x3_rc2::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcControllerType Ifc4x3_rc2::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc2::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9577,7 +9577,7 @@ void Ifc4x3_rc2::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc2: std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[242]); } -void Ifc4x3_rc2::IfcConversionBasedUnit::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_rc2::IfcConversionBasedUnit Ifc4x3_rc2::IfcConversionBasedUnit::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9585,7 +9585,7 @@ void Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::setConversionOffset(const dou const ifcopenshell::entity& Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[243]); } -void Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_rc2::IfcConversionBasedUnitWithOffset Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc2::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9593,7 +9593,7 @@ void Ifc4x3_rc2::IfcConveyorSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[244]); } -void Ifc4x3_rc2::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcConveyorSegment Ifc4x3_rc2::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc2::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9601,7 +9601,7 @@ void Ifc4x3_rc2::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[245]); } -void Ifc4x3_rc2::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcConveyorSegmentType Ifc4x3_rc2::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc2::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9609,7 +9609,7 @@ void Ifc4x3_rc2::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[247]); } -void Ifc4x3_rc2::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCooledBeam Ifc4x3_rc2::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value Ifc4x3_rc2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9617,7 +9617,7 @@ void Ifc4x3_rc2::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_rc2::IfcCoo const ifcopenshell::entity& Ifc4x3_rc2::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[248]); } -void Ifc4x3_rc2::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCooledBeamType Ifc4x3_rc2::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc2::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9625,7 +9625,7 @@ void Ifc4x3_rc2::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[250]); } -void Ifc4x3_rc2::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCoolingTower Ifc4x3_rc2::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9633,7 +9633,7 @@ void Ifc4x3_rc2::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc2::IfcC const ifcopenshell::entity& Ifc4x3_rc2::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[251]); } -void Ifc4x3_rc2::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCoolingTowerType Ifc4x3_rc2::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect Ifc4x3_rc2::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect>(); } @@ -9643,7 +9643,7 @@ void Ifc4x3_rc2::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc2::IfcCoo const ifcopenshell::entity& Ifc4x3_rc2::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[253]); } -void Ifc4x3_rc2::IfcCoordinateOperation::initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_rc2::IfcCoordinateOperation Ifc4x3_rc2::IfcCoordinateOperation::initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x3_rc2::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9658,7 +9658,7 @@ void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optio std::vector<::Ifc4x3_rc2::IfcCoordinateOperation> Ifc4x3_rc2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[253], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[254]); } -void Ifc4x3_rc2::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x3_rc2::IfcCoordinateReferenceSystem Ifc4x3_rc2::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > Ifc4x3_rc2::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9670,7 +9670,7 @@ void Ifc4x3_rc2::IfcCostItem::setCostQuantities(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3_rc2::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[256]); } -void Ifc4x3_rc2::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_rc2::IfcCostItem Ifc4x3_rc2::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc2::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9684,13 +9684,13 @@ void Ifc4x3_rc2::IfcCostSchedule::setUpdateDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[258]); } -void Ifc4x3_rc2::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_rc2::IfcCostSchedule Ifc4x3_rc2::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_rc2::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[260]); } -void Ifc4x3_rc2::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc2::IfcCostValue Ifc4x3_rc2::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > Ifc4x3_rc2::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9698,7 +9698,7 @@ void Ifc4x3_rc2::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[262]); } -void Ifc4x3_rc2::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCourse Ifc4x3_rc2::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_rc2::IfcCourseTypeEnum::Value Ifc4x3_rc2::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9706,7 +9706,7 @@ void Ifc4x3_rc2::IfcCourseType::setPredefinedType(const ::Ifc4x3_rc2::IfcCourseT const ifcopenshell::entity& Ifc4x3_rc2::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[263]); } -void Ifc4x3_rc2::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCourseType Ifc4x3_rc2::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > Ifc4x3_rc2::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9716,7 +9716,7 @@ std::vector<::Ifc4x3_rc2::IfcRelCoversSpaces> Ifc4x3_rc2::IfcCovering::CoversSpa std::vector<::Ifc4x3_rc2::IfcRelCoversBldgElements> Ifc4x3_rc2::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[945], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[265]); } -void Ifc4x3_rc2::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCovering Ifc4x3_rc2::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value Ifc4x3_rc2::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9724,7 +9724,7 @@ void Ifc4x3_rc2::IfcCoveringType::setPredefinedType(const ::Ifc4x3_rc2::IfcCover const ifcopenshell::entity& Ifc4x3_rc2::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[266]); } -void Ifc4x3_rc2::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCoveringType Ifc4x3_rc2::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc2::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9732,7 +9732,7 @@ void Ifc4x3_rc2::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[268]); } -void Ifc4x3_rc2::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcCrewResource Ifc4x3_rc2::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value Ifc4x3_rc2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9740,7 +9740,7 @@ void Ifc4x3_rc2::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc2::IfcC const ifcopenshell::entity& Ifc4x3_rc2::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[269]); } -void Ifc4x3_rc2::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcCrewResourceType Ifc4x3_rc2::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } @@ -9748,7 +9748,7 @@ void Ifc4x3_rc2::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc2::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc2::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[271]); } -void Ifc4x3_rc2::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc2::IfcCsgPrimitive3D Ifc4x3_rc2::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_rc2::IfcCsgSelect Ifc4x3_rc2::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCsgSelect>(); } @@ -9756,7 +9756,7 @@ void Ifc4x3_rc2::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc2::IfcCsgSe const ifcopenshell::entity& Ifc4x3_rc2::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[273]); } -void Ifc4x3_rc2::IfcCsgSolid::initialize(::Ifc4x3_rc2::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_rc2::IfcCsgSolid Ifc4x3_rc2::IfcCsgSolid::initialize(::Ifc4x3_rc2::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_rc2::IfcMonetaryUnit Ifc4x3_rc2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMonetaryUnit>(); } @@ -9772,7 +9772,7 @@ void Ifc4x3_rc2::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc2::IfcL const ifcopenshell::entity& Ifc4x3_rc2::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[275]); } -void Ifc4x3_rc2::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc2::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_rc2::IfcCurrencyRelationship Ifc4x3_rc2::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc2::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc2::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9780,7 +9780,7 @@ void Ifc4x3_rc2::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[276]); } -void Ifc4x3_rc2::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcCurtainWall Ifc4x3_rc2::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value Ifc4x3_rc2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9788,13 +9788,13 @@ void Ifc4x3_rc2::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc2::IfcCu const ifcopenshell::entity& Ifc4x3_rc2::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[277]); } -void Ifc4x3_rc2::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcCurtainWallType Ifc4x3_rc2::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_rc2::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[280]); } -void Ifc4x3_rc2::IfcCurve::initialize() { } +Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_rc2::IfcPlane Ifc4x3_rc2::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPlane>(); } @@ -9806,7 +9806,7 @@ void Ifc4x3_rc2::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[281]); } -void Ifc4x3_rc2::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc2::IfcPlane v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc2::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_rc2::IfcCurveBoundedPlane Ifc4x3_rc2::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc2::IfcPlane v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc2::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -9818,7 +9818,7 @@ void Ifc4x3_rc2::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[282]); } -void Ifc4x3_rc2::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_rc2::IfcCurveBoundedSurface Ifc4x3_rc2::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcCurveSegment::StartPlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcPlacement>(); } @@ -9830,7 +9830,7 @@ void Ifc4x3_rc2::IfcCurveSegment::setParentCurve(const ::Ifc4x3_rc2::IfcCurve& v const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[288]); } -void Ifc4x3_rc2::IfcCurveSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve v4_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_StartPlacement));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_ParentCurve)); } +Ifc4x3_rc2::IfcCurveSegment Ifc4x3_rc2::IfcCurveSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve v4_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_StartPlacement));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_ParentCurve));; return *this; } // Function implementations for IfcCurveSegment2D ::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcCurveSegment2D::StartPoint() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } @@ -9842,7 +9842,7 @@ void Ifc4x3_rc2::IfcCurveSegment2D::setSegmentLength(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[289]); } -void Ifc4x3_rc2::IfcCurveSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x3_rc2::IfcCurveSegment2D Ifc4x3_rc2::IfcCurveSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_rc2::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9856,7 +9856,7 @@ void Ifc4x3_rc2::IfcCurveStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[290]); } -void Ifc4x3_rc2::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc2::IfcCurveStyle Ifc4x3_rc2::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9866,7 +9866,7 @@ void Ifc4x3_rc2::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[291]); } -void Ifc4x3_rc2::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_rc2::IfcCurveStyleFont Ifc4x3_rc2::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9878,7 +9878,7 @@ void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[292]); } -void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_rc2::IfcCurveStyleFontAndScaling Ifc4x3_rc2::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_rc2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9888,7 +9888,7 @@ void Ifc4x3_rc2::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doubl const ifcopenshell::entity& Ifc4x3_rc2::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[293]); } -void Ifc4x3_rc2::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_rc2::IfcCurveStyleFontPattern Ifc4x3_rc2::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_rc2::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9896,7 +9896,7 @@ void Ifc4x3_rc2::IfcCylindricalSurface::setRadius(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc2::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[295]); } -void Ifc4x3_rc2::IfcCylindricalSurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc2::IfcCylindricalSurface Ifc4x3_rc2::IfcCylindricalSurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > Ifc4x3_rc2::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9904,7 +9904,7 @@ void Ifc4x3_rc2::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[296]); } -void Ifc4x3_rc2::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDamper Ifc4x3_rc2::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_rc2::IfcDamperTypeEnum::Value Ifc4x3_rc2::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9912,19 +9912,19 @@ void Ifc4x3_rc2::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc2::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc2::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[297]); } -void Ifc4x3_rc2::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDamperType Ifc4x3_rc2::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_rc2::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[304]); } -void Ifc4x3_rc2::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcDeepFoundation Ifc4x3_rc2::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_rc2::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[305]); } -void Ifc4x3_rc2::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcDeepFoundationType Ifc4x3_rc2::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -9936,7 +9936,7 @@ void Ifc4x3_rc2::IfcDerivedProfileDef::setLabel(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[308]); } -void Ifc4x3_rc2::IfcDerivedProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc2::IfcDerivedProfileDef Ifc4x3_rc2::IfcDerivedProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > Ifc4x3_rc2::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcDerivedUnitElement>(es); } @@ -9948,7 +9948,7 @@ void Ifc4x3_rc2::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc2::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[309]); } -void Ifc4x3_rc2::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4x3_rc2::IfcDerivedUnit Ifc4x3_rc2::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_rc2::IfcNamedUnit Ifc4x3_rc2::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcNamedUnit>(); } @@ -9958,7 +9958,7 @@ void Ifc4x3_rc2::IfcDerivedUnitElement::setExponent(const int& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc2::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[310]); } -void Ifc4x3_rc2::IfcDerivedUnitElement::initialize(::Ifc4x3_rc2::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_rc2::IfcDerivedUnitElement Ifc4x3_rc2::IfcDerivedUnitElement::initialize(::Ifc4x3_rc2::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_rc2::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9978,7 +9978,7 @@ void Ifc4x3_rc2::IfcDimensionalExponents::setLuminousIntensityExponent(const int const ifcopenshell::entity& Ifc4x3_rc2::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[313]); } -void Ifc4x3_rc2::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_rc2::IfcDimensionalExponents Ifc4x3_rc2::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_rc2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9986,7 +9986,7 @@ void Ifc4x3_rc2::IfcDirection::setDirectionRatios(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc2::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[315]); } -void Ifc4x3_rc2::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -9998,7 +9998,7 @@ void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[317]); } -void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDistanceSweptAreaSolid ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -10010,7 +10010,7 @@ void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[318]); } -void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); } +Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc2::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -10018,7 +10018,7 @@ void Ifc4x3_rc2::IfcDiscreteAccessory::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[319]); } -void Ifc4x3_rc2::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDiscreteAccessory Ifc4x3_rc2::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -10026,7 +10026,7 @@ void Ifc4x3_rc2::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[320]); } -void Ifc4x3_rc2::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDiscreteAccessoryType Ifc4x3_rc2::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10034,7 +10034,7 @@ void Ifc4x3_rc2::IfcDistributionBoard::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[322]); } -void Ifc4x3_rc2::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDistributionBoard Ifc4x3_rc2::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10042,7 +10042,7 @@ void Ifc4x3_rc2::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[323]); } -void Ifc4x3_rc2::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDistributionBoardType Ifc4x3_rc2::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc2::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10050,7 +10050,7 @@ void Ifc4x3_rc2::IfcDistributionChamberElement::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[325]); } -void Ifc4x3_rc2::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDistributionChamberElement Ifc4x3_rc2::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -10058,52 +10058,52 @@ void Ifc4x3_rc2::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[326]); } -void Ifc4x3_rc2::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDistributionChamberElementType Ifc4x3_rc2::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[328]); } -void Ifc4x3_rc2::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc2::IfcDistributionCircuit Ifc4x3_rc2::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_rc2::IfcRelFlowControlElements> Ifc4x3_rc2::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[955], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[329]); } -void Ifc4x3_rc2::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcDistributionControlElement Ifc4x3_rc2::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[330]); } -void Ifc4x3_rc2::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcDistributionControlElementType Ifc4x3_rc2::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_rc2::IfcRelConnectsPortToElement> Ifc4x3_rc2::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[939], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[331]); } -void Ifc4x3_rc2::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcDistributionElement Ifc4x3_rc2::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[332]); } -void Ifc4x3_rc2::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcDistributionElementType Ifc4x3_rc2::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_rc2::IfcRelFlowControlElements> Ifc4x3_rc2::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[955], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[333]); } -void Ifc4x3_rc2::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcDistributionFlowElement Ifc4x3_rc2::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[334]); } -void Ifc4x3_rc2::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcDistributionFlowElementType Ifc4x3_rc2::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > Ifc4x3_rc2::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -10115,7 +10115,7 @@ void Ifc4x3_rc2::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[335]); } -void Ifc4x3_rc2::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_rc2::IfcDistributionPort Ifc4x3_rc2::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_rc2::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -10125,7 +10125,7 @@ void Ifc4x3_rc2::IfcDistributionSystem::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc2::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[337]); } -void Ifc4x3_rc2::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc2::IfcDistributionSystem Ifc4x3_rc2::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_rc2::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10169,7 +10169,7 @@ std::vector<::Ifc4x3_rc2::IfcDocumentInformationRelationship> Ifc4x3_rc2::IfcDoc std::vector<::Ifc4x3_rc2::IfcDocumentInformationRelationship> Ifc4x3_rc2::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[341], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[340]); } -void Ifc4x3_rc2::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_rc2::IfcDocumentInformation Ifc4x3_rc2::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc2::IfcDocumentInformation Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDocumentInformation>(); } @@ -10181,7 +10181,7 @@ void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelationshipType(const s const ifcopenshell::entity& Ifc4x3_rc2::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[341]); } -void Ifc4x3_rc2::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_rc2::IfcDocumentInformationRelationship Ifc4x3_rc2::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_rc2::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10192,7 +10192,7 @@ void Ifc4x3_rc2::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc2: std::vector<::Ifc4x3_rc2::IfcRelAssociatesDocument> Ifc4x3_rc2::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[930], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[342]); } -void Ifc4x3_rc2::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_rc2::IfcDocumentReference Ifc4x3_rc2::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_rc2::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10208,7 +10208,7 @@ void Ifc4x3_rc2::IfcDoor::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[345]); } -void Ifc4x3_rc2::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc2::IfcDoor Ifc4x3_rc2::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10240,7 +10240,7 @@ void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[346]); } -void Ifc4x3_rc2::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_rc2::IfcDoorLiningProperties Ifc4x3_rc2::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10256,13 +10256,13 @@ void Ifc4x3_rc2::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[349]); } -void Ifc4x3_rc2::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc2::IfcDoorPanelProperties Ifc4x3_rc2::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[350]); } -void Ifc4x3_rc2::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc2::IfcDoorStandardCase Ifc4x3_rc2::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value Ifc4x3_rc2::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -10276,7 +10276,7 @@ void Ifc4x3_rc2::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc2::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[351]); } -void Ifc4x3_rc2::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc2::IfcDoorStyle Ifc4x3_rc2::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_rc2::IfcDoorTypeEnum::Value Ifc4x3_rc2::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10290,19 +10290,19 @@ void Ifc4x3_rc2::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc2::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[354]); } -void Ifc4x3_rc2::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc2::IfcDoorType Ifc4x3_rc2::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc2::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[358]); } -void Ifc4x3_rc2::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc2::IfcDraughtingPreDefinedColour Ifc4x3_rc2::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[359]); } -void Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc2::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10310,7 +10310,7 @@ void Ifc4x3_rc2::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[360]); } -void Ifc4x3_rc2::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDuctFitting Ifc4x3_rc2::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value Ifc4x3_rc2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10318,7 +10318,7 @@ void Ifc4x3_rc2::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_rc2::IfcDu const ifcopenshell::entity& Ifc4x3_rc2::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[361]); } -void Ifc4x3_rc2::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDuctFittingType Ifc4x3_rc2::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc2::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10326,7 +10326,7 @@ void Ifc4x3_rc2::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[363]); } -void Ifc4x3_rc2::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDuctSegment Ifc4x3_rc2::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10334,7 +10334,7 @@ void Ifc4x3_rc2::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_rc2::IfcDu const ifcopenshell::entity& Ifc4x3_rc2::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[364]); } -void Ifc4x3_rc2::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDuctSegmentType Ifc4x3_rc2::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc2::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10342,7 +10342,7 @@ void Ifc4x3_rc2::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[366]); } -void Ifc4x3_rc2::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcDuctSilencer Ifc4x3_rc2::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10350,7 +10350,7 @@ void Ifc4x3_rc2::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_rc2::IfcD const ifcopenshell::entity& Ifc4x3_rc2::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[367]); } -void Ifc4x3_rc2::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcDuctSilencerType Ifc4x3_rc2::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10358,13 +10358,13 @@ void Ifc4x3_rc2::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[371]); } -void Ifc4x3_rc2::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcEarthworksCut Ifc4x3_rc2::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_rc2::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[373]); } -void Ifc4x3_rc2::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcEarthworksElement Ifc4x3_rc2::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10372,7 +10372,7 @@ void Ifc4x3_rc2::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[374]); } -void Ifc4x3_rc2::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcEarthworksFill Ifc4x3_rc2::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcVertex>(); } @@ -10382,7 +10382,7 @@ void Ifc4x3_rc2::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc2::IfcVertex& v) { set_att const ifcopenshell::entity& Ifc4x3_rc2::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[376]); } -void Ifc4x3_rc2::IfcEdge::initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_rc2::IfcEdge Ifc4x3_rc2::IfcEdge::initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -10392,7 +10392,7 @@ void Ifc4x3_rc2::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc2::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[377]); } -void Ifc4x3_rc2::IfcEdgeCurve::initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_rc2::IfcEdgeCurve Ifc4x3_rc2::IfcEdgeCurve::initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > Ifc4x3_rc2::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcOrientedEdge>(es); } @@ -10400,7 +10400,7 @@ void Ifc4x3_rc2::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOr const ifcopenshell::entity& Ifc4x3_rc2::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[378]); } -void Ifc4x3_rc2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc2::IfcEdgeLoop Ifc4x3_rc2::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc2::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10408,7 +10408,7 @@ void Ifc4x3_rc2::IfcElectricAppliance::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[379]); } -void Ifc4x3_rc2::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricAppliance Ifc4x3_rc2::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10416,7 +10416,7 @@ void Ifc4x3_rc2::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[380]); } -void Ifc4x3_rc2::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricApplianceType Ifc4x3_rc2::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10424,7 +10424,7 @@ void Ifc4x3_rc2::IfcElectricDistributionBoard::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[386]); } -void Ifc4x3_rc2::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricDistributionBoard Ifc4x3_rc2::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10432,7 +10432,7 @@ void Ifc4x3_rc2::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[387]); } -void Ifc4x3_rc2::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricDistributionBoardType Ifc4x3_rc2::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10440,7 +10440,7 @@ void Ifc4x3_rc2::IfcElectricFlowStorageDevice::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[389]); } -void Ifc4x3_rc2::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricFlowStorageDevice Ifc4x3_rc2::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10448,7 +10448,7 @@ void Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[390]); } -void Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricFlowStorageDeviceType Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10456,7 +10456,7 @@ void Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[392]); } -void Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricFlowTreatmentDevice Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10464,7 +10464,7 @@ void Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[393]); } -void Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc2::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10472,7 +10472,7 @@ void Ifc4x3_rc2::IfcElectricGenerator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[395]); } -void Ifc4x3_rc2::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricGenerator Ifc4x3_rc2::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10480,7 +10480,7 @@ void Ifc4x3_rc2::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[396]); } -void Ifc4x3_rc2::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricGeneratorType Ifc4x3_rc2::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc2::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10488,7 +10488,7 @@ void Ifc4x3_rc2::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[398]); } -void Ifc4x3_rc2::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricMotor Ifc4x3_rc2::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value Ifc4x3_rc2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10496,7 +10496,7 @@ void Ifc4x3_rc2::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[399]); } -void Ifc4x3_rc2::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricMotorType Ifc4x3_rc2::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc2::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10504,7 +10504,7 @@ void Ifc4x3_rc2::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[402]); } -void Ifc4x3_rc2::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcElectricTimeControl Ifc4x3_rc2::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10512,7 +10512,7 @@ void Ifc4x3_rc2::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[403]); } -void Ifc4x3_rc2::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElectricTimeControlType Ifc4x3_rc2::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_rc2::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10531,7 +10531,7 @@ std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcElem std::vector<::Ifc4x3_rc2::IfcRelCoversBldgElements> Ifc4x3_rc2::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[945], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[406]); } -void Ifc4x3_rc2::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc2::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10541,7 +10541,7 @@ void Ifc4x3_rc2::IfcElementAssembly::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[408]); } -void Ifc4x3_rc2::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc2::IfcElementAssembly Ifc4x3_rc2::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10549,19 +10549,19 @@ void Ifc4x3_rc2::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[409]); } -void Ifc4x3_rc2::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcElementAssemblyType Ifc4x3_rc2::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_rc2::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[411]); } -void Ifc4x3_rc2::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcElementComponent Ifc4x3_rc2::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_rc2::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[412]); } -void Ifc4x3_rc2::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcElementComponentType Ifc4x3_rc2::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_rc2::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10571,7 +10571,7 @@ void Ifc4x3_rc2::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[414]); } -void Ifc4x3_rc2::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_rc2::IfcElementQuantity Ifc4x3_rc2::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_rc2::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10579,7 +10579,7 @@ void Ifc4x3_rc2::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[415]); } -void Ifc4x3_rc2::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcElementType Ifc4x3_rc2::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } @@ -10587,7 +10587,7 @@ void Ifc4x3_rc2::IfcElementarySurface::setPosition(const ::Ifc4x3_rc2::IfcAxis2P const ifcopenshell::entity& Ifc4x3_rc2::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[407]); } -void Ifc4x3_rc2::IfcElementarySurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc2::IfcElementarySurface Ifc4x3_rc2::IfcElementarySurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_rc2::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10597,7 +10597,7 @@ void Ifc4x3_rc2::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc2::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[416]); } -void Ifc4x3_rc2::IfcEllipse::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_rc2::IfcEllipse Ifc4x3_rc2::IfcEllipse::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_rc2::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10607,19 +10607,19 @@ void Ifc4x3_rc2::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc2::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[417]); } -void Ifc4x3_rc2::IfcEllipseProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_rc2::IfcEllipseProfileDef Ifc4x3_rc2::IfcEllipseProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_rc2::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[418]); } -void Ifc4x3_rc2::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcEnergyConversionDevice Ifc4x3_rc2::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_rc2::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[419]); } -void Ifc4x3_rc2::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcEnergyConversionDeviceType Ifc4x3_rc2::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > Ifc4x3_rc2::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10627,7 +10627,7 @@ void Ifc4x3_rc2::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[421]); } -void Ifc4x3_rc2::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcEngine Ifc4x3_rc2::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_rc2::IfcEngineTypeEnum::Value Ifc4x3_rc2::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10635,7 +10635,7 @@ void Ifc4x3_rc2::IfcEngineType::setPredefinedType(const ::Ifc4x3_rc2::IfcEngineT const ifcopenshell::entity& Ifc4x3_rc2::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[422]); } -void Ifc4x3_rc2::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcEngineType Ifc4x3_rc2::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc2::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10643,7 +10643,7 @@ void Ifc4x3_rc2::IfcEvaporativeCooler::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[424]); } -void Ifc4x3_rc2::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcEvaporativeCooler Ifc4x3_rc2::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10651,7 +10651,7 @@ void Ifc4x3_rc2::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[425]); } -void Ifc4x3_rc2::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcEvaporativeCoolerType Ifc4x3_rc2::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc2::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10659,7 +10659,7 @@ void Ifc4x3_rc2::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[427]); } -void Ifc4x3_rc2::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcEvaporator Ifc4x3_rc2::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value Ifc4x3_rc2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10667,7 +10667,7 @@ void Ifc4x3_rc2::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_rc2::IfcEva const ifcopenshell::entity& Ifc4x3_rc2::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[428]); } -void Ifc4x3_rc2::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcEvaporatorType Ifc4x3_rc2::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > Ifc4x3_rc2::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10681,7 +10681,7 @@ void Ifc4x3_rc2::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc2::IfcEventTim const ifcopenshell::entity& Ifc4x3_rc2::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[430]); } -void Ifc4x3_rc2::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc2::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_rc2::IfcEvent Ifc4x3_rc2::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc2::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_rc2::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10695,7 +10695,7 @@ void Ifc4x3_rc2::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[431]); } -void Ifc4x3_rc2::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_rc2::IfcEventTime Ifc4x3_rc2::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_rc2::IfcEventTypeEnum::Value Ifc4x3_rc2::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10707,7 +10707,7 @@ void Ifc4x3_rc2::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[433]); } -void Ifc4x3_rc2::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_rc2::IfcEventType Ifc4x3_rc2::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10719,13 +10719,13 @@ void Ifc4x3_rc2::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[435]); } -void Ifc4x3_rc2::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_rc2::IfcExtendedProperties Ifc4x3_rc2::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[436]); } -void Ifc4x3_rc2::IfcExternalInformation::initialize() { } +Ifc4x3_rc2::IfcExternalInformation Ifc4x3_rc2::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10738,7 +10738,7 @@ void Ifc4x3_rc2::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[440]); } -void Ifc4x3_rc2::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc2::IfcExternalReference Ifc4x3_rc2::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc2::IfcExternalReference Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcExternalReference>(); } @@ -10748,7 +10748,7 @@ void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(con const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[441]); } -void Ifc4x3_rc2::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc2::IfcExternalReferenceRelationship Ifc4x3_rc2::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc2::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10757,31 +10757,31 @@ void Ifc4x3_rc2::IfcExternalSpatialElement::setPredefinedType(const std::optiona std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[963], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[442]); } -void Ifc4x3_rc2::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcExternalSpatialElement Ifc4x3_rc2::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_rc2::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[444]); } -void Ifc4x3_rc2::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc2::IfcExternalSpatialStructureElement Ifc4x3_rc2::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[437]); } -void Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc2::IfcExternallyDefinedHatchStyle Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[438]); } -void Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc2::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[439]); } -void Ifc4x3_rc2::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc2::IfcExternallyDefinedTextFont Ifc4x3_rc2::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -10791,7 +10791,7 @@ void Ifc4x3_rc2::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc2::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[445]); } -void Ifc4x3_rc2::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc2::IfcExtrudedAreaSolid Ifc4x3_rc2::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -10799,7 +10799,7 @@ void Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[446]); } -void Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc2::IfcExtrudedAreaSolidTapered Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_rc2::IfcFaceBound > Ifc4x3_rc2::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcFaceBound>(es); } @@ -10808,7 +10808,7 @@ void Ifc4x3_rc2::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc2::IfcFaceBoun std::vector<::Ifc4x3_rc2::IfcTextureMap> Ifc4x3_rc2::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1209], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[447]); } -void Ifc4x3_rc2::IfcFace::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_rc2::IfcFace Ifc4x3_rc2::IfcFace::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > Ifc4x3_rc2::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcConnectedFaceSet>(es); } @@ -10816,7 +10816,7 @@ void Ifc4x3_rc2::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[448]); } -void Ifc4x3_rc2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_rc2::IfcFaceBasedSurfaceModel Ifc4x3_rc2::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_rc2::IfcLoop Ifc4x3_rc2::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcLoop>(); } @@ -10826,13 +10826,13 @@ void Ifc4x3_rc2::IfcFaceBound::setOrientation(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[449]); } -void Ifc4x3_rc2::IfcFaceBound::initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc2::IfcFaceBound Ifc4x3_rc2::IfcFaceBound::initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[450]); } -void Ifc4x3_rc2::IfcFaceOuterBound::initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc2::IfcFaceOuterBound Ifc4x3_rc2::IfcFaceOuterBound::initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -10842,13 +10842,13 @@ void Ifc4x3_rc2::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc2::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[451]); } -void Ifc4x3_rc2::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc2::IfcFaceSurface Ifc4x3_rc2::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_rc2::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[452]); } -void Ifc4x3_rc2::IfcFacetedBrep::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc2::IfcFacetedBrep Ifc4x3_rc2::IfcFacetedBrep::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_rc2::IfcClosedShell > Ifc4x3_rc2::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcClosedShell>(es); } @@ -10856,13 +10856,13 @@ void Ifc4x3_rc2::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[453]); } -void Ifc4x3_rc2::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc2::IfcFacetedBrepWithVoids Ifc4x3_rc2::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_rc2::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[454]); } -void Ifc4x3_rc2::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc2::IfcFacility Ifc4x3_rc2::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_rc2::IfcFacilityPartTypeSelect Ifc4x3_rc2::IfcFacilityPart::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcFacilityPartTypeSelect>(); } @@ -10872,7 +10872,7 @@ void Ifc4x3_rc2::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc2::IfcFacilityUs const ifcopenshell::entity& Ifc4x3_rc2::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[455]); } -void Ifc4x3_rc2::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType))); } +Ifc4x3_rc2::IfcFacilityPart Ifc4x3_rc2::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10890,7 +10890,7 @@ void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureZ(const std const ifcopenshell::entity& Ifc4x3_rc2::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[459]); } -void Ifc4x3_rc2::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_rc2::IfcFailureConnectionCondition Ifc4x3_rc2::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > Ifc4x3_rc2::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10898,7 +10898,7 @@ void Ifc4x3_rc2::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[460]); } -void Ifc4x3_rc2::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFan Ifc4x3_rc2::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_rc2::IfcFanTypeEnum::Value Ifc4x3_rc2::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10906,7 +10906,7 @@ void Ifc4x3_rc2::IfcFanType::setPredefinedType(const ::Ifc4x3_rc2::IfcFanTypeEnu const ifcopenshell::entity& Ifc4x3_rc2::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[461]); } -void Ifc4x3_rc2::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFanType Ifc4x3_rc2::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > Ifc4x3_rc2::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10914,7 +10914,7 @@ void Ifc4x3_rc2::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[463]); } -void Ifc4x3_rc2::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFastener Ifc4x3_rc2::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value Ifc4x3_rc2::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10922,27 +10922,27 @@ void Ifc4x3_rc2::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc2::IfcFaste const ifcopenshell::entity& Ifc4x3_rc2::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[464]); } -void Ifc4x3_rc2::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFastenerType Ifc4x3_rc2::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_rc2::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[466]); } -void Ifc4x3_rc2::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFeatureElement Ifc4x3_rc2::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_rc2::IfcRelProjectsElement> Ifc4x3_rc2::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[959], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[467]); } -void Ifc4x3_rc2::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFeatureElementAddition Ifc4x3_rc2::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_rc2::IfcRelVoidsElement> Ifc4x3_rc2::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[966], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[468]); } -void Ifc4x3_rc2::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFeatureElementSubtraction Ifc4x3_rc2::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcFillStyleSelect>(es); } @@ -10952,7 +10952,7 @@ void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(const std::optional< boo const ifcopenshell::entity& Ifc4x3_rc2::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[469]); } -void Ifc4x3_rc2::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3_rc2::IfcFillAreaStyle Ifc4x3_rc2::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc2::IfcCurveStyle Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurveStyle>(); } @@ -10968,7 +10968,7 @@ void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[470]); } -void Ifc4x3_rc2::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_rc2::IfcFillAreaStyleHatching Ifc4x3_rc2::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_rc2::IfcVector > Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcVector>(es); } @@ -10980,7 +10980,7 @@ void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[471]); } -void Ifc4x3_rc2::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc2::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_rc2::IfcFillAreaStyleTiles Ifc4x3_rc2::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc2::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > Ifc4x3_rc2::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10988,7 +10988,7 @@ void Ifc4x3_rc2::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[473]); } -void Ifc4x3_rc2::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFilter Ifc4x3_rc2::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_rc2::IfcFilterTypeEnum::Value Ifc4x3_rc2::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10996,7 +10996,7 @@ void Ifc4x3_rc2::IfcFilterType::setPredefinedType(const ::Ifc4x3_rc2::IfcFilterT const ifcopenshell::entity& Ifc4x3_rc2::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[474]); } -void Ifc4x3_rc2::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFilterType Ifc4x3_rc2::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc2::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11004,7 +11004,7 @@ void Ifc4x3_rc2::IfcFireSuppressionTerminal::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc2::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[476]); } -void Ifc4x3_rc2::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFireSuppressionTerminal Ifc4x3_rc2::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11012,7 +11012,7 @@ void Ifc4x3_rc2::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[477]); } -void Ifc4x3_rc2::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFireSuppressionTerminalType Ifc4x3_rc2::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -11020,31 +11020,31 @@ void Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[479]); } -void Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[480]); } -void Ifc4x3_rc2::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowController Ifc4x3_rc2::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[481]); } -void Ifc4x3_rc2::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowControllerType Ifc4x3_rc2::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[483]); } -void Ifc4x3_rc2::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowFitting Ifc4x3_rc2::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[484]); } -void Ifc4x3_rc2::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowFittingType Ifc4x3_rc2::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc2::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -11052,7 +11052,7 @@ void Ifc4x3_rc2::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[485]); } -void Ifc4x3_rc2::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFlowInstrument Ifc4x3_rc2::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -11060,7 +11060,7 @@ void Ifc4x3_rc2::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[486]); } -void Ifc4x3_rc2::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFlowInstrumentType Ifc4x3_rc2::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc2::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -11068,7 +11068,7 @@ void Ifc4x3_rc2::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[488]); } -void Ifc4x3_rc2::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFlowMeter Ifc4x3_rc2::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value Ifc4x3_rc2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -11076,67 +11076,67 @@ void Ifc4x3_rc2::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc2::IfcFlow const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[489]); } -void Ifc4x3_rc2::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFlowMeterType Ifc4x3_rc2::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[491]); } -void Ifc4x3_rc2::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowMovingDevice Ifc4x3_rc2::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[492]); } -void Ifc4x3_rc2::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowMovingDeviceType Ifc4x3_rc2::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[493]); } -void Ifc4x3_rc2::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowSegment Ifc4x3_rc2::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[494]); } -void Ifc4x3_rc2::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowSegmentType Ifc4x3_rc2::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[495]); } -void Ifc4x3_rc2::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowStorageDevice Ifc4x3_rc2::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[496]); } -void Ifc4x3_rc2::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowStorageDeviceType Ifc4x3_rc2::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[497]); } -void Ifc4x3_rc2::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowTerminal Ifc4x3_rc2::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[498]); } -void Ifc4x3_rc2::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowTerminalType Ifc4x3_rc2::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[499]); } -void Ifc4x3_rc2::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFlowTreatmentDevice Ifc4x3_rc2::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_rc2::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[500]); } -void Ifc4x3_rc2::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFlowTreatmentDeviceType Ifc4x3_rc2::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > Ifc4x3_rc2::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -11144,7 +11144,7 @@ void Ifc4x3_rc2::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[504]); } -void Ifc4x3_rc2::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFooting Ifc4x3_rc2::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_rc2::IfcFootingTypeEnum::Value Ifc4x3_rc2::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -11152,19 +11152,19 @@ void Ifc4x3_rc2::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc2::IfcFootin const ifcopenshell::entity& Ifc4x3_rc2::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[505]); } -void Ifc4x3_rc2::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcFootingType Ifc4x3_rc2::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_rc2::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[509]); } -void Ifc4x3_rc2::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcFurnishingElement Ifc4x3_rc2::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[510]); } -void Ifc4x3_rc2::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcFurnishingElementType Ifc4x3_rc2::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11172,7 +11172,7 @@ void Ifc4x3_rc2::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[511]); } -void Ifc4x3_rc2::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcFurniture Ifc4x3_rc2::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value Ifc4x3_rc2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11182,7 +11182,7 @@ void Ifc4x3_rc2::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[512]); } -void Ifc4x3_rc2::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcFurnitureType Ifc4x3_rc2::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc2::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11190,7 +11190,7 @@ void Ifc4x3_rc2::IfcGeographicElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[514]); } -void Ifc4x3_rc2::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcGeographicElement Ifc4x3_rc2::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value Ifc4x3_rc2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11198,13 +11198,13 @@ void Ifc4x3_rc2::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[515]); } -void Ifc4x3_rc2::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcGeographicElementType Ifc4x3_rc2::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[517]); } -void Ifc4x3_rc2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc2::IfcGeometricCurveSet Ifc4x3_rc2::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11220,13 +11220,13 @@ std::vector<::Ifc4x3_rc2::IfcGeometricRepresentationSubContext> Ifc4x3_rc2::IfcG std::vector<::Ifc4x3_rc2::IfcCoordinateOperation> Ifc4x3_rc2::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[253], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[519]); } -void Ifc4x3_rc2::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc2::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_rc2::IfcGeometricRepresentationContext Ifc4x3_rc2::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc2::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[520]); } -void Ifc4x3_rc2::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_rc2::IfcGeometricRepresentationItem Ifc4x3_rc2::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_rc2::IfcGeometricRepresentationContext Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(); } @@ -11240,7 +11240,7 @@ void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView( const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[521]); } -void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_rc2::IfcGeometricRepresentationSubContext Ifc4x3_rc2::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > Ifc4x3_rc2::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcGeometricSetSelect>(es); } @@ -11248,37 +11248,37 @@ void Ifc4x3_rc2::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[522]); } -void Ifc4x3_rc2::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc2::IfcGeometricSet Ifc4x3_rc2::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_rc2::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[524]); } -void Ifc4x3_rc2::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcGeomodel Ifc4x3_rc2::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_rc2::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[525]); } -void Ifc4x3_rc2::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcGeoslice Ifc4x3_rc2::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_rc2::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[526]); } -void Ifc4x3_rc2::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcGeotechnicalAssembly Ifc4x3_rc2::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_rc2::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[527]); } -void Ifc4x3_rc2::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcGeotechnicalElement Ifc4x3_rc2::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum const ifcopenshell::entity& Ifc4x3_rc2::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[528]); } -void Ifc4x3_rc2::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcGeotechnicalStratum Ifc4x3_rc2::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } @@ -11290,7 +11290,7 @@ void Ifc4x3_rc2::IfcGradientCurve::setEndPoint(const ::Ifc4x3_rc2::IfcCartesianP const ifcopenshell::entity& Ifc4x3_rc2::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[531]); } -void Ifc4x3_rc2::IfcGradientCurve::initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcCartesianPoint v3_EndPoint) { set_attribute_value(0, (v1_BaseCurve));set_attribute_value(1, cast_vector(v2_Segments));set_attribute_value(2, (v3_EndPoint)); } +Ifc4x3_rc2::IfcGradientCurve Ifc4x3_rc2::IfcGradientCurve::initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcCartesianPoint v3_EndPoint) { set_attribute_value(0, (v1_BaseCurve));set_attribute_value(1, cast_vector(v2_Segments));set_attribute_value(2, (v3_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_rc2::IfcGridAxis > Ifc4x3_rc2::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } @@ -11304,7 +11304,7 @@ void Ifc4x3_rc2::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[532]); } -void Ifc4x3_rc2::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcGrid Ifc4x3_rc2::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_rc2::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11320,7 +11320,7 @@ std::vector<::Ifc4x3_rc2::IfcGrid> Ifc4x3_rc2::IfcGridAxis::PartOfU() const { re std::vector<::Ifc4x3_rc2::IfcVirtualGridIntersection> Ifc4x3_rc2::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1287], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[533]); } -void Ifc4x3_rc2::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc2::IfcGridAxis Ifc4x3_rc2::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_rc2::IfcVirtualGridIntersection Ifc4x3_rc2::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcVirtualGridIntersection>(); } @@ -11330,14 +11330,14 @@ void Ifc4x3_rc2::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[534]); } -void Ifc4x3_rc2::IfcGridPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_rc2::IfcGridPlacement Ifc4x3_rc2::IfcGridPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4x3_rc2::IfcRelAssignsToGroup> Ifc4x3_rc2::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[921], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[537]); } -void Ifc4x3_rc2::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc2::IfcGroup Ifc4x3_rc2::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -11347,7 +11347,7 @@ void Ifc4x3_rc2::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc2::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[538]); } -void Ifc4x3_rc2::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_rc2::IfcHalfSpaceSolid Ifc4x3_rc2::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc2::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11355,7 +11355,7 @@ void Ifc4x3_rc2::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[540]); } -void Ifc4x3_rc2::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcHeatExchanger Ifc4x3_rc2::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11363,7 +11363,7 @@ void Ifc4x3_rc2::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[541]); } -void Ifc4x3_rc2::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcHeatExchangerType Ifc4x3_rc2::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > Ifc4x3_rc2::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11371,7 +11371,7 @@ void Ifc4x3_rc2::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[545]); } -void Ifc4x3_rc2::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcHumidifier Ifc4x3_rc2::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value Ifc4x3_rc2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11379,7 +11379,7 @@ void Ifc4x3_rc2::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_rc2::IfcHum const ifcopenshell::entity& Ifc4x3_rc2::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[546]); } -void Ifc4x3_rc2::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcHumidifierType Ifc4x3_rc2::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_rc2::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11399,7 +11399,7 @@ void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc2::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[576]); } -void Ifc4x3_rc2::IfcIShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc2::IfcIShapeProfileDef Ifc4x3_rc2::IfcIShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_rc2::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11407,7 +11407,7 @@ void Ifc4x3_rc2::IfcImageTexture::setURLReference(const std::string& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[550]); } -void Ifc4x3_rc2::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_rc2::IfcImageTexture Ifc4x3_rc2::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc2::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11415,7 +11415,7 @@ void Ifc4x3_rc2::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[551]); } -void Ifc4x3_rc2::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc2::IfcImpactProtectionDevice Ifc4x3_rc2::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc2::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11423,7 +11423,7 @@ void Ifc4x3_rc2::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[552]); } -void Ifc4x3_rc2::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc2::IfcImpactProtectionDeviceType Ifc4x3_rc2::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcInclinedReferenceSweptAreaSolid std::optional< bool > Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } bool v = get_attribute_value(5); return v; } @@ -11433,7 +11433,7 @@ void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setInclinating(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[555]); } -void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination v7_Inclinating) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, (v7_Inclinating)); } +Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination v7_Inclinating) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, (v7_Inclinating));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_rc2::IfcTessellatedFaceSet Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(); } @@ -11447,7 +11447,7 @@ void Ifc4x3_rc2::IfcIndexedColourMap::setColourIndex(const std::vector< int > /* const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[556]); } -void Ifc4x3_rc2::IfcIndexedColourMap::initialize(::Ifc4x3_rc2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_rc2::IfcIndexedColourMap Ifc4x3_rc2::IfcIndexedColourMap::initialize(::Ifc4x3_rc2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc2::IfcCartesianPointList Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPointList>(); } @@ -11459,7 +11459,7 @@ void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[557]); } -void Ifc4x3_rc2::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_rc2::IfcIndexedPolyCurve Ifc4x3_rc2::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11468,7 +11468,7 @@ void Ifc4x3_rc2::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > std::vector<::Ifc4x3_rc2::IfcPolygonalFaceSet> Ifc4x3_rc2::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[790], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[558]); } -void Ifc4x3_rc2::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_rc2::IfcIndexedPolygonalFace Ifc4x3_rc2::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11476,7 +11476,7 @@ void Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const st const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[559]); } -void Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_rc2::IfcTessellatedFaceSet Ifc4x3_rc2::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(); } @@ -11486,7 +11486,7 @@ void Ifc4x3_rc2::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc2::IfcTextu const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[560]); } -void Ifc4x3_rc2::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_rc2::IfcIndexedTextureMap Ifc4x3_rc2::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_rc2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11494,7 +11494,7 @@ void Ifc4x3_rc2::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optio const ifcopenshell::entity& Ifc4x3_rc2::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[561]); } -void Ifc4x3_rc2::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_rc2::IfcIndexedTriangleTextureMap Ifc4x3_rc2::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > Ifc4x3_rc2::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11502,7 +11502,7 @@ void Ifc4x3_rc2::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[565]); } -void Ifc4x3_rc2::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcInterceptor Ifc4x3_rc2::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value Ifc4x3_rc2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11510,13 +11510,13 @@ void Ifc4x3_rc2::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc2::IfcIn const ifcopenshell::entity& Ifc4x3_rc2::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[566]); } -void Ifc4x3_rc2::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcInterceptorType Ifc4x3_rc2::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_rc2::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[570]); } -void Ifc4x3_rc2::IfcIntersectionCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc2::IfcIntersectionCurve Ifc4x3_rc2::IfcIntersectionCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > Ifc4x3_rc2::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11534,7 +11534,7 @@ void Ifc4x3_rc2::IfcInventory::setOriginalValue(const ::Ifc4x3_rc2::IfcCostValue const ifcopenshell::entity& Ifc4x3_rc2::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[571]); } -void Ifc4x3_rc2::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc2::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_rc2::IfcInventory Ifc4x3_rc2::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc2::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > Ifc4x3_rc2::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc2::IfcIrregularTimeSeriesValue>(es); } @@ -11542,7 +11542,7 @@ void Ifc4x3_rc2::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[574]); } -void Ifc4x3_rc2::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_rc2::IfcIrregularTimeSeries Ifc4x3_rc2::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11552,7 +11552,7 @@ void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[575]); } -void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc2::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_rc2::IfcIrregularTimeSeriesValue Ifc4x3_rc2::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc2::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc2::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11560,7 +11560,7 @@ void Ifc4x3_rc2::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[578]); } -void Ifc4x3_rc2::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcJunctionBox Ifc4x3_rc2::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11568,7 +11568,7 @@ void Ifc4x3_rc2::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_rc2::IfcJu const ifcopenshell::entity& Ifc4x3_rc2::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[579]); } -void Ifc4x3_rc2::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcJunctionBoxType Ifc4x3_rc2::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb bool Ifc4x3_rc2::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } @@ -11576,7 +11576,7 @@ void Ifc4x3_rc2::IfcKerb::setMountable(const bool& v) { set_attribute_value(8, v const ifcopenshell::entity& Ifc4x3_rc2::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[581]); } -void Ifc4x3_rc2::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable)); } +Ifc4x3_rc2::IfcKerb Ifc4x3_rc2::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; return *this; } // Function implementations for IfcKerbType bool Ifc4x3_rc2::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } @@ -11584,7 +11584,7 @@ void Ifc4x3_rc2::IfcKerbType::setMountable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc2::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[582]); } -void Ifc4x3_rc2::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable)); } +Ifc4x3_rc2::IfcKerbType Ifc4x3_rc2::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_rc2::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11602,7 +11602,7 @@ void Ifc4x3_rc2::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc2::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[636]); } -void Ifc4x3_rc2::IfcLShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_rc2::IfcLShapeProfileDef Ifc4x3_rc2::IfcLShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc2::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11610,7 +11610,7 @@ void Ifc4x3_rc2::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[586]); } -void Ifc4x3_rc2::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcLaborResource Ifc4x3_rc2::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value Ifc4x3_rc2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11618,7 +11618,7 @@ void Ifc4x3_rc2::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[587]); } -void Ifc4x3_rc2::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcLaborResourceType Ifc4x3_rc2::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_rc2::IfcTimeOrRatioSelect Ifc4x3_rc2::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcTimeOrRatioSelect>(); } @@ -11628,7 +11628,7 @@ void Ifc4x3_rc2::IfcLagTime::setDurationType(const ::Ifc4x3_rc2::IfcTaskDuration const ifcopenshell::entity& Ifc4x3_rc2::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[589]); } -void Ifc4x3_rc2::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc2::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_rc2::IfcLagTime Ifc4x3_rc2::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc2::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > Ifc4x3_rc2::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11636,7 +11636,7 @@ void Ifc4x3_rc2::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[590]); } -void Ifc4x3_rc2::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcLamp Ifc4x3_rc2::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_rc2::IfcLampTypeEnum::Value Ifc4x3_rc2::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11644,7 +11644,7 @@ void Ifc4x3_rc2::IfcLampType::setPredefinedType(const ::Ifc4x3_rc2::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[591]); } -void Ifc4x3_rc2::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcLampType Ifc4x3_rc2::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_rc2::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11664,7 +11664,7 @@ std::vector<::Ifc4x3_rc2::IfcRelAssociatesLibrary> Ifc4x3_rc2::IfcLibraryInforma std::vector<::Ifc4x3_rc2::IfcLibraryReference> Ifc4x3_rc2::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[598], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[597]); } -void Ifc4x3_rc2::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_rc2::IfcLibraryInformation Ifc4x3_rc2::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11677,7 +11677,7 @@ void Ifc4x3_rc2::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc2::I std::vector<::Ifc4x3_rc2::IfcRelAssociatesLibrary> Ifc4x3_rc2::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[931], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[598]); } -void Ifc4x3_rc2::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc2::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_rc2::IfcLibraryReference Ifc4x3_rc2::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc2::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_rc2::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11689,7 +11689,7 @@ void Ifc4x3_rc2::IfcLightDistributionData::setLuminousIntensity(const std::vecto const ifcopenshell::entity& Ifc4x3_rc2::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[601]); } -void Ifc4x3_rc2::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_rc2::IfcLightDistributionData Ifc4x3_rc2::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc2::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11697,7 +11697,7 @@ void Ifc4x3_rc2::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[604]); } -void Ifc4x3_rc2::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcLightFixture Ifc4x3_rc2::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value Ifc4x3_rc2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11705,7 +11705,7 @@ void Ifc4x3_rc2::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc2::IfcL const ifcopenshell::entity& Ifc4x3_rc2::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[605]); } -void Ifc4x3_rc2::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcLightFixtureType Ifc4x3_rc2::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value Ifc4x3_rc2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11715,7 +11715,7 @@ void Ifc4x3_rc2::IfcLightIntensityDistribution::setDistributionData(const std::v const ifcopenshell::entity& Ifc4x3_rc2::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[607]); } -void Ifc4x3_rc2::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc2::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_rc2::IfcLightIntensityDistribution Ifc4x3_rc2::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc2::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_rc2::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11729,13 +11729,13 @@ void Ifc4x3_rc2::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[608]); } -void Ifc4x3_rc2::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc2::IfcLightSource Ifc4x3_rc2::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[609]); } -void Ifc4x3_rc2::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc2::IfcLightSourceAmbient Ifc4x3_rc2::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -11743,7 +11743,7 @@ void Ifc4x3_rc2::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[610]); } -void Ifc4x3_rc2::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_rc2::IfcLightSourceDirectional Ifc4x3_rc2::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } @@ -11761,7 +11761,7 @@ void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightDistributionDataSource(const const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[611]); } -void Ifc4x3_rc2::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_rc2::IfcLightSourceGoniometric Ifc4x3_rc2::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } @@ -11777,7 +11777,7 @@ void Ifc4x3_rc2::IfcLightSourcePositional::setQuadricAttenuation(const double& v const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[612]); } -void Ifc4x3_rc2::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_rc2::IfcLightSourcePositional Ifc4x3_rc2::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -11791,7 +11791,7 @@ void Ifc4x3_rc2::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[613]); } -void Ifc4x3_rc2::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_rc2::IfcLightSourceSpot Ifc4x3_rc2::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_rc2::IfcCartesianPoint Ifc4x3_rc2::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPoint>(); } @@ -11801,13 +11801,13 @@ void Ifc4x3_rc2::IfcLine::setDir(const ::Ifc4x3_rc2::IfcVector& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc2::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[614]); } -void Ifc4x3_rc2::IfcLine::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc2::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_rc2::IfcLine Ifc4x3_rc2::IfcLine::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc2::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLineSegment2D const ifcopenshell::entity& Ifc4x3_rc2::IfcLineSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[627]); } -void Ifc4x3_rc2::IfcLineSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); } +Ifc4x3_rc2::IfcLineSegment2D Ifc4x3_rc2::IfcLineSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; return *this; } // Function implementations for IfcLinearAxisWithInclination ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcLinearAxisWithInclination::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -11817,13 +11817,13 @@ void Ifc4x3_rc2::IfcLinearAxisWithInclination::setInclinating(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearAxisWithInclination::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[616]); } -void Ifc4x3_rc2::IfcLinearAxisWithInclination::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, ::Ifc4x3_rc2::IfcAxisLateralInclination v2_Inclinating) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Inclinating)); } +Ifc4x3_rc2::IfcLinearAxisWithInclination Ifc4x3_rc2::IfcLinearAxisWithInclination::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, ::Ifc4x3_rc2::IfcAxisLateralInclination v2_Inclinating) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Inclinating));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[617]); } -void Ifc4x3_rc2::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc2::IfcLinearElement Ifc4x3_rc2::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -11837,7 +11837,7 @@ void Ifc4x3_rc2::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[620]); } -void Ifc4x3_rc2::IfcLinearPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_RelativePlacement));set_attribute_value(4, (v5_CartesianPosition)); } +Ifc4x3_rc2::IfcLinearPlacement Ifc4x3_rc2::IfcLinearPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_RelativePlacement));set_attribute_value(4, (v5_CartesianPosition));; return *this; } // Function implementations for IfcLinearPlacementWithInclination ::Ifc4x3_rc2::IfcAxisLateralInclination Ifc4x3_rc2::IfcLinearPlacementWithInclination::Inclinating() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcAxisLateralInclination>(); } @@ -11845,7 +11845,7 @@ void Ifc4x3_rc2::IfcLinearPlacementWithInclination::setInclinating(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearPlacementWithInclination::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[621]); } -void Ifc4x3_rc2::IfcLinearPlacementWithInclination::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination v6_Inclinating) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_RelativePlacement));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Inclinating)); } +Ifc4x3_rc2::IfcLinearPlacementWithInclination Ifc4x3_rc2::IfcLinearPlacementWithInclination::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination v6_Inclinating) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_RelativePlacement));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Inclinating));; return *this; } // Function implementations for IfcLinearPositioningElement ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcLinearPositioningElement::Axis() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -11853,7 +11853,7 @@ void Ifc4x3_rc2::IfcLinearPositioningElement::setAxis(const ::Ifc4x3_rc2::IfcCur const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[622]); } -void Ifc4x3_rc2::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis)); } +Ifc4x3_rc2::IfcLinearPositioningElement Ifc4x3_rc2::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_Axis));; return *this; } // Function implementations for IfcLinearSpanPlacement double Ifc4x3_rc2::IfcLinearSpanPlacement::Span() const { double v = get_attribute_value(5); return v; } @@ -11861,7 +11861,7 @@ void Ifc4x3_rc2::IfcLinearSpanPlacement::setSpan(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc2::IfcLinearSpanPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[623]); } -void Ifc4x3_rc2::IfcLinearSpanPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_RelativePlacement));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Span)); } +Ifc4x3_rc2::IfcLinearSpanPlacement Ifc4x3_rc2::IfcLinearSpanPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementMeasuredAlong));set_attribute_value(2, (v3_Distance));set_attribute_value(3, (v4_RelativePlacement));set_attribute_value(4, (v5_CartesianPosition));set_attribute_value(5, (v6_Span));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc2::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11869,7 +11869,7 @@ void Ifc4x3_rc2::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[628]); } -void Ifc4x3_rc2::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcLiquidTerminal Ifc4x3_rc2::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc2::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11877,7 +11877,7 @@ void Ifc4x3_rc2::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[629]); } -void Ifc4x3_rc2::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcLiquidTerminalType Ifc4x3_rc2::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } @@ -11885,13 +11885,13 @@ void Ifc4x3_rc2::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[632]); } -void Ifc4x3_rc2::IfcLocalPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_rc2::IfcLocalPlacement Ifc4x3_rc2::IfcLocalPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_rc2::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[635]); } -void Ifc4x3_rc2::IfcLoop::initialize() { } +Ifc4x3_rc2::IfcLoop Ifc4x3_rc2::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_rc2::IfcClosedShell Ifc4x3_rc2::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcClosedShell>(); } @@ -11899,7 +11899,7 @@ void Ifc4x3_rc2::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc2::IfcClosedShe const ifcopenshell::entity& Ifc4x3_rc2::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[642]); } -void Ifc4x3_rc2::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc2::IfcManifoldSolidBrep Ifc4x3_rc2::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_rc2::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11917,7 +11917,7 @@ void Ifc4x3_rc2::IfcMapConversion::setScale(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[643]); } -void Ifc4x3_rc2::IfcMapConversion::initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } } +Ifc4x3_rc2::IfcMapConversion Ifc4x3_rc2::IfcMapConversion::initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_rc2::IfcRepresentationMap Ifc4x3_rc2::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcRepresentationMap>(); } @@ -11927,7 +11927,7 @@ void Ifc4x3_rc2::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc2::IfcCartesia const ifcopenshell::entity& Ifc4x3_rc2::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[644]); } -void Ifc4x3_rc2::IfcMappedItem::initialize(::Ifc4x3_rc2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc2::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_rc2::IfcMappedItem Ifc4x3_rc2::IfcMappedItem::initialize(::Ifc4x3_rc2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc2::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc2::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11935,7 +11935,7 @@ void Ifc4x3_rc2::IfcMarineFacility::setPredefinedType(const ::Ifc4x3_rc2::IfcMar const ifcopenshell::entity& Ifc4x3_rc2::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[645]); } -void Ifc4x3_rc2::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcMarineFacility Ifc4x3_rc2::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_rc2::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11950,7 +11950,7 @@ std::vector<::Ifc4x3_rc2::IfcMaterialRelationship> Ifc4x3_rc2::IfcMaterial::IsRe std::vector<::Ifc4x3_rc2::IfcMaterialRelationship> Ifc4x3_rc2::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[669], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[652]); } -void Ifc4x3_rc2::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcClassificationSelect>(es); } @@ -11960,7 +11960,7 @@ void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(co const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[653]); } -void Ifc4x3_rc2::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_rc2::IfcMaterialClassificationRelationship Ifc4x3_rc2::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11977,7 +11977,7 @@ void Ifc4x3_rc2::IfcMaterialConstituent::setCategory(const std::optional< std::s std::vector<::Ifc4x3_rc2::IfcMaterialConstituentSet> Ifc4x3_rc2::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[655], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[654]); } -void Ifc4x3_rc2::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_rc2::IfcMaterialConstituent Ifc4x3_rc2::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11989,7 +11989,7 @@ void Ifc4x3_rc2::IfcMaterialConstituentSet::setMaterialConstituents(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[655]); } -void Ifc4x3_rc2::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_rc2::IfcMaterialConstituentSet Ifc4x3_rc2::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11998,7 +11998,7 @@ std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcMater std::vector<::Ifc4x3_rc2::IfcMaterialProperties> Ifc4x3_rc2::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[668], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[656]); } -void Ifc4x3_rc2::IfcMaterialDefinition::initialize() { } +Ifc4x3_rc2::IfcMaterialDefinition Ifc4x3_rc2::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMaterial>(); } @@ -12006,7 +12006,7 @@ void Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(con const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[657]); } -void Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations, ::Ifc4x3_rc2::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_rc2::IfcMaterialDefinitionRepresentation Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations, ::Ifc4x3_rc2::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc2::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcMaterial>(); } @@ -12027,7 +12027,7 @@ void Ifc4x3_rc2::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_rc2::IfcMaterialLayerSet> Ifc4x3_rc2::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[659], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[658]); } -void Ifc4x3_rc2::IfcMaterialLayer::initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_rc2::IfcMaterialLayer Ifc4x3_rc2::IfcMaterialLayer::initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > Ifc4x3_rc2::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcMaterialLayer>(es); } @@ -12039,7 +12039,7 @@ void Ifc4x3_rc2::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[659]); } -void Ifc4x3_rc2::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc2::IfcMaterialLayerSet Ifc4x3_rc2::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_rc2::IfcMaterialLayerSet Ifc4x3_rc2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcMaterialLayerSet>(); } @@ -12055,7 +12055,7 @@ void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[660]); } -void Ifc4x3_rc2::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_rc2::IfcMaterialLayerSetUsage Ifc4x3_rc2::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -12065,7 +12065,7 @@ void Ifc4x3_rc2::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[661]); } -void Ifc4x3_rc2::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_rc2::IfcMaterialLayerWithOffsets Ifc4x3_rc2::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_rc2::IfcMaterial > Ifc4x3_rc2::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcMaterial>(es); } @@ -12073,7 +12073,7 @@ void Ifc4x3_rc2::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[662]); } -void Ifc4x3_rc2::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_rc2::IfcMaterialList Ifc4x3_rc2::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc2::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12092,7 +12092,7 @@ void Ifc4x3_rc2::IfcMaterialProfile::setCategory(const std::optional< std::strin std::vector<::Ifc4x3_rc2::IfcMaterialProfileSet> Ifc4x3_rc2::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[664], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[663]); } -void Ifc4x3_rc2::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_rc2::IfcMaterialProfile Ifc4x3_rc2::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12106,7 +12106,7 @@ void Ifc4x3_rc2::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[664]); } -void Ifc4x3_rc2::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_rc2::IfcMaterialProfileSet Ifc4x3_rc2::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_rc2::IfcMaterialProfileSet Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcMaterialProfileSet>(); } @@ -12118,7 +12118,7 @@ void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optio const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[665]); } -void Ifc4x3_rc2::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_rc2::IfcMaterialProfileSetUsage Ifc4x3_rc2::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_rc2::IfcMaterialProfileSet Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMaterialProfileSet>(); } @@ -12128,7 +12128,7 @@ void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const s const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[666]); } -void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_rc2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -12136,7 +12136,7 @@ void Ifc4x3_rc2::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vecto const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[667]); } -void Ifc4x3_rc2::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_rc2::IfcMaterialProfileWithOffsets Ifc4x3_rc2::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_rc2::IfcMaterialDefinition Ifc4x3_rc2::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcMaterialDefinition>(); } @@ -12144,7 +12144,7 @@ void Ifc4x3_rc2::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc2::IfcMater const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[668]); } -void Ifc4x3_rc2::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_rc2::IfcMaterialProperties Ifc4x3_rc2::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_rc2::IfcMaterial Ifc4x3_rc2::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcMaterial>(); } @@ -12156,14 +12156,14 @@ void Ifc4x3_rc2::IfcMaterialRelationship::setExpression(const std::optional< std const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[669]); } -void Ifc4x3_rc2::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc2::IfcMaterialRelationship Ifc4x3_rc2::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_rc2::IfcRelAssociatesMaterial> Ifc4x3_rc2::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[932], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[671]); } -void Ifc4x3_rc2::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_rc2::IfcMaterialUsageDefinition Ifc4x3_rc2::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcValue>(); } @@ -12173,7 +12173,7 @@ void Ifc4x3_rc2::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc2::IfcUni const ifcopenshell::entity& Ifc4x3_rc2::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[673]); } -void Ifc4x3_rc2::IfcMeasureWithUnit::initialize(::Ifc4x3_rc2::IfcValue v1_ValueComponent, ::Ifc4x3_rc2::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_rc2::IfcMeasureWithUnit Ifc4x3_rc2::IfcMeasureWithUnit::initialize(::Ifc4x3_rc2::IfcValue v1_ValueComponent, ::Ifc4x3_rc2::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12185,7 +12185,7 @@ void Ifc4x3_rc2::IfcMechanicalFastener::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc2::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[674]); } -void Ifc4x3_rc2::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcMechanicalFastener Ifc4x3_rc2::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12197,7 +12197,7 @@ void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalLength(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[675]); } -void Ifc4x3_rc2::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_rc2::IfcMechanicalFastenerType Ifc4x3_rc2::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12205,7 +12205,7 @@ void Ifc4x3_rc2::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[677]); } -void Ifc4x3_rc2::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcMedicalDevice Ifc4x3_rc2::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12213,7 +12213,7 @@ void Ifc4x3_rc2::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[678]); } -void Ifc4x3_rc2::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcMedicalDeviceType Ifc4x3_rc2::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > Ifc4x3_rc2::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12221,13 +12221,13 @@ void Ifc4x3_rc2::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[680]); } -void Ifc4x3_rc2::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcMember Ifc4x3_rc2::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[681]); } -void Ifc4x3_rc2::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcMemberStandardCase Ifc4x3_rc2::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_rc2::IfcMemberTypeEnum::Value Ifc4x3_rc2::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12235,7 +12235,7 @@ void Ifc4x3_rc2::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc2::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc2::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[682]); } -void Ifc4x3_rc2::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcMemberType Ifc4x3_rc2::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_rc2::IfcBenchmarkEnum::Value Ifc4x3_rc2::IfcMetric::Benchmark() const { return ::Ifc4x3_rc2::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12249,13 +12249,13 @@ void Ifc4x3_rc2::IfcMetric::setReferencePath(const ::Ifc4x3_rc2::IfcReference& v const ifcopenshell::entity& Ifc4x3_rc2::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[684]); } -void Ifc4x3_rc2::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc2::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_rc2::IfcMetric Ifc4x3_rc2::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc2::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_rc2::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[686]); } -void Ifc4x3_rc2::IfcMirroredProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc2::IfcMirroredProfileDef Ifc4x3_rc2::IfcMirroredProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12263,7 +12263,7 @@ void Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::setPredefinedType(const s const ifcopenshell::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[687]); } -void Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12271,7 +12271,7 @@ void Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[688]); } -void Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_rc2::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12279,7 +12279,7 @@ void Ifc4x3_rc2::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc2::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[701]); } -void Ifc4x3_rc2::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_rc2::IfcMonetaryUnit Ifc4x3_rc2::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12287,7 +12287,7 @@ void Ifc4x3_rc2::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[703]); } -void Ifc4x3_rc2::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcMooringDevice Ifc4x3_rc2::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc2::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12295,7 +12295,7 @@ void Ifc4x3_rc2::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[704]); } -void Ifc4x3_rc2::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcMooringDeviceType Ifc4x3_rc2::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc2::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12303,7 +12303,7 @@ void Ifc4x3_rc2::IfcMotorConnection::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[706]); } -void Ifc4x3_rc2::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcMotorConnection Ifc4x3_rc2::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12311,7 +12311,7 @@ void Ifc4x3_rc2::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[707]); } -void Ifc4x3_rc2::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcMotorConnectionType Ifc4x3_rc2::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_rc2::IfcDimensionalExponents Ifc4x3_rc2::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcDimensionalExponents>(); } @@ -12321,7 +12321,7 @@ void Ifc4x3_rc2::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc2::IfcUnitEnum::Valu const ifcopenshell::entity& Ifc4x3_rc2::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[709]); } -void Ifc4x3_rc2::IfcNamedUnit::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_rc2::IfcNamedUnit Ifc4x3_rc2::IfcNamedUnit::initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc2::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12329,7 +12329,7 @@ void Ifc4x3_rc2::IfcNavigationElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[710]); } -void Ifc4x3_rc2::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcNavigationElement Ifc4x3_rc2::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value Ifc4x3_rc2::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12337,7 +12337,7 @@ void Ifc4x3_rc2::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[711]); } -void Ifc4x3_rc2::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcNavigationElementType Ifc4x3_rc2::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_rc2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12349,7 +12349,7 @@ std::vector<::Ifc4x3_rc2::IfcRelDefinesByType> Ifc4x3_rc2::IfcObject::IsTypedBy( std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[951], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[717]); } -void Ifc4x3_rc2::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc2::IfcObject Ifc4x3_rc2::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12362,7 +12362,7 @@ std::vector<::Ifc4x3_rc2::IfcRelAggregates> Ifc4x3_rc2::IfcObjectDefinition::Dec std::vector<::Ifc4x3_rc2::IfcRelAssociates> Ifc4x3_rc2::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[926], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[718]); } -void Ifc4x3_rc2::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcObjectDefinition Ifc4x3_rc2::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_rc2::IfcObjectPlacement Ifc4x3_rc2::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcObjectPlacement>(); } @@ -12371,7 +12371,7 @@ void Ifc4x3_rc2::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc2::IfcOb std::vector<::Ifc4x3_rc2::IfcProduct> Ifc4x3_rc2::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[821], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[721]); } -void Ifc4x3_rc2::IfcObjectPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_rc2::IfcObjectPlacement Ifc4x3_rc2::IfcObjectPlacement::initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > > Ifc4x3_rc2::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcConstraint>(es); } @@ -12385,7 +12385,7 @@ void Ifc4x3_rc2::IfcObjective::setUserDefinedQualifier(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc2::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[719]); } -void Ifc4x3_rc2::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_rc2::IfcObjective Ifc4x3_rc2::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > Ifc4x3_rc2::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12393,7 +12393,7 @@ void Ifc4x3_rc2::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[724]); } -void Ifc4x3_rc2::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc2::IfcOccupant Ifc4x3_rc2::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -12401,7 +12401,7 @@ void Ifc4x3_rc2::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[726]); } -void Ifc4x3_rc2::IfcOffsetCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_rc2::IfcOffsetCurve Ifc4x3_rc2::IfcOffsetCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_rc2::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12411,7 +12411,7 @@ void Ifc4x3_rc2::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc2::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[727]); } -void Ifc4x3_rc2::IfcOffsetCurve2D::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_rc2::IfcOffsetCurve2D Ifc4x3_rc2::IfcOffsetCurve2D::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_rc2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12423,7 +12423,7 @@ void Ifc4x3_rc2::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc2::IfcDirect const ifcopenshell::entity& Ifc4x3_rc2::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[728]); } -void Ifc4x3_rc2::IfcOffsetCurve3D::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc2::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_rc2::IfcOffsetCurve3D Ifc4x3_rc2::IfcOffsetCurve3D::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc2::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > Ifc4x3_rc2::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcPointByDistanceExpression>(es); } @@ -12433,7 +12433,7 @@ void Ifc4x3_rc2::IfcOffsetCurveByDistances::setTag(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_rc2::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[729]); } -void Ifc4x3_rc2::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_rc2::IfcOffsetCurveByDistances Ifc4x3_rc2::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_rc2::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12447,13 +12447,13 @@ void Ifc4x3_rc2::IfcOpenCrossProfileDef::setTags(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc2::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[730]); } -void Ifc4x3_rc2::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); } } +Ifc4x3_rc2::IfcOpenCrossProfileDef Ifc4x3_rc2::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_rc2::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[734]); } -void Ifc4x3_rc2::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc2::IfcOpenShell Ifc4x3_rc2::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc2::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12462,13 +12462,13 @@ void Ifc4x3_rc2::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_rc2::IfcRelFillsElement> Ifc4x3_rc2::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[954], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[731]); } -void Ifc4x3_rc2::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcOpeningElement Ifc4x3_rc2::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[733]); } -void Ifc4x3_rc2::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcOpeningStandardCase Ifc4x3_rc2::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_rc2::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12487,7 +12487,7 @@ std::vector<::Ifc4x3_rc2::IfcOrganizationRelationship> Ifc4x3_rc2::IfcOrganizati std::vector<::Ifc4x3_rc2::IfcPersonAndOrganization> Ifc4x3_rc2::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[756], 1)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[735]); } -void Ifc4x3_rc2::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_rc2::IfcOrganization Ifc4x3_rc2::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcOrganization>(); } @@ -12497,7 +12497,7 @@ void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatedOrganizations(const std: const ifcopenshell::entity& Ifc4x3_rc2::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[736]); } -void Ifc4x3_rc2::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc2::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_rc2::IfcOrganizationRelationship Ifc4x3_rc2::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc2::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_rc2::IfcEdge Ifc4x3_rc2::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcEdge>(); } @@ -12507,13 +12507,13 @@ void Ifc4x3_rc2::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc2::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[737]); } -void Ifc4x3_rc2::IfcOrientedEdge::initialize(::Ifc4x3_rc2::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_rc2::IfcOrientedEdge Ifc4x3_rc2::IfcOrientedEdge::initialize(::Ifc4x3_rc2::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc2::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[738]); } -void Ifc4x3_rc2::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc2::IfcOuterBoundaryCurve Ifc4x3_rc2::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > Ifc4x3_rc2::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12521,7 +12521,7 @@ void Ifc4x3_rc2::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[739]); } -void Ifc4x3_rc2::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcOutlet Ifc4x3_rc2::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_rc2::IfcOutletTypeEnum::Value Ifc4x3_rc2::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12529,7 +12529,7 @@ void Ifc4x3_rc2::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc2::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc2::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[740]); } -void Ifc4x3_rc2::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcOutletType Ifc4x3_rc2::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_rc2::IfcPersonAndOrganization Ifc4x3_rc2::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPersonAndOrganization>(); } @@ -12551,7 +12551,7 @@ void Ifc4x3_rc2::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc2::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[742]); } -void Ifc4x3_rc2::IfcOwnerHistory::initialize(::Ifc4x3_rc2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_rc2::IfcOwnerHistory Ifc4x3_rc2::IfcOwnerHistory::initialize(::Ifc4x3_rc2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_rc2::IfcAxis2Placement2D Ifc4x3_rc2::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis2Placement2D>(); } @@ -12559,7 +12559,7 @@ void Ifc4x3_rc2::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[743]); } -void Ifc4x3_rc2::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_rc2::IfcParameterizedProfileDef Ifc4x3_rc2::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > Ifc4x3_rc2::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcOrientedEdge>(es); } @@ -12567,7 +12567,7 @@ void Ifc4x3_rc2::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrient const ifcopenshell::entity& Ifc4x3_rc2::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[745]); } -void Ifc4x3_rc2::IfcPath::initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc2::IfcPath Ifc4x3_rc2::IfcPath::initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< bool > Ifc4x3_rc2::IfcPavement::Flexible() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } bool v = get_attribute_value(8); return v; } @@ -12575,7 +12575,7 @@ void Ifc4x3_rc2::IfcPavement::setFlexible(const std::optional< bool >& v) { if ( const ifcopenshell::entity& Ifc4x3_rc2::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[746]); } -void Ifc4x3_rc2::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); } } +Ifc4x3_rc2::IfcPavement Ifc4x3_rc2::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); }; return *this; } // Function implementations for IfcPavementType bool Ifc4x3_rc2::IfcPavementType::Flexible() const { bool v = get_attribute_value(9); return v; } @@ -12583,7 +12583,7 @@ void Ifc4x3_rc2::IfcPavementType::setFlexible(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc2::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[747]); } -void Ifc4x3_rc2::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible)); } +Ifc4x3_rc2::IfcPavementType Ifc4x3_rc2::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -12593,7 +12593,7 @@ void Ifc4x3_rc2::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc2::IfcCurve& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[748]); } -void Ifc4x3_rc2::IfcPcurve::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_rc2::IfcPcurve Ifc4x3_rc2::IfcPcurve::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_rc2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12603,7 +12603,7 @@ void Ifc4x3_rc2::IfcPerformanceHistory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc2::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[749]); } -void Ifc4x3_rc2::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc2::IfcPerformanceHistory Ifc4x3_rc2::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12619,7 +12619,7 @@ void Ifc4x3_rc2::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[752]); } -void Ifc4x3_rc2::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc2::IfcPermeableCoveringProperties Ifc4x3_rc2::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > Ifc4x3_rc2::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12631,7 +12631,7 @@ void Ifc4x3_rc2::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[753]); } -void Ifc4x3_rc2::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc2::IfcPermit Ifc4x3_rc2::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_rc2::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12654,7 +12654,7 @@ void Ifc4x3_rc2::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc std::vector<::Ifc4x3_rc2::IfcPersonAndOrganization> Ifc4x3_rc2::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[756], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[755]); } -void Ifc4x3_rc2::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_rc2::IfcPerson Ifc4x3_rc2::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_rc2::IfcPerson Ifc4x3_rc2::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPerson>(); } @@ -12666,7 +12666,7 @@ void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc2::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[756]); } -void Ifc4x3_rc2::IfcPersonAndOrganization::initialize(::Ifc4x3_rc2::IfcPerson v1_ThePerson, ::Ifc4x3_rc2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_rc2::IfcPersonAndOrganization Ifc4x3_rc2::IfcPersonAndOrganization::initialize(::Ifc4x3_rc2::IfcPerson v1_ThePerson, ::Ifc4x3_rc2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > Ifc4x3_rc2::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcPhysicalQuantity>(es); } @@ -12680,7 +12680,7 @@ void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setUsage(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[758]); } -void Ifc4x3_rc2::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_rc2::IfcPhysicalComplexQuantity Ifc4x3_rc2::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_rc2::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12692,7 +12692,7 @@ std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcPhysi std::vector<::Ifc4x3_rc2::IfcPhysicalComplexQuantity> Ifc4x3_rc2::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[758], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[760]); } -void Ifc4x3_rc2::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc2::IfcPhysicalQuantity Ifc4x3_rc2::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_rc2::IfcNamedUnit Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcNamedUnit>(); } @@ -12700,7 +12700,7 @@ void Ifc4x3_rc2::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc2::IfcNamed const ifcopenshell::entity& Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[761]); } -void Ifc4x3_rc2::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc2::IfcPhysicalSimpleQuantity Ifc4x3_rc2::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > Ifc4x3_rc2::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12710,7 +12710,7 @@ void Ifc4x3_rc2::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[762]); } -void Ifc4x3_rc2::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_rc2::IfcPile Ifc4x3_rc2::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_rc2::IfcPileTypeEnum::Value Ifc4x3_rc2::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12718,7 +12718,7 @@ void Ifc4x3_rc2::IfcPileType::setPredefinedType(const ::Ifc4x3_rc2::IfcPileTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[764]); } -void Ifc4x3_rc2::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcPileType Ifc4x3_rc2::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc2::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12726,7 +12726,7 @@ void Ifc4x3_rc2::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[766]); } -void Ifc4x3_rc2::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcPipeFitting Ifc4x3_rc2::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value Ifc4x3_rc2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12734,7 +12734,7 @@ void Ifc4x3_rc2::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_rc2::IfcPi const ifcopenshell::entity& Ifc4x3_rc2::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[767]); } -void Ifc4x3_rc2::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcPipeFittingType Ifc4x3_rc2::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc2::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12742,7 +12742,7 @@ void Ifc4x3_rc2::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[769]); } -void Ifc4x3_rc2::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcPipeSegment Ifc4x3_rc2::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12750,7 +12750,7 @@ void Ifc4x3_rc2::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_rc2::IfcPi const ifcopenshell::entity& Ifc4x3_rc2::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[770]); } -void Ifc4x3_rc2::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcPipeSegmentType Ifc4x3_rc2::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_rc2::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12764,7 +12764,7 @@ void Ifc4x3_rc2::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bit const ifcopenshell::entity& Ifc4x3_rc2::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[772]); } -void Ifc4x3_rc2::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_rc2::IfcPixelTexture Ifc4x3_rc2::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_rc2::IfcPoint Ifc4x3_rc2::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPoint>(); } @@ -12772,7 +12772,7 @@ void Ifc4x3_rc2::IfcPlacement::setLocation(const ::Ifc4x3_rc2::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x3_rc2::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[773]); } -void Ifc4x3_rc2::IfcPlacement::initialize(::Ifc4x3_rc2::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcPlacement::initialize(::Ifc4x3_rc2::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } @@ -12780,7 +12780,7 @@ void Ifc4x3_rc2::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc2::IfcAxis2Placemen const ifcopenshell::entity& Ifc4x3_rc2::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[774]); } -void Ifc4x3_rc2::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc2::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_rc2::IfcPlanarBox Ifc4x3_rc2::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc2::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_rc2::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12790,19 +12790,19 @@ void Ifc4x3_rc2::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_rc2::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[775]); } -void Ifc4x3_rc2::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_rc2::IfcPlanarExtent Ifc4x3_rc2::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_rc2::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[777]); } -void Ifc4x3_rc2::IfcPlane::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc2::IfcPlane Ifc4x3_rc2::IfcPlane::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlant const ifcopenshell::entity& Ifc4x3_rc2::IfcPlant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[779]); } -void Ifc4x3_rc2::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcPlant Ifc4x3_rc2::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > Ifc4x3_rc2::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12810,13 +12810,13 @@ void Ifc4x3_rc2::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[780]); } -void Ifc4x3_rc2::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcPlate Ifc4x3_rc2::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[781]); } -void Ifc4x3_rc2::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcPlateStandardCase Ifc4x3_rc2::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_rc2::IfcPlateTypeEnum::Value Ifc4x3_rc2::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12824,13 +12824,13 @@ void Ifc4x3_rc2::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc2::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[782]); } -void Ifc4x3_rc2::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcPlateType Ifc4x3_rc2::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_rc2::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[784]); } -void Ifc4x3_rc2::IfcPoint::initialize() { } +Ifc4x3_rc2::IfcPoint Ifc4x3_rc2::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3_rc2::IfcCurveMeasureSelect Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(); } @@ -12846,7 +12846,7 @@ void Ifc4x3_rc2::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[785]); } -void Ifc4x3_rc2::IfcPointByDistanceExpression::initialize(::Ifc4x3_rc2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3_rc2::IfcPointByDistanceExpression Ifc4x3_rc2::IfcPointByDistanceExpression::initialize(::Ifc4x3_rc2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -12856,7 +12856,7 @@ void Ifc4x3_rc2::IfcPointOnCurve::setPointParameter(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc2::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[786]); } -void Ifc4x3_rc2::IfcPointOnCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_rc2::IfcPointOnCurve Ifc4x3_rc2::IfcPointOnCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -12868,7 +12868,7 @@ void Ifc4x3_rc2::IfcPointOnSurface::setPointParameterV(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[787]); } -void Ifc4x3_rc2::IfcPointOnSurface::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_rc2::IfcPointOnSurface Ifc4x3_rc2::IfcPointOnSurface::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Ifc4x3_rc2::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } @@ -12876,7 +12876,7 @@ void Ifc4x3_rc2::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc2::IfcCar const ifcopenshell::entity& Ifc4x3_rc2::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[792]); } -void Ifc4x3_rc2::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_rc2::IfcPolyLoop Ifc4x3_rc2::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } @@ -12886,7 +12886,7 @@ void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[789]); } -void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc2::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc2::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_rc2::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12898,7 +12898,7 @@ void Ifc4x3_rc2::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc2::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[790]); } -void Ifc4x3_rc2::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_rc2::IfcPolygonalFaceSet Ifc4x3_rc2::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Ifc4x3_rc2::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcCartesianPoint>(es); } @@ -12906,7 +12906,7 @@ void Ifc4x3_rc2::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc2::IfcCart const ifcopenshell::entity& Ifc4x3_rc2::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[791]); } -void Ifc4x3_rc2::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_rc2::IfcPolyline Ifc4x3_rc2::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPort @@ -12915,7 +12915,7 @@ std::vector<::Ifc4x3_rc2::IfcRelConnectsPorts> Ifc4x3_rc2::IfcPort::ConnectedFro std::vector<::Ifc4x3_rc2::IfcRelConnectsPorts> Ifc4x3_rc2::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[938], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[793]); } -void Ifc4x3_rc2::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12923,7 +12923,7 @@ std::vector<::Ifc4x3_rc2::IfcRelContainedInSpatialStructure> Ifc4x3_rc2::IfcPosi std::vector<::Ifc4x3_rc2::IfcRelPositions> Ifc4x3_rc2::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[958], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[794]); } -void Ifc4x3_rc2::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc2::IfcPositioningElement Ifc4x3_rc2::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12943,19 +12943,19 @@ void Ifc4x3_rc2::IfcPostalAddress::setCountry(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc2::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[799]); } -void Ifc4x3_rc2::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_rc2::IfcPostalAddress Ifc4x3_rc2::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc2::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[801]); } -void Ifc4x3_rc2::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc2::IfcPreDefinedColour Ifc4x3_rc2::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc2::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[802]); } -void Ifc4x3_rc2::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc2::IfcPreDefinedCurveFont Ifc4x3_rc2::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_rc2::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12963,31 +12963,31 @@ void Ifc4x3_rc2::IfcPreDefinedItem::setName(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc2::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[803]); } -void Ifc4x3_rc2::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc2::IfcPreDefinedItem Ifc4x3_rc2::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_rc2::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[804]); } -void Ifc4x3_rc2::IfcPreDefinedProperties::initialize() { } +Ifc4x3_rc2::IfcPreDefinedProperties Ifc4x3_rc2::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_rc2::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[805]); } -void Ifc4x3_rc2::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcPreDefinedPropertySet Ifc4x3_rc2::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc2::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[806]); } -void Ifc4x3_rc2::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc2::IfcPreDefinedTextFont Ifc4x3_rc2::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[809]); } -void Ifc4x3_rc2::IfcPresentationItem::initialize() { } +Ifc4x3_rc2::IfcPresentationItem Ifc4x3_rc2::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13001,7 +13001,7 @@ void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(const std::option const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[810]); } -void Ifc4x3_rc2::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_rc2::IfcPresentationLayerAssignment Ifc4x3_rc2::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -13015,7 +13015,7 @@ void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[811]); } -void Ifc4x3_rc2::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc2::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_rc2::IfcPresentationLayerWithStyle Ifc4x3_rc2::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc2::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_rc2::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13023,7 +13023,7 @@ void Ifc4x3_rc2::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[812]); } -void Ifc4x3_rc2::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcPresentationStyle Ifc4x3_rc2::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcPresentationStyleAssignment std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcPresentationStyleSelect>(es); } @@ -13031,7 +13031,7 @@ void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(const std::vector< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[813]); } -void Ifc4x3_rc2::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles)); } +Ifc4x3_rc2::IfcPresentationStyleAssignment Ifc4x3_rc2::IfcPresentationStyleAssignment::initialize(std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > v1_Styles) { set_attribute_value(0, cast_vector(v1_Styles));; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > Ifc4x3_rc2::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -13039,7 +13039,7 @@ void Ifc4x3_rc2::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[816]); } -void Ifc4x3_rc2::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc2::IfcProcedure Ifc4x3_rc2::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value Ifc4x3_rc2::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -13047,7 +13047,7 @@ void Ifc4x3_rc2::IfcProcedureType::setPredefinedType(const ::Ifc4x3_rc2::IfcProc const ifcopenshell::entity& Ifc4x3_rc2::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[817]); } -void Ifc4x3_rc2::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcProcedureType Ifc4x3_rc2::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_rc2::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13060,7 +13060,7 @@ std::vector<::Ifc4x3_rc2::IfcRelSequence> Ifc4x3_rc2::IfcProcess::IsSuccessorFro std::vector<::Ifc4x3_rc2::IfcRelAssignsToProcess> Ifc4x3_rc2::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[923], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[819]); } -void Ifc4x3_rc2::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc2::IfcProcess Ifc4x3_rc2::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_rc2::IfcObjectPlacement Ifc4x3_rc2::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc2::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcObjectPlacement>(); } @@ -13073,7 +13073,7 @@ std::vector<::Ifc4x3_rc2::IfcRelPositions> Ifc4x3_rc2::IfcProduct::PositionedRel std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[960], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[821]); } -void Ifc4x3_rc2::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc2::IfcProduct Ifc4x3_rc2::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -13081,7 +13081,7 @@ std::vector<::Ifc4x3_rc2::IfcProduct> Ifc4x3_rc2::IfcProductDefinitionShape::Sha std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1020], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[822]); } -void Ifc4x3_rc2::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc2::IfcProductDefinitionShape Ifc4x3_rc2::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13093,7 +13093,7 @@ void Ifc4x3_rc2::IfcProductRepresentation::setRepresentations(const std::vector< const ifcopenshell::entity& Ifc4x3_rc2::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[823]); } -void Ifc4x3_rc2::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc2::IfcProductRepresentation Ifc4x3_rc2::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_rc2::IfcProfileTypeEnum::Value Ifc4x3_rc2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc2::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -13105,7 +13105,7 @@ std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcProfi std::vector<::Ifc4x3_rc2::IfcProfileProperties> Ifc4x3_rc2::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[827], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[826]); } -void Ifc4x3_rc2::IfcProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -13113,19 +13113,19 @@ void Ifc4x3_rc2::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[827]); } -void Ifc4x3_rc2::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_rc2::IfcProfileProperties Ifc4x3_rc2::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_rc2::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[829]); } -void Ifc4x3_rc2::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc2::IfcProject Ifc4x3_rc2::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_rc2::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[834]); } -void Ifc4x3_rc2::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc2::IfcProjectLibrary Ifc4x3_rc2::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc2::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -13137,7 +13137,7 @@ void Ifc4x3_rc2::IfcProjectOrder::setLongDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc2::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[835]); } -void Ifc4x3_rc2::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc2::IfcProjectOrder Ifc4x3_rc2::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13149,7 +13149,7 @@ void Ifc4x3_rc2::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc2::IfcNamedUnit& v const ifcopenshell::entity& Ifc4x3_rc2::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[830]); } -void Ifc4x3_rc2::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc2::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_rc2::IfcProjectedCRS Ifc4x3_rc2::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc2::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc2::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13157,7 +13157,7 @@ void Ifc4x3_rc2::IfcProjectionElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[832]); } -void Ifc4x3_rc2::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcProjectionElement Ifc4x3_rc2::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_rc2::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13173,14 +13173,14 @@ std::vector<::Ifc4x3_rc2::IfcResourceConstraintRelationship> Ifc4x3_rc2::IfcProp std::vector<::Ifc4x3_rc2::IfcResourceApprovalRelationship> Ifc4x3_rc2::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[973], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[837]); } -void Ifc4x3_rc2::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc2::IfcProperty Ifc4x3_rc2::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[838]); } -void Ifc4x3_rc2::IfcPropertyAbstraction::initialize() { } +Ifc4x3_rc2::IfcPropertyAbstraction Ifc4x3_rc2::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcValue>(); } @@ -13194,7 +13194,7 @@ void Ifc4x3_rc2::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[839]); } -void Ifc4x3_rc2::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc2::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc2::IfcUnit v5_Unit, ::Ifc4x3_rc2::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_rc2::IfcPropertyBoundedValue Ifc4x3_rc2::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc2::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc2::IfcUnit v5_Unit, ::Ifc4x3_rc2::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13202,7 +13202,7 @@ std::vector<::Ifc4x3_rc2::IfcRelDeclares> Ifc4x3_rc2::IfcPropertyDefinition::Has std::vector<::Ifc4x3_rc2::IfcRelAssociates> Ifc4x3_rc2::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[926], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[840]); } -void Ifc4x3_rc2::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcPropertyDefinition Ifc4x3_rc2::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_rc2::IfcProperty Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcProperty>(); } @@ -13214,7 +13214,7 @@ void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setExpression(const std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[841]); } -void Ifc4x3_rc2::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc2::IfcPropertyDependencyRelationship Ifc4x3_rc2::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } @@ -13224,7 +13224,7 @@ void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[842]); } -void Ifc4x3_rc2::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_rc2::IfcPropertyEnumeratedValue Ifc4x3_rc2::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc2::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13236,7 +13236,7 @@ void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[843]); } -void Ifc4x3_rc2::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc2::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc2::IfcPropertyEnumeration Ifc4x3_rc2::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc2::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } @@ -13246,7 +13246,7 @@ void Ifc4x3_rc2::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[844]); } -void Ifc4x3_rc2::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_ListValues, ::Ifc4x3_rc2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc2::IfcPropertyListValue Ifc4x3_rc2::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_ListValues, ::Ifc4x3_rc2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13256,7 +13256,7 @@ void Ifc4x3_rc2::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[845]); } -void Ifc4x3_rc2::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc2::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_rc2::IfcPropertyReferenceValue Ifc4x3_rc2::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc2::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_rc2::IfcProperty > Ifc4x3_rc2::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcProperty>(es); } @@ -13264,7 +13264,7 @@ void Ifc4x3_rc2::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[846]); } -void Ifc4x3_rc2::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_rc2::IfcPropertySet Ifc4x3_rc2::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13273,7 +13273,7 @@ std::vector<::Ifc4x3_rc2::IfcRelDefinesByTemplate> Ifc4x3_rc2::IfcPropertySetDef std::vector<::Ifc4x3_rc2::IfcRelDefinesByProperties> Ifc4x3_rc2::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[951], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[847]); } -void Ifc4x3_rc2::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcPropertySetDefinition Ifc4x3_rc2::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc2::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13286,7 +13286,7 @@ void Ifc4x3_rc2::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vect std::vector<::Ifc4x3_rc2::IfcRelDefinesByTemplate> Ifc4x3_rc2::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[952], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[850]); } -void Ifc4x3_rc2::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_rc2::IfcPropertySetTemplate Ifc4x3_rc2::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_rc2::IfcValue Ifc4x3_rc2::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcValue>(); } @@ -13296,7 +13296,7 @@ void Ifc4x3_rc2::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[852]); } -void Ifc4x3_rc2::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_NominalValue, ::Ifc4x3_rc2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc2::IfcPropertySingleValue Ifc4x3_rc2::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_NominalValue, ::Ifc4x3_rc2::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } @@ -13314,7 +13314,7 @@ void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[853]); } -void Ifc4x3_rc2::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_rc2::IfcPropertyTableValue Ifc4x3_rc2::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13322,13 +13322,13 @@ std::vector<::Ifc4x3_rc2::IfcComplexPropertyTemplate> Ifc4x3_rc2::IfcPropertyTem std::vector<::Ifc4x3_rc2::IfcPropertySetTemplate> Ifc4x3_rc2::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[850], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[854]); } -void Ifc4x3_rc2::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcPropertyTemplate Ifc4x3_rc2::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_rc2::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[855]); } -void Ifc4x3_rc2::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcPropertyTemplateDefinition Ifc4x3_rc2::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13336,7 +13336,7 @@ void Ifc4x3_rc2::IfcProtectiveDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[856]); } -void Ifc4x3_rc2::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcProtectiveDevice Ifc4x3_rc2::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13344,7 +13344,7 @@ void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[857]); } -void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13352,7 +13352,7 @@ void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[858]); } -void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13360,7 +13360,7 @@ void Ifc4x3_rc2::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[860]); } -void Ifc4x3_rc2::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcProtectiveDeviceType Ifc4x3_rc2::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4x3_rc2::IfcObjectTypeEnum::Value Ifc4x3_rc2::IfcProxy::ProxyType() const { return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -13370,7 +13370,7 @@ void Ifc4x3_rc2::IfcProxy::setTag(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x3_rc2::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[862]); } -void Ifc4x3_rc2::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4x3_rc2::IfcProxy Ifc4x3_rc2::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > Ifc4x3_rc2::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13378,7 +13378,7 @@ void Ifc4x3_rc2::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[863]); } -void Ifc4x3_rc2::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcPump Ifc4x3_rc2::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_rc2::IfcPumpTypeEnum::Value Ifc4x3_rc2::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13386,7 +13386,7 @@ void Ifc4x3_rc2::IfcPumpType::setPredefinedType(const ::Ifc4x3_rc2::IfcPumpTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[864]); } -void Ifc4x3_rc2::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcPumpType Ifc4x3_rc2::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_rc2::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13396,7 +13396,7 @@ void Ifc4x3_rc2::IfcQuantityArea::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[866]); } -void Ifc4x3_rc2::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc2::IfcQuantityArea Ifc4x3_rc2::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4x3_rc2::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -13406,7 +13406,7 @@ void Ifc4x3_rc2::IfcQuantityCount::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[867]); } -void Ifc4x3_rc2::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc2::IfcQuantityCount Ifc4x3_rc2::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_rc2::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13416,13 +13416,13 @@ void Ifc4x3_rc2::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[868]); } -void Ifc4x3_rc2::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc2::IfcQuantityLength Ifc4x3_rc2::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[869]); } -void Ifc4x3_rc2::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcQuantitySet Ifc4x3_rc2::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_rc2::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13432,7 +13432,7 @@ void Ifc4x3_rc2::IfcQuantityTime::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[870]); } -void Ifc4x3_rc2::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc2::IfcQuantityTime Ifc4x3_rc2::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_rc2::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13442,7 +13442,7 @@ void Ifc4x3_rc2::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[871]); } -void Ifc4x3_rc2::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc2::IfcQuantityVolume Ifc4x3_rc2::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_rc2::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13452,7 +13452,7 @@ void Ifc4x3_rc2::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[872]); } -void Ifc4x3_rc2::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc2::IfcQuantityWeight Ifc4x3_rc2::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > Ifc4x3_rc2::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13460,7 +13460,7 @@ void Ifc4x3_rc2::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[874]); } -void Ifc4x3_rc2::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcRail Ifc4x3_rc2::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_rc2::IfcRailTypeEnum::Value Ifc4x3_rc2::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13468,7 +13468,7 @@ void Ifc4x3_rc2::IfcRailType::setPredefinedType(const ::Ifc4x3_rc2::IfcRailTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[878]); } -void Ifc4x3_rc2::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcRailType Ifc4x3_rc2::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > Ifc4x3_rc2::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13476,7 +13476,7 @@ void Ifc4x3_rc2::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[875]); } -void Ifc4x3_rc2::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcRailing Ifc4x3_rc2::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_rc2::IfcRailingTypeEnum::Value Ifc4x3_rc2::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13484,13 +13484,13 @@ void Ifc4x3_rc2::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc2::IfcRailin const ifcopenshell::entity& Ifc4x3_rc2::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[876]); } -void Ifc4x3_rc2::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcRailingType Ifc4x3_rc2::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway const ifcopenshell::entity& Ifc4x3_rc2::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[880]); } -void Ifc4x3_rc2::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc2::IfcRailway Ifc4x3_rc2::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > Ifc4x3_rc2::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13498,7 +13498,7 @@ void Ifc4x3_rc2::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[882]); } -void Ifc4x3_rc2::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcRamp Ifc4x3_rc2::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > Ifc4x3_rc2::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13506,7 +13506,7 @@ void Ifc4x3_rc2::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[883]); } -void Ifc4x3_rc2::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcRampFlight Ifc4x3_rc2::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value Ifc4x3_rc2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13514,7 +13514,7 @@ void Ifc4x3_rc2::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_rc2::IfcRam const ifcopenshell::entity& Ifc4x3_rc2::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[884]); } -void Ifc4x3_rc2::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcRampFlightType Ifc4x3_rc2::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_rc2::IfcRampTypeEnum::Value Ifc4x3_rc2::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13522,7 +13522,7 @@ void Ifc4x3_rc2::IfcRampType::setPredefinedType(const ::Ifc4x3_rc2::IfcRampTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[886]); } -void Ifc4x3_rc2::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcRampType Ifc4x3_rc2::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13530,7 +13530,7 @@ void Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vec const ifcopenshell::entity& Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[889]); } -void Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13538,7 +13538,7 @@ void Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::v const ifcopenshell::entity& Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[890]); } -void Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_rc2::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13550,7 +13550,7 @@ void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[892]); } -void Ifc4x3_rc2::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_rc2::IfcRectangleHollowProfileDef Ifc4x3_rc2::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_rc2::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13560,7 +13560,7 @@ void Ifc4x3_rc2::IfcRectangleProfileDef::setYDim(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc2::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[893]); } -void Ifc4x3_rc2::IfcRectangleProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_rc2::IfcRectangleProfileDef Ifc4x3_rc2::IfcRectangleProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_rc2::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13572,7 +13572,7 @@ void Ifc4x3_rc2::IfcRectangularPyramid::setHeight(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc2::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[894]); } -void Ifc4x3_rc2::IfcRectangularPyramid::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_rc2::IfcRectangularPyramid Ifc4x3_rc2::IfcRectangularPyramid::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -13592,7 +13592,7 @@ void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[895]); } -void Ifc4x3_rc2::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_rc2::IfcRectangularTrimmedSurface Ifc4x3_rc2::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value Ifc4x3_rc2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc2::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13614,7 +13614,7 @@ void Ifc4x3_rc2::IfcRecurrencePattern::setTimePeriods(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[896]); } -void Ifc4x3_rc2::IfcRecurrencePattern::initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_rc2::IfcRecurrencePattern Ifc4x3_rc2::IfcRecurrencePattern::initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_rc2::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13630,7 +13630,7 @@ void Ifc4x3_rc2::IfcReference::setInnerReference(const ::Ifc4x3_rc2::IfcReferenc const ifcopenshell::entity& Ifc4x3_rc2::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[898]); } -void Ifc4x3_rc2::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc2::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_rc2::IfcReference Ifc4x3_rc2::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc2::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > Ifc4x3_rc2::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13640,7 +13640,7 @@ void Ifc4x3_rc2::IfcReferent::setRestartDistance(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc2::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[899]); } -void Ifc4x3_rc2::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); } } +Ifc4x3_rc2::IfcReferent Ifc4x3_rc2::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13650,7 +13650,7 @@ void Ifc4x3_rc2::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[902]); } -void Ifc4x3_rc2::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_rc2::IfcRegularTimeSeries Ifc4x3_rc2::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc2::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13658,7 +13658,7 @@ void Ifc4x3_rc2::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[903]); } -void Ifc4x3_rc2::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcReinforcedSoil Ifc4x3_rc2::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_rc2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13676,7 +13676,7 @@ void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarCount(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[905]); } -void Ifc4x3_rc2::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_rc2::IfcReinforcementBarProperties Ifc4x3_rc2::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_rc2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13686,7 +13686,7 @@ void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setReinforcementSectionDe const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[906]); } -void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_rc2::IfcReinforcementDefinitionProperties Ifc4x3_rc2::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_rc2::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13702,7 +13702,7 @@ void Ifc4x3_rc2::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[907]); } -void Ifc4x3_rc2::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_rc2::IfcReinforcingBar Ifc4x3_rc2::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13722,7 +13722,7 @@ void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[910]); } -void Ifc4x3_rc2::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_rc2::IfcReinforcingBarType Ifc4x3_rc2::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_rc2::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13730,13 +13730,13 @@ void Ifc4x3_rc2::IfcReinforcingElement::setSteelGrade(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[912]); } -void Ifc4x3_rc2::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_rc2::IfcReinforcingElement Ifc4x3_rc2::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[913]); } -void Ifc4x3_rc2::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcReinforcingElementType Ifc4x3_rc2::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13760,7 +13760,7 @@ void Ifc4x3_rc2::IfcReinforcingMesh::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[914]); } -void Ifc4x3_rc2::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_rc2::IfcReinforcingMesh Ifc4x3_rc2::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13788,7 +13788,7 @@ void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[915]); } -void Ifc4x3_rc2::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_rc2::IfcReinforcingMeshType Ifc4x3_rc2::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_rc2::IfcObjectDefinition Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcObjectDefinition>(); } @@ -13798,7 +13798,7 @@ void Ifc4x3_rc2::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[917]); } -void Ifc4x3_rc2::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc2::IfcRelAggregates Ifc4x3_rc2::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } @@ -13808,7 +13808,7 @@ void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[918]); } -void Ifc4x3_rc2::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x3_rc2::IfcRelAssigns Ifc4x3_rc2::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_rc2::IfcActor Ifc4x3_rc2::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcActor>(); } @@ -13818,7 +13818,7 @@ void Ifc4x3_rc2::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc2::IfcActo const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[919]); } -void Ifc4x3_rc2::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_rc2::IfcRelAssignsToActor Ifc4x3_rc2::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_rc2::IfcControl Ifc4x3_rc2::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcControl>(); } @@ -13826,7 +13826,7 @@ void Ifc4x3_rc2::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[920]); } -void Ifc4x3_rc2::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_rc2::IfcRelAssignsToControl Ifc4x3_rc2::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_rc2::IfcGroup Ifc4x3_rc2::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcGroup>(); } @@ -13834,7 +13834,7 @@ void Ifc4x3_rc2::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc2::IfcG const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[921]); } -void Ifc4x3_rc2::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_rc2::IfcRelAssignsToGroup Ifc4x3_rc2::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13842,7 +13842,7 @@ void Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[922]); } -void Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_rc2::IfcRelAssignsToGroupByFactor Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_rc2::IfcProcessSelect Ifc4x3_rc2::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcProcessSelect>(); } @@ -13852,7 +13852,7 @@ void Ifc4x3_rc2::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[923]); } -void Ifc4x3_rc2::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_rc2::IfcRelAssignsToProcess Ifc4x3_rc2::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_rc2::IfcProductSelect Ifc4x3_rc2::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcProductSelect>(); } @@ -13860,7 +13860,7 @@ void Ifc4x3_rc2::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[924]); } -void Ifc4x3_rc2::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_rc2::IfcRelAssignsToProduct Ifc4x3_rc2::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_rc2::IfcResourceSelect Ifc4x3_rc2::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc2::IfcResourceSelect>(); } @@ -13868,7 +13868,7 @@ void Ifc4x3_rc2::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[925]); } -void Ifc4x3_rc2::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_rc2::IfcRelAssignsToResource Ifc4x3_rc2::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcDefinitionSelect>(es); } @@ -13876,7 +13876,7 @@ void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[926]); } -void Ifc4x3_rc2::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_rc2::IfcRelAssociates Ifc4x3_rc2::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc2::IfcApproval Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcApproval>(); } @@ -13884,7 +13884,7 @@ void Ifc4x3_rc2::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[927]); } -void Ifc4x3_rc2::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_rc2::IfcRelAssociatesApproval Ifc4x3_rc2::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc2::IfcClassificationSelect Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcClassificationSelect>(); } @@ -13892,7 +13892,7 @@ void Ifc4x3_rc2::IfcRelAssociatesClassification::setRelatingClassification(const const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[928]); } -void Ifc4x3_rc2::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_rc2::IfcRelAssociatesClassification Ifc4x3_rc2::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13902,7 +13902,7 @@ void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[929]); } -void Ifc4x3_rc2::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_rc2::IfcRelAssociatesConstraint Ifc4x3_rc2::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc2::IfcDocumentSelect Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcDocumentSelect>(); } @@ -13910,7 +13910,7 @@ void Ifc4x3_rc2::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[930]); } -void Ifc4x3_rc2::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_rc2::IfcRelAssociatesDocument Ifc4x3_rc2::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc2::IfcLibrarySelect Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcLibrarySelect>(); } @@ -13918,7 +13918,7 @@ void Ifc4x3_rc2::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[931]); } -void Ifc4x3_rc2::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_rc2::IfcRelAssociatesLibrary Ifc4x3_rc2::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc2::IfcMaterialSelect Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcMaterialSelect>(); } @@ -13926,7 +13926,7 @@ void Ifc4x3_rc2::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[932]); } -void Ifc4x3_rc2::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_rc2::IfcRelAssociatesMaterial Ifc4x3_rc2::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -13934,13 +13934,13 @@ void Ifc4x3_rc2::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[933]); } -void Ifc4x3_rc2::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_rc2::IfcRelAssociatesProfileDef Ifc4x3_rc2::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[935]); } -void Ifc4x3_rc2::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcRelConnects Ifc4x3_rc2::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc2::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } @@ -13952,7 +13952,7 @@ void Ifc4x3_rc2::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[936]); } -void Ifc4x3_rc2::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_rc2::IfcRelConnectsElements Ifc4x3_rc2::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_rc2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13966,7 +13966,7 @@ void Ifc4x3_rc2::IfcRelConnectsPathElements::setRelatingConnectionType(const ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[937]); } -void Ifc4x3_rc2::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_rc2::IfcRelConnectsPathElements Ifc4x3_rc2::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPort>(); } @@ -13976,7 +13976,7 @@ void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[939]); } -void Ifc4x3_rc2::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_rc2::IfcRelConnectsPortToElement Ifc4x3_rc2::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_rc2::IfcPort Ifc4x3_rc2::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPort>(); } @@ -13988,7 +13988,7 @@ void Ifc4x3_rc2::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[938]); } -void Ifc4x3_rc2::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcPort v6_RelatedPort, ::Ifc4x3_rc2::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_rc2::IfcRelConnectsPorts Ifc4x3_rc2::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcPort v6_RelatedPort, ::Ifc4x3_rc2::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect>(); } @@ -13998,7 +13998,7 @@ void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity( const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[940]); } -void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_rc2::IfcRelConnectsStructuralActivity Ifc4x3_rc2::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_rc2::IfcStructuralMember Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcStructuralMember>(); } @@ -14016,7 +14016,7 @@ void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(co const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[941]); } -void Ifc4x3_rc2::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_rc2::IfcRelConnectsStructuralMember Ifc4x3_rc2::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_rc2::IfcConnectionGeometry Ifc4x3_rc2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcConnectionGeometry>(); } @@ -14024,7 +14024,7 @@ void Ifc4x3_rc2::IfcRelConnectsWithEccentricity::setConnectionConstraint(const : const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[942]); } -void Ifc4x3_rc2::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc2::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_rc2::IfcRelConnectsWithEccentricity Ifc4x3_rc2::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc2::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_rc2::IfcElement > Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc2::IfcElement>(es); } @@ -14034,7 +14034,7 @@ void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setConnectionType(const st const ifcopenshell::entity& Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[943]); } -void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_rc2::IfcRelConnectsWithRealizingElements Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_rc2::IfcProduct > Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcProduct>(es); } @@ -14044,7 +14044,7 @@ void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatingStructure(const : const ifcopenshell::entity& Ifc4x3_rc2::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[944]); } -void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc2::IfcRelContainedInSpatialStructure Ifc4x3_rc2::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcElement>(); } @@ -14054,7 +14054,7 @@ void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector const ifcopenshell::entity& Ifc4x3_rc2::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[945]); } -void Ifc4x3_rc2::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc2::IfcRelCoversBldgElements Ifc4x3_rc2::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_rc2::IfcSpace Ifc4x3_rc2::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSpace>(); } @@ -14064,7 +14064,7 @@ void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[946]); } -void Ifc4x3_rc2::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc2::IfcRelCoversSpaces Ifc4x3_rc2::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_rc2::IfcContext Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcContext>(); } @@ -14074,19 +14074,19 @@ void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[947]); } -void Ifc4x3_rc2::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_rc2::IfcRelDeclares Ifc4x3_rc2::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[948]); } -void Ifc4x3_rc2::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcRelDecomposes Ifc4x3_rc2::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[949]); } -void Ifc4x3_rc2::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcRelDefines Ifc4x3_rc2::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_rc2::IfcObject > Ifc4x3_rc2::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObject>(es); } @@ -14096,7 +14096,7 @@ void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[950]); } -void Ifc4x3_rc2::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_rc2::IfcRelDefinesByObject Ifc4x3_rc2::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > Ifc4x3_rc2::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObjectDefinition>(es); } @@ -14106,7 +14106,7 @@ void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[951]); } -void Ifc4x3_rc2::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_rc2::IfcRelDefinesByProperties Ifc4x3_rc2::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcPropertySetDefinition>(es); } @@ -14116,7 +14116,7 @@ void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[952]); } -void Ifc4x3_rc2::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc2::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_rc2::IfcRelDefinesByTemplate Ifc4x3_rc2::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc2::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_rc2::IfcObject > Ifc4x3_rc2::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcObject>(es); } @@ -14126,7 +14126,7 @@ void Ifc4x3_rc2::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc2::IfcTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[953]); } -void Ifc4x3_rc2::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_rc2::IfcRelDefinesByType Ifc4x3_rc2::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_rc2::IfcOpeningElement Ifc4x3_rc2::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcOpeningElement>(); } @@ -14136,7 +14136,7 @@ void Ifc4x3_rc2::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[954]); } -void Ifc4x3_rc2::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_rc2::IfcRelFillsElement Ifc4x3_rc2::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > Ifc4x3_rc2::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcDistributionControlElement>(es); } @@ -14146,7 +14146,7 @@ void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[955]); } -void Ifc4x3_rc2::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_rc2::IfcRelFlowControlElements Ifc4x3_rc2::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_rc2::IfcInterferenceSelect Ifc4x3_rc2::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcInterferenceSelect>(); } @@ -14162,7 +14162,7 @@ void Ifc4x3_rc2::IfcRelInterferesElements::setImpliedOrder(const boost::logic::t const ifcopenshell::entity& Ifc4x3_rc2::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[956]); } -void Ifc4x3_rc2::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder)); } +Ifc4x3_rc2::IfcRelInterferesElements Ifc4x3_rc2::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_rc2::IfcObjectDefinition Ifc4x3_rc2::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcObjectDefinition>(); } @@ -14172,7 +14172,7 @@ void Ifc4x3_rc2::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[957]); } -void Ifc4x3_rc2::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc2::IfcRelNests Ifc4x3_rc2::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_rc2::IfcPositioningElement Ifc4x3_rc2::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcPositioningElement>(); } @@ -14182,7 +14182,7 @@ void Ifc4x3_rc2::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[958]); } -void Ifc4x3_rc2::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc2::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_rc2::IfcRelPositions Ifc4x3_rc2::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc2::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcElement>(); } @@ -14192,7 +14192,7 @@ void Ifc4x3_rc2::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[959]); } -void Ifc4x3_rc2::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_rc2::IfcRelProjectsElement Ifc4x3_rc2::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect > Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc2::IfcSpatialReferenceSelect>(es); } @@ -14202,7 +14202,7 @@ void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[960]); } -void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc2::IfcRelReferencedInSpatialStructure Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_rc2::IfcProcess Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProcess>(); } @@ -14218,7 +14218,7 @@ void Ifc4x3_rc2::IfcRelSequence::setUserDefinedSequenceType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[961]); } -void Ifc4x3_rc2::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_rc2::IfcRelSequence Ifc4x3_rc2::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_rc2::IfcSystem Ifc4x3_rc2::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSystem>(); } @@ -14228,7 +14228,7 @@ void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< const ifcopenshell::entity& Ifc4x3_rc2::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[962]); } -void Ifc4x3_rc2::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc2::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_rc2::IfcRelServicesBuildings Ifc4x3_rc2::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc2::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_rc2::IfcSpaceBoundarySelect Ifc4x3_rc2::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcSpaceBoundarySelect>(); } @@ -14244,7 +14244,7 @@ void Ifc4x3_rc2::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[963]); } -void Ifc4x3_rc2::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_rc2::IfcRelSpaceBoundary Ifc4x3_rc2::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel>(); } @@ -14253,7 +14253,7 @@ void Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_r std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[964], 9)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[964]); } -void Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel>(); } @@ -14262,7 +14262,7 @@ void Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::I std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[965], 10)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[965]); } -void Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_rc2::IfcElement Ifc4x3_rc2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcElement>(); } @@ -14272,13 +14272,13 @@ void Ifc4x3_rc2::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[966]); } -void Ifc4x3_rc2::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc2::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_rc2::IfcRelVoidsElement Ifc4x3_rc2::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc2::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_rc2::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[934]); } -void Ifc4x3_rc2::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcRelationship Ifc4x3_rc2::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14286,7 +14286,7 @@ void Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::setParamLength(const do const ifcopenshell::entity& Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[967]); } -void Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_rc2::IfcRepresentationContext Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcRepresentationContext>(); } @@ -14303,7 +14303,7 @@ std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcReprese std::vector<::Ifc4x3_rc2::IfcProductRepresentation> Ifc4x3_rc2::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[823], 2)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[968]); } -void Ifc4x3_rc2::IfcRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc2::IfcRepresentation Ifc4x3_rc2::IfcRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14314,7 +14314,7 @@ void Ifc4x3_rc2::IfcRepresentationContext::setContextType(const std::optional< s std::vector<::Ifc4x3_rc2::IfcRepresentation> Ifc4x3_rc2::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[968], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[969]); } -void Ifc4x3_rc2::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_rc2::IfcRepresentationContext Ifc4x3_rc2::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14322,7 +14322,7 @@ std::vector<::Ifc4x3_rc2::IfcPresentationLayerAssignment> Ifc4x3_rc2::IfcReprese std::vector<::Ifc4x3_rc2::IfcStyledItem> Ifc4x3_rc2::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1132], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[970]); } -void Ifc4x3_rc2::IfcRepresentationItem::initialize() { } +Ifc4x3_rc2::IfcRepresentationItem Ifc4x3_rc2::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_rc2::IfcAxis2Placement Ifc4x3_rc2::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcAxis2Placement>(); } @@ -14334,7 +14334,7 @@ std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcRepresentationMap::HasS std::vector<::Ifc4x3_rc2::IfcMappedItem> Ifc4x3_rc2::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[644], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[971]); } -void Ifc4x3_rc2::IfcRepresentationMap::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc2::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_rc2::IfcRepresentationMap Ifc4x3_rc2::IfcRepresentationMap::initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc2::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_rc2::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14345,7 +14345,7 @@ void Ifc4x3_rc2::IfcResource::setLongDescription(const std::optional< std::strin std::vector<::Ifc4x3_rc2::IfcRelAssignsToResource> Ifc4x3_rc2::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[925], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[972]); } -void Ifc4x3_rc2::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc2::IfcResource Ifc4x3_rc2::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcResourceObjectSelect>(es); } @@ -14355,7 +14355,7 @@ void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(const ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[973]); } -void Ifc4x3_rc2::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_rc2::IfcResourceApprovalRelationship Ifc4x3_rc2::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc2::IfcConstraint Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcConstraint>(); } @@ -14365,7 +14365,7 @@ void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[974]); } -void Ifc4x3_rc2::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc2::IfcResourceConstraintRelationship Ifc4x3_rc2::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14375,7 +14375,7 @@ void Ifc4x3_rc2::IfcResourceLevelRelationship::setDescription(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[975]); } -void Ifc4x3_rc2::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc2::IfcResourceLevelRelationship Ifc4x3_rc2::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14411,7 +14411,7 @@ void Ifc4x3_rc2::IfcResourceTime::setCompletion(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc2::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[978]); } -void Ifc4x3_rc2::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_rc2::IfcResourceTime Ifc4x3_rc2::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_rc2::IfcAxis1Placement Ifc4x3_rc2::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis1Placement>(); } @@ -14421,7 +14421,7 @@ void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc2::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[979]); } -void Ifc4x3_rc2::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_rc2::IfcRevolvedAreaSolid Ifc4x3_rc2::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -14429,7 +14429,7 @@ void Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc2 const ifcopenshell::entity& Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[980]); } -void Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc2::IfcRevolvedAreaSolidTapered Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_rc2::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14439,7 +14439,7 @@ void Ifc4x3_rc2::IfcRightCircularCone::setBottomRadius(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[981]); } -void Ifc4x3_rc2::IfcRightCircularCone::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_rc2::IfcRightCircularCone Ifc4x3_rc2::IfcRightCircularCone::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_rc2::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14449,13 +14449,13 @@ void Ifc4x3_rc2::IfcRightCircularCylinder::setRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_rc2::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[982]); } -void Ifc4x3_rc2::IfcRightCircularCylinder::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_rc2::IfcRightCircularCylinder Ifc4x3_rc2::IfcRightCircularCylinder::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoad const ifcopenshell::entity& Ifc4x3_rc2::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[983]); } -void Ifc4x3_rc2::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc2::IfcRoad Ifc4x3_rc2::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > Ifc4x3_rc2::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14463,7 +14463,7 @@ void Ifc4x3_rc2::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[986]); } -void Ifc4x3_rc2::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcRoof Ifc4x3_rc2::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_rc2::IfcRoofTypeEnum::Value Ifc4x3_rc2::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14471,7 +14471,7 @@ void Ifc4x3_rc2::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc2::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[987]); } -void Ifc4x3_rc2::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcRoofType Ifc4x3_rc2::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_rc2::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14485,7 +14485,7 @@ void Ifc4x3_rc2::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[989]); } -void Ifc4x3_rc2::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc2::IfcRoot Ifc4x3_rc2::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_rc2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14493,7 +14493,7 @@ void Ifc4x3_rc2::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_rc2::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[994]); } -void Ifc4x3_rc2::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_rc2::IfcRoundedRectangleProfileDef Ifc4x3_rc2::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > Ifc4x3_rc2::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14503,7 +14503,7 @@ void Ifc4x3_rc2::IfcSIUnit::setName(const ::Ifc4x3_rc2::IfcSIUnitName::Value& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1038]); } -void Ifc4x3_rc2::IfcSIUnit::initialize(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc2::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_rc2::IfcSIUnit Ifc4x3_rc2::IfcSIUnit::initialize(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc2::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc2::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14511,7 +14511,7 @@ void Ifc4x3_rc2::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[995]); } -void Ifc4x3_rc2::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSanitaryTerminal Ifc4x3_rc2::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14519,7 +14519,7 @@ void Ifc4x3_rc2::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[996]); } -void Ifc4x3_rc2::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSanitaryTerminalType Ifc4x3_rc2::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14531,13 +14531,13 @@ void Ifc4x3_rc2::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[998]); } -void Ifc4x3_rc2::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_rc2::IfcSchedulingTime Ifc4x3_rc2::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_rc2::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[999]); } -void Ifc4x3_rc2::IfcSeamCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc2::IfcSeamCurve Ifc4x3_rc2::IfcSeamCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_rc2::IfcSectionTypeEnum::Value Ifc4x3_rc2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14549,7 +14549,7 @@ void Ifc4x3_rc2::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc2::IfcProf const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1006]); } -void Ifc4x3_rc2::IfcSectionProperties::initialize(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc2::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc2::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_rc2::IfcSectionProperties Ifc4x3_rc2::IfcSectionProperties::initialize(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc2::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc2::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_rc2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14567,7 +14567,7 @@ void Ifc4x3_rc2::IfcSectionReinforcementProperties::setCrossSectionReinforcement const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1007]); } -void Ifc4x3_rc2::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_rc2::IfcSectionReinforcementProperties Ifc4x3_rc2::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -14577,7 +14577,7 @@ void Ifc4x3_rc2::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1001]); } -void Ifc4x3_rc2::IfcSectionedSolid::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_rc2::IfcSectionedSolid Ifc4x3_rc2::IfcSectionedSolid::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > Ifc4x3_rc2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc2::IfcPointByDistanceExpression>(es); } @@ -14587,7 +14587,7 @@ void Ifc4x3_rc2::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1002]); } -void Ifc4x3_rc2::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc2::IfcSectionedSolidHorizontal Ifc4x3_rc2::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_rc2::IfcCompositeCurve Ifc4x3_rc2::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCompositeCurve>(); } @@ -14599,7 +14599,7 @@ void Ifc4x3_rc2::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1003]); } -void Ifc4x3_rc2::IfcSectionedSpine::initialize(::Ifc4x3_rc2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_rc2::IfcSectionedSpine Ifc4x3_rc2::IfcSectionedSpine::initialize(::Ifc4x3_rc2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -14613,7 +14613,7 @@ void Ifc4x3_rc2::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_ const ifcopenshell::entity& Ifc4x3_rc2::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1004]); } -void Ifc4x3_rc2::IfcSectionedSurface::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc2::IfcSectionedSurface Ifc4x3_rc2::IfcSectionedSurface::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSegment ::Ifc4x3_rc2::IfcTransitionCode::Value Ifc4x3_rc2::IfcSegment::Transition() const { return ::Ifc4x3_rc2::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14621,7 +14621,7 @@ void Ifc4x3_rc2::IfcSegment::setTransition(const ::Ifc4x3_rc2::IfcTransitionCode const ifcopenshell::entity& Ifc4x3_rc2::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1009]); } -void Ifc4x3_rc2::IfcSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3_rc2::IfcSegment Ifc4x3_rc2::IfcSegment::initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3_rc2::IfcBoundedCurve Ifc4x3_rc2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcBoundedCurve>(); } @@ -14633,7 +14633,7 @@ void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1010]); } -void Ifc4x3_rc2::IfcSegmentedReferenceCurve::initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcPlacement v3_EndPoint) { set_attribute_value(0, (v1_BaseCurve));set_attribute_value(1, cast_vector(v2_Segments));set_attribute_value(2, (v3_EndPoint)); } +Ifc4x3_rc2::IfcSegmentedReferenceCurve Ifc4x3_rc2::IfcSegmentedReferenceCurve::initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcPlacement v3_EndPoint) { set_attribute_value(0, (v1_BaseCurve));set_attribute_value(1, cast_vector(v2_Segments));set_attribute_value(2, (v3_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > Ifc4x3_rc2::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14641,7 +14641,7 @@ void Ifc4x3_rc2::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1012]); } -void Ifc4x3_rc2::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSensor Ifc4x3_rc2::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_rc2::IfcSensorTypeEnum::Value Ifc4x3_rc2::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14649,7 +14649,7 @@ void Ifc4x3_rc2::IfcSensorType::setPredefinedType(const ::Ifc4x3_rc2::IfcSensorT const ifcopenshell::entity& Ifc4x3_rc2::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1013]); } -void Ifc4x3_rc2::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSensorType Ifc4x3_rc2::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSeriesParameterCurve ::Ifc4x3_rc2::IfcPlacement Ifc4x3_rc2::IfcSeriesParameterCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPlacement>(); } @@ -14661,7 +14661,7 @@ void Ifc4x3_rc2::IfcSeriesParameterCurve::setCoefficientsY(const std::vector< do const ifcopenshell::entity& Ifc4x3_rc2::IfcSeriesParameterCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1016]); } -void Ifc4x3_rc2::IfcSeriesParameterCurve::initialize(::Ifc4x3_rc2::IfcPlacement v1_Position, std::vector< double > /*[2:?]*/ v2_CoefficientsX, std::vector< double > /*[2:?]*/ v3_CoefficientsY) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CoefficientsX));set_attribute_value(2, (v3_CoefficientsY)); } +Ifc4x3_rc2::IfcSeriesParameterCurve Ifc4x3_rc2::IfcSeriesParameterCurve::initialize(::Ifc4x3_rc2::IfcPlacement v1_Position, std::vector< double > /*[2:?]*/ v2_CoefficientsX, std::vector< double > /*[2:?]*/ v3_CoefficientsY) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CoefficientsX));set_attribute_value(2, (v3_CoefficientsY));; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14669,7 +14669,7 @@ void Ifc4x3_rc2::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1017]); } -void Ifc4x3_rc2::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcShadingDevice Ifc4x3_rc2::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14677,7 +14677,7 @@ void Ifc4x3_rc2::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1018]); } -void Ifc4x3_rc2::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcShadingDeviceType Ifc4x3_rc2::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_rc2::IfcShapeModel > Ifc4x3_rc2::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcShapeModel>(es); } @@ -14694,20 +14694,20 @@ void Ifc4x3_rc2::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_ std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1020]); } -void Ifc4x3_rc2::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_rc2::IfcShapeAspect Ifc4x3_rc2::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_rc2::IfcShapeAspect> Ifc4x3_rc2::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1020], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1021]); } -void Ifc4x3_rc2::IfcShapeModel::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc2::IfcShapeModel Ifc4x3_rc2::IfcShapeModel::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_rc2::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1022]); } -void Ifc4x3_rc2::IfcShapeRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc2::IfcShapeRepresentation Ifc4x3_rc2::IfcShapeRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_rc2::IfcShell > Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcShell>(es); } @@ -14715,7 +14715,7 @@ void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1025]); } -void Ifc4x3_rc2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_rc2::IfcShellBasedSurfaceModel Ifc4x3_rc2::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc2::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > Ifc4x3_rc2::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14723,7 +14723,7 @@ void Ifc4x3_rc2::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1026]); } -void Ifc4x3_rc2::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSign Ifc4x3_rc2::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_rc2::IfcSignTypeEnum::Value Ifc4x3_rc2::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14731,7 +14731,7 @@ void Ifc4x3_rc2::IfcSignType::setPredefinedType(const ::Ifc4x3_rc2::IfcSignTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1030]); } -void Ifc4x3_rc2::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSignType Ifc4x3_rc2::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > Ifc4x3_rc2::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14739,7 +14739,7 @@ void Ifc4x3_rc2::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1027]); } -void Ifc4x3_rc2::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSignal Ifc4x3_rc2::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_rc2::IfcSignalTypeEnum::Value Ifc4x3_rc2::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14747,13 +14747,13 @@ void Ifc4x3_rc2::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc2::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc2::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1028]); } -void Ifc4x3_rc2::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSignalType Ifc4x3_rc2::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_rc2::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1032]); } -void Ifc4x3_rc2::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc2::IfcSimpleProperty Ifc4x3_rc2::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14775,7 +14775,7 @@ void Ifc4x3_rc2::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1033]); } -void Ifc4x3_rc2::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_rc2::IfcSimplePropertyTemplate Ifc4x3_rc2::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14791,7 +14791,7 @@ void Ifc4x3_rc2::IfcSite::setSiteAddress(const ::Ifc4x3_rc2::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x3_rc2::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1037]); } -void Ifc4x3_rc2::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc2::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_rc2::IfcSite Ifc4x3_rc2::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc2::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > Ifc4x3_rc2::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14799,19 +14799,19 @@ void Ifc4x3_rc2::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1041]); } -void Ifc4x3_rc2::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSlab Ifc4x3_rc2::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4x3_rc2::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1042]); } -void Ifc4x3_rc2::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSlabElementedCase Ifc4x3_rc2::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1043]); } -void Ifc4x3_rc2::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSlabStandardCase Ifc4x3_rc2::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_rc2::IfcSlabTypeEnum::Value Ifc4x3_rc2::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14819,7 +14819,7 @@ void Ifc4x3_rc2::IfcSlabType::setPredefinedType(const ::Ifc4x3_rc2::IfcSlabTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1044]); } -void Ifc4x3_rc2::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSlabType Ifc4x3_rc2::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14831,7 +14831,7 @@ void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageZ(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1046]); } -void Ifc4x3_rc2::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_rc2::IfcSlippageConnectionCondition Ifc4x3_rc2::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14839,7 +14839,7 @@ void Ifc4x3_rc2::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1047]); } -void Ifc4x3_rc2::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSolarDevice Ifc4x3_rc2::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14847,19 +14847,19 @@ void Ifc4x3_rc2::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc2::IfcSo const ifcopenshell::entity& Ifc4x3_rc2::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1048]); } -void Ifc4x3_rc2::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSolarDeviceType Ifc4x3_rc2::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_rc2::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1051]); } -void Ifc4x3_rc2::IfcSolidModel::initialize() { } +Ifc4x3_rc2::IfcSolidModel Ifc4x3_rc2::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSolidStratum const ifcopenshell::entity& Ifc4x3_rc2::IfcSolidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1053]); } -void Ifc4x3_rc2::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcSolidStratum Ifc4x3_rc2::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > Ifc4x3_rc2::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14871,7 +14871,7 @@ std::vector<::Ifc4x3_rc2::IfcRelCoversSpaces> Ifc4x3_rc2::IfcSpace::HasCoverings std::vector<::Ifc4x3_rc2::IfcRelSpaceBoundary> Ifc4x3_rc2::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[963], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1058]); } -void Ifc4x3_rc2::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_rc2::IfcSpace Ifc4x3_rc2::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc2::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14879,7 +14879,7 @@ void Ifc4x3_rc2::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1060]); } -void Ifc4x3_rc2::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSpaceHeater Ifc4x3_rc2::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14887,7 +14887,7 @@ void Ifc4x3_rc2::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_rc2::IfcSp const ifcopenshell::entity& Ifc4x3_rc2::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1061]); } -void Ifc4x3_rc2::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSpaceHeaterType Ifc4x3_rc2::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value Ifc4x3_rc2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14897,7 +14897,7 @@ void Ifc4x3_rc2::IfcSpaceType::setLongName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_rc2::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1063]); } -void Ifc4x3_rc2::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc2::IfcSpaceType Ifc4x3_rc2::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_rc2::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14908,7 +14908,7 @@ std::vector<::Ifc4x3_rc2::IfcRelServicesBuildings> Ifc4x3_rc2::IfcSpatialElement std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[960], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1065]); } -void Ifc4x3_rc2::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc2::IfcSpatialElement Ifc4x3_rc2::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_rc2::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14916,7 +14916,7 @@ void Ifc4x3_rc2::IfcSpatialElementType::setElementType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1066]); } -void Ifc4x3_rc2::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcSpatialElementType Ifc4x3_rc2::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > Ifc4x3_rc2::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14924,13 +14924,13 @@ void Ifc4x3_rc2::IfcSpatialStructureElement::setCompositionType(const std::optio const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1068]); } -void Ifc4x3_rc2::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc2::IfcSpatialStructureElement Ifc4x3_rc2::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1069]); } -void Ifc4x3_rc2::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc2::IfcSpatialStructureElementType Ifc4x3_rc2::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc2::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14938,7 +14938,7 @@ void Ifc4x3_rc2::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1070]); } -void Ifc4x3_rc2::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSpatialZone Ifc4x3_rc2::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14948,7 +14948,7 @@ void Ifc4x3_rc2::IfcSpatialZoneType::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc2::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1071]); } -void Ifc4x3_rc2::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc2::IfcSpatialZoneType Ifc4x3_rc2::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_rc2::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14956,7 +14956,7 @@ void Ifc4x3_rc2::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc2::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1077]); } -void Ifc4x3_rc2::IfcSphere::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc2::IfcSphere Ifc4x3_rc2::IfcSphere::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_rc2::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14964,7 +14964,7 @@ void Ifc4x3_rc2::IfcSphericalSurface::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc2::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1078]); } -void Ifc4x3_rc2::IfcSphericalSurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc2::IfcSphericalSurface Ifc4x3_rc2::IfcSphericalSurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc2::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14972,7 +14972,7 @@ void Ifc4x3_rc2::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1079]); } -void Ifc4x3_rc2::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcStackTerminal Ifc4x3_rc2::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value Ifc4x3_rc2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14980,7 +14980,7 @@ void Ifc4x3_rc2::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1080]); } -void Ifc4x3_rc2::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcStackTerminalType Ifc4x3_rc2::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > Ifc4x3_rc2::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14988,7 +14988,7 @@ void Ifc4x3_rc2::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1082]); } -void Ifc4x3_rc2::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcStair Ifc4x3_rc2::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -15004,7 +15004,7 @@ void Ifc4x3_rc2::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1083]); } -void Ifc4x3_rc2::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc2::IfcStairFlight Ifc4x3_rc2::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value Ifc4x3_rc2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -15012,7 +15012,7 @@ void Ifc4x3_rc2::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_rc2::IfcSt const ifcopenshell::entity& Ifc4x3_rc2::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1084]); } -void Ifc4x3_rc2::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcStairFlightType Ifc4x3_rc2::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_rc2::IfcStairTypeEnum::Value Ifc4x3_rc2::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -15020,7 +15020,7 @@ void Ifc4x3_rc2::IfcStairType::setPredefinedType(const ::Ifc4x3_rc2::IfcStairTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1086]); } -void Ifc4x3_rc2::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcStairType Ifc4x3_rc2::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_rc2::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -15028,7 +15028,7 @@ void Ifc4x3_rc2::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1089]); } -void Ifc4x3_rc2::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc2::IfcStructuralAction Ifc4x3_rc2::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_rc2::IfcStructuralLoad Ifc4x3_rc2::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcStructuralLoad>(); } @@ -15039,7 +15039,7 @@ void Ifc4x3_rc2::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc2::Ifc std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralActivity> Ifc4x3_rc2::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[940], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1090]); } -void Ifc4x3_rc2::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc2::IfcStructuralActivity Ifc4x3_rc2::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -15055,7 +15055,7 @@ void Ifc4x3_rc2::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1092]); } -void Ifc4x3_rc2::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_rc2::IfcStructuralAnalysisModel Ifc4x3_rc2::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_rc2::IfcBoundaryCondition Ifc4x3_rc2::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc2::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc2::IfcBoundaryCondition>(); } @@ -15064,7 +15064,7 @@ void Ifc4x3_rc2::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc2 std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralMember> Ifc4x3_rc2::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[941], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1093]); } -void Ifc4x3_rc2::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc2::IfcStructuralConnection Ifc4x3_rc2::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_rc2::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15072,7 +15072,7 @@ void Ifc4x3_rc2::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1094]); } -void Ifc4x3_rc2::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcStructuralConnectionCondition Ifc4x3_rc2::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15082,7 +15082,7 @@ void Ifc4x3_rc2::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1095]); } -void Ifc4x3_rc2::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcStructuralCurveAction Ifc4x3_rc2::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -15090,7 +15090,7 @@ void Ifc4x3_rc2::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc2::IfcDi const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1097]); } -void Ifc4x3_rc2::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc2::IfcStructuralCurveConnection Ifc4x3_rc2::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15100,13 +15100,13 @@ void Ifc4x3_rc2::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc2::IfcDirect const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1098]); } -void Ifc4x3_rc2::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc2::IfcStructuralCurveMember Ifc4x3_rc2::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1100]); } -void Ifc4x3_rc2::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc2::IfcStructuralCurveMemberVarying Ifc4x3_rc2::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15114,20 +15114,20 @@ void Ifc4x3_rc2::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1101]); } -void Ifc4x3_rc2::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcStructuralCurveReaction Ifc4x3_rc2::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralActivity> Ifc4x3_rc2::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1102]); } -void Ifc4x3_rc2::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc2::IfcStructuralItem Ifc4x3_rc2::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1103]); } -void Ifc4x3_rc2::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcStructuralLinearAction Ifc4x3_rc2::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_rc2::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15135,7 +15135,7 @@ void Ifc4x3_rc2::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1104]); } -void Ifc4x3_rc2::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcStructuralLoad Ifc4x3_rc2::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -15143,7 +15143,7 @@ void Ifc4x3_rc2::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1105]); } -void Ifc4x3_rc2::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_rc2::IfcStructuralLoadCase Ifc4x3_rc2::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > Ifc4x3_rc2::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcStructuralLoadOrResult>(es); } @@ -15153,7 +15153,7 @@ void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setLocations(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1106]); } -void Ifc4x3_rc2::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_rc2::IfcStructuralLoadConfiguration Ifc4x3_rc2::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15171,7 +15171,7 @@ std::vector<::Ifc4x3_rc2::IfcStructuralResultGroup> Ifc4x3_rc2::IfcStructuralLoa std::vector<::Ifc4x3_rc2::IfcStructuralAnalysisModel> Ifc4x3_rc2::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1092], 7)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1107]); } -void Ifc4x3_rc2::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_rc2::IfcStructuralLoadGroup Ifc4x3_rc2::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15189,13 +15189,13 @@ void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optio const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1108]); } -void Ifc4x3_rc2::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_rc2::IfcStructuralLoadLinearForce Ifc4x3_rc2::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1109]); } -void Ifc4x3_rc2::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcStructuralLoadOrResult Ifc4x3_rc2::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15207,7 +15207,7 @@ void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::option const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1110]); } -void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_rc2::IfcStructuralLoadPlanarForce Ifc4x3_rc2::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15225,7 +15225,7 @@ void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementR const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1111]); } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15233,7 +15233,7 @@ void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(co const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1112]); } -void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15251,7 +15251,7 @@ void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1113]); } -void Ifc4x3_rc2::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_rc2::IfcStructuralLoadSingleForce Ifc4x3_rc2::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15259,13 +15259,13 @@ void Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1114]); } -void Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1115]); } -void Ifc4x3_rc2::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc2::IfcStructuralLoadStatic Ifc4x3_rc2::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15277,26 +15277,26 @@ void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1116]); } -void Ifc4x3_rc2::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_rc2::IfcStructuralLoadTemperature Ifc4x3_rc2::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_rc2::IfcRelConnectsStructuralMember> Ifc4x3_rc2::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[941], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1117]); } -void Ifc4x3_rc2::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc2::IfcStructuralMember Ifc4x3_rc2::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1118]); } -void Ifc4x3_rc2::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcStructuralPlanarAction Ifc4x3_rc2::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1119]); } -void Ifc4x3_rc2::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc2::IfcStructuralPointAction Ifc4x3_rc2::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_rc2::IfcAxis2Placement3D Ifc4x3_rc2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcAxis2Placement3D>(); } @@ -15304,19 +15304,19 @@ void Ifc4x3_rc2::IfcStructuralPointConnection::setConditionCoordinateSystem(cons const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1120]); } -void Ifc4x3_rc2::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_rc2::IfcStructuralPointConnection Ifc4x3_rc2::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1121]); } -void Ifc4x3_rc2::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc2::IfcStructuralPointReaction Ifc4x3_rc2::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1122]); } -void Ifc4x3_rc2::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc2::IfcStructuralReaction Ifc4x3_rc2::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15329,7 +15329,7 @@ void Ifc4x3_rc2::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attr std::vector<::Ifc4x3_rc2::IfcStructuralAnalysisModel> Ifc4x3_rc2::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1092], 8)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1123]); } -void Ifc4x3_rc2::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_rc2::IfcStructuralResultGroup Ifc4x3_rc2::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15339,13 +15339,13 @@ void Ifc4x3_rc2::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1124]); } -void Ifc4x3_rc2::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcStructuralSurfaceAction Ifc4x3_rc2::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1126]); } -void Ifc4x3_rc2::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc2::IfcStructuralSurfaceConnection Ifc4x3_rc2::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15355,13 +15355,13 @@ void Ifc4x3_rc2::IfcStructuralSurfaceMember::setThickness(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1127]); } -void Ifc4x3_rc2::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc2::IfcStructuralSurfaceMember Ifc4x3_rc2::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1129]); } -void Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15369,13 +15369,13 @@ void Ifc4x3_rc2::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1130]); } -void Ifc4x3_rc2::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcStructuralSurfaceReaction Ifc4x3_rc2::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_rc2::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1134]); } -void Ifc4x3_rc2::IfcStyleModel::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc2::IfcStyleModel Ifc4x3_rc2::IfcStyleModel::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_rc2::IfcRepresentationItem Ifc4x3_rc2::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc2::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcRepresentationItem>(); } @@ -15387,13 +15387,13 @@ void Ifc4x3_rc2::IfcStyledItem::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1132]); } -void Ifc4x3_rc2::IfcStyledItem::initialize(::Ifc4x3_rc2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc2::IfcStyledItem Ifc4x3_rc2::IfcStyledItem::initialize(::Ifc4x3_rc2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_rc2::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1133]); } -void Ifc4x3_rc2::IfcStyledRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc2::IfcStyledRepresentation Ifc4x3_rc2::IfcStyledRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc2::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15401,7 +15401,7 @@ void Ifc4x3_rc2::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1135]); } -void Ifc4x3_rc2::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc2::IfcSubContractResource Ifc4x3_rc2::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15409,7 +15409,7 @@ void Ifc4x3_rc2::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1136]); } -void Ifc4x3_rc2::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc2::IfcSubContractResourceType Ifc4x3_rc2::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_rc2::IfcEdge Ifc4x3_rc2::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcEdge>(); } @@ -15417,13 +15417,13 @@ void Ifc4x3_rc2::IfcSubedge::setParentEdge(const ::Ifc4x3_rc2::IfcEdge& v) { set const ifcopenshell::entity& Ifc4x3_rc2::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1138]); } -void Ifc4x3_rc2::IfcSubedge::initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_rc2::IfcSubedge Ifc4x3_rc2::IfcSubedge::initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_rc2::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1139]); } -void Ifc4x3_rc2::IfcSurface::initialize() { } +Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -15435,7 +15435,7 @@ void Ifc4x3_rc2::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1140]); } -void Ifc4x3_rc2::IfcSurfaceCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc2::IfcSurfaceCurve Ifc4x3_rc2::IfcSurfaceCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_rc2::IfcSurface Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc2::IfcSurface>(); } @@ -15443,7 +15443,7 @@ void Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1141]); } -void Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15451,7 +15451,7 @@ void Ifc4x3_rc2::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1142]); } -void Ifc4x3_rc2::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSurfaceFeature Ifc4x3_rc2::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -15461,7 +15461,7 @@ void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1144]); } -void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_rc2::IfcAxis1Placement Ifc4x3_rc2::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcAxis1Placement>(); } @@ -15469,7 +15469,7 @@ void Ifc4x3_rc2::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1145]); } -void Ifc4x3_rc2::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_rc2::IfcSurfaceOfRevolution Ifc4x3_rc2::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15481,7 +15481,7 @@ void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setShearReinforcement(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1147]); } -void Ifc4x3_rc2::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_rc2::IfcSurfaceReinforcementArea Ifc4x3_rc2::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc2::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15491,7 +15491,7 @@ void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1149]); } -void Ifc4x3_rc2::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_rc2::IfcSurfaceStyle Ifc4x3_rc2::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcColourRgb>(); } @@ -15505,7 +15505,7 @@ void Ifc4x3_rc2::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1151]); } -void Ifc4x3_rc2::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_rc2::IfcSurfaceStyleLighting Ifc4x3_rc2::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15515,7 +15515,7 @@ void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optio const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1152]); } -void Ifc4x3_rc2::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_rc2::IfcSurfaceStyleRefraction Ifc4x3_rc2::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_rc2::IfcColourOrFactor Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc2::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc2::IfcColourOrFactor>(); } @@ -15535,7 +15535,7 @@ void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1153]); } -void Ifc4x3_rc2::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_rc2::IfcSurfaceStyleRendering Ifc4x3_rc2::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_rc2::IfcColourRgb Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcColourRgb>(); } @@ -15545,7 +15545,7 @@ void Ifc4x3_rc2::IfcSurfaceStyleShading::setTransparency(const std::optional< do const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1154]); } -void Ifc4x3_rc2::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_rc2::IfcSurfaceStyleShading Ifc4x3_rc2::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcSurfaceTexture>(es); } @@ -15553,7 +15553,7 @@ void Ifc4x3_rc2::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1155]); } -void Ifc4x3_rc2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_rc2::IfcSurfaceStyleWithTextures Ifc4x3_rc2::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15571,7 +15571,7 @@ std::vector<::Ifc4x3_rc2::IfcTextureCoordinate> Ifc4x3_rc2::IfcSurfaceTexture::I std::vector<::Ifc4x3_rc2::IfcSurfaceStyleWithTextures> Ifc4x3_rc2::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[1155], 0)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1156]); } -void Ifc4x3_rc2::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_rc2::IfcSurfaceTexture Ifc4x3_rc2::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -15581,7 +15581,7 @@ void Ifc4x3_rc2::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc2::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc2::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1157]); } -void Ifc4x3_rc2::IfcSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc2::IfcSweptAreaSolid Ifc4x3_rc2::IfcSweptAreaSolid::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -15597,7 +15597,7 @@ void Ifc4x3_rc2::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc2::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1158]); } -void Ifc4x3_rc2::IfcSweptDiskSolid::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_rc2::IfcSweptDiskSolid Ifc4x3_rc2::IfcSweptDiskSolid::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15605,7 +15605,7 @@ void Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1159]); } -void Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_rc2::IfcSweptDiskSolidPolygonal Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_rc2::IfcProfileDef Ifc4x3_rc2::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcProfileDef>(); } @@ -15615,7 +15615,7 @@ void Ifc4x3_rc2::IfcSweptSurface::setPosition(const ::Ifc4x3_rc2::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_rc2::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1160]); } -void Ifc4x3_rc2::IfcSweptSurface::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc2::IfcSweptSurface Ifc4x3_rc2::IfcSweptSurface::initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15623,7 +15623,7 @@ void Ifc4x3_rc2::IfcSwitchingDevice::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1161]); } -void Ifc4x3_rc2::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSwitchingDevice Ifc4x3_rc2::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15631,7 +15631,7 @@ void Ifc4x3_rc2::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1162]); } -void Ifc4x3_rc2::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcSwitchingDeviceType Ifc4x3_rc2::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15639,7 +15639,7 @@ std::vector<::Ifc4x3_rc2::IfcRelServicesBuildings> Ifc4x3_rc2::IfcSystem::Servic std::vector<::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure> Ifc4x3_rc2::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[960], 4)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1164]); } -void Ifc4x3_rc2::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc2::IfcSystem Ifc4x3_rc2::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15647,7 +15647,7 @@ void Ifc4x3_rc2::IfcSystemFurnitureElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc2::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1165]); } -void Ifc4x3_rc2::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcSystemFurnitureElement Ifc4x3_rc2::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15655,7 +15655,7 @@ void Ifc4x3_rc2::IfcSystemFurnitureElementType::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc2::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1166]); } -void Ifc4x3_rc2::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc2::IfcSystemFurnitureElementType Ifc4x3_rc2::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_rc2::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15679,7 +15679,7 @@ void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc2::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1251]); } -void Ifc4x3_rc2::IfcTShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_rc2::IfcTShapeProfileDef Ifc4x3_rc2::IfcTShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_rc2::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15691,7 +15691,7 @@ void Ifc4x3_rc2::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1168]); } -void Ifc4x3_rc2::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_rc2::IfcTable Ifc4x3_rc2::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15707,7 +15707,7 @@ void Ifc4x3_rc2::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc2::IfcReferen const ifcopenshell::entity& Ifc4x3_rc2::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1169]); } -void Ifc4x3_rc2::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit v4_Unit, ::Ifc4x3_rc2::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_rc2::IfcTableColumn Ifc4x3_rc2::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit v4_Unit, ::Ifc4x3_rc2::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } @@ -15717,7 +15717,7 @@ void Ifc4x3_rc2::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_rc2::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1170]); } -void Ifc4x3_rc2::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_rc2::IfcTableRow Ifc4x3_rc2::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > Ifc4x3_rc2::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15725,7 +15725,7 @@ void Ifc4x3_rc2::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1171]); } -void Ifc4x3_rc2::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcTank Ifc4x3_rc2::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_rc2::IfcTankTypeEnum::Value Ifc4x3_rc2::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15733,7 +15733,7 @@ void Ifc4x3_rc2::IfcTankType::setPredefinedType(const ::Ifc4x3_rc2::IfcTankTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1172]); } -void Ifc4x3_rc2::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTankType Ifc4x3_rc2::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_rc2::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15751,7 +15751,7 @@ void Ifc4x3_rc2::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1174]); } -void Ifc4x3_rc2::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc2::IfcTask Ifc4x3_rc2::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > Ifc4x3_rc2::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15791,7 +15791,7 @@ void Ifc4x3_rc2::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1176]); } -void Ifc4x3_rc2::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_rc2::IfcTaskTime Ifc4x3_rc2::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_rc2::IfcRecurrencePattern Ifc4x3_rc2::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_rc2::IfcRecurrencePattern>(); } @@ -15799,7 +15799,7 @@ void Ifc4x3_rc2::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc2::IfcRecu const ifcopenshell::entity& Ifc4x3_rc2::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1177]); } -void Ifc4x3_rc2::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc2::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_rc2::IfcTaskTimeRecurring Ifc4x3_rc2::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc2::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_rc2::IfcTaskTypeEnum::Value Ifc4x3_rc2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15809,7 +15809,7 @@ void Ifc4x3_rc2::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc2::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1178]); } -void Ifc4x3_rc2::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_rc2::IfcTaskType Ifc4x3_rc2::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15827,7 +15827,7 @@ void Ifc4x3_rc2::IfcTelecomAddress::setMessagingIDs(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc2::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1180]); } -void Ifc4x3_rc2::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_rc2::IfcTelecomAddress Ifc4x3_rc2::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > Ifc4x3_rc2::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15849,7 +15849,7 @@ void Ifc4x3_rc2::IfcTendon::setMinCurvatureRadius(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc2::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1183]); } -void Ifc4x3_rc2::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_rc2::IfcTendon Ifc4x3_rc2::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc2::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15857,7 +15857,7 @@ void Ifc4x3_rc2::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1184]); } -void Ifc4x3_rc2::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc2::IfcTendonAnchor Ifc4x3_rc2::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15865,7 +15865,7 @@ void Ifc4x3_rc2::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_rc2::IfcT const ifcopenshell::entity& Ifc4x3_rc2::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1185]); } -void Ifc4x3_rc2::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTendonAnchorType Ifc4x3_rc2::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15873,7 +15873,7 @@ void Ifc4x3_rc2::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_rc2::IfcTend const ifcopenshell::entity& Ifc4x3_rc2::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1187]); } -void Ifc4x3_rc2::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTendonConduit Ifc4x3_rc2::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15881,7 +15881,7 @@ void Ifc4x3_rc2::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1188]); } -void Ifc4x3_rc2::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTendonConduitType Ifc4x3_rc2::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_rc2::IfcTendonTypeEnum::Value Ifc4x3_rc2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15895,7 +15895,7 @@ void Ifc4x3_rc2::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc2::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1190]); } -void Ifc4x3_rc2::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_rc2::IfcTendonType Ifc4x3_rc2::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_rc2::IfcCartesianPointList3D Ifc4x3_rc2::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCartesianPointList3D>(); } @@ -15905,13 +15905,13 @@ std::vector<::Ifc4x3_rc2::IfcIndexedColourMap> Ifc4x3_rc2::IfcTessellatedFaceSet std::vector<::Ifc4x3_rc2::IfcIndexedTextureMap> Ifc4x3_rc2::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[560], 1)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1192]); } -void Ifc4x3_rc2::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc2::IfcTessellatedFaceSet Ifc4x3_rc2::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_rc2::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1193]); } -void Ifc4x3_rc2::IfcTessellatedItem::initialize() { } +Ifc4x3_rc2::IfcTessellatedItem Ifc4x3_rc2::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_rc2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15923,7 +15923,7 @@ void Ifc4x3_rc2::IfcTextLiteral::setPath(const ::Ifc4x3_rc2::IfcTextPath::Value& const ifcopenshell::entity& Ifc4x3_rc2::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1199]); } -void Ifc4x3_rc2::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_rc2::IfcTextLiteral Ifc4x3_rc2::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_rc2::IfcPlanarExtent Ifc4x3_rc2::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcPlanarExtent>(); } @@ -15933,7 +15933,7 @@ void Ifc4x3_rc2::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1200]); } -void Ifc4x3_rc2::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_rc2::IfcTextLiteralWithExtent Ifc4x3_rc2::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_rc2::IfcTextStyleForDefinedFont Ifc4x3_rc2::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc2::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc2::IfcTextStyleForDefinedFont>(); } @@ -15947,7 +15947,7 @@ void Ifc4x3_rc2::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1202]); } -void Ifc4x3_rc2::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc2::IfcTextStyle Ifc4x3_rc2::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_rc2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15963,7 +15963,7 @@ void Ifc4x3_rc2::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc2::IfcSizeS const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1203]); } -void Ifc4x3_rc2::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_rc2::IfcTextStyleFontModel Ifc4x3_rc2::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_rc2::IfcColour Ifc4x3_rc2::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcColour>(); } @@ -15973,7 +15973,7 @@ void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1204]); } -void Ifc4x3_rc2::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc2::IfcColour v1_Colour, ::Ifc4x3_rc2::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_rc2::IfcTextStyleForDefinedFont Ifc4x3_rc2::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc2::IfcColour v1_Colour, ::Ifc4x3_rc2::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_rc2::IfcSizeSelect Ifc4x3_rc2::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc2::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcSizeSelect>(); } @@ -15993,7 +15993,7 @@ void Ifc4x3_rc2::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc2::IfcSiz const ifcopenshell::entity& Ifc4x3_rc2::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1205]); } -void Ifc4x3_rc2::IfcTextStyleTextModel::initialize(::Ifc4x3_rc2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc2::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_rc2::IfcTextStyleTextModel Ifc4x3_rc2::IfcTextStyleTextModel::initialize(::Ifc4x3_rc2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc2::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > Ifc4x3_rc2::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcSurfaceTexture>(es); } @@ -16001,7 +16001,7 @@ void Ifc4x3_rc2::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1207]); } -void Ifc4x3_rc2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_rc2::IfcTextureCoordinate Ifc4x3_rc2::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_rc2::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -16011,7 +16011,7 @@ void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1208]); } -void Ifc4x3_rc2::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_rc2::IfcTextureCoordinateGenerator Ifc4x3_rc2::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_rc2::IfcTextureVertex > Ifc4x3_rc2::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc2::IfcTextureVertex>(es); } @@ -16021,7 +16021,7 @@ void Ifc4x3_rc2::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc2::IfcFace& v) { se const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1209]); } -void Ifc4x3_rc2::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc2::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_rc2::IfcTextureMap Ifc4x3_rc2::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc2::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_rc2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -16029,7 +16029,7 @@ void Ifc4x3_rc2::IfcTextureVertex::setCoordinates(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1210]); } -void Ifc4x3_rc2::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc2::IfcTextureVertex Ifc4x3_rc2::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_rc2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -16037,7 +16037,7 @@ void Ifc4x3_rc2::IfcTextureVertexList::setTexCoordsList(const std::vector< std:: const ifcopenshell::entity& Ifc4x3_rc2::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1211]); } -void Ifc4x3_rc2::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_rc2::IfcTextureVertexList Ifc4x3_rc2::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_rc2::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -16047,7 +16047,7 @@ void Ifc4x3_rc2::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc2::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1221]); } -void Ifc4x3_rc2::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_rc2::IfcTimePeriod Ifc4x3_rc2::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_rc2::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -16070,7 +16070,7 @@ void Ifc4x3_rc2::IfcTimeSeries::setUnit(const ::Ifc4x3_rc2::IfcUnit& v) { set_at std::vector<::Ifc4x3_rc2::IfcExternalReferenceRelationship> Ifc4x3_rc2::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[441], 3)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1222]); } -void Ifc4x3_rc2::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_rc2::IfcTimeSeries Ifc4x3_rc2::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_rc2::IfcValue > Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcValue>(es); } @@ -16078,19 +16078,19 @@ void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc2::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1224]); } -void Ifc4x3_rc2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_rc2::IfcTimeSeriesValue Ifc4x3_rc2::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc2::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_rc2::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1226]); } -void Ifc4x3_rc2::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_rc2::IfcTopologicalRepresentationItem Ifc4x3_rc2::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_rc2::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1227]); } -void Ifc4x3_rc2::IfcTopologyRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc2::IfcTopologyRepresentation Ifc4x3_rc2::IfcTopologyRepresentation::initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_rc2::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -16100,7 +16100,7 @@ void Ifc4x3_rc2::IfcToroidalSurface::setMinorRadius(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc2::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1228]); } -void Ifc4x3_rc2::IfcToroidalSurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_rc2::IfcToroidalSurface Ifc4x3_rc2::IfcToroidalSurface::initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > Ifc4x3_rc2::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16108,7 +16108,7 @@ void Ifc4x3_rc2::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1230]); } -void Ifc4x3_rc2::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcTrackElement Ifc4x3_rc2::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value Ifc4x3_rc2::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16116,7 +16116,7 @@ void Ifc4x3_rc2::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_rc2::IfcT const ifcopenshell::entity& Ifc4x3_rc2::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1231]); } -void Ifc4x3_rc2::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTrackElementType Ifc4x3_rc2::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > Ifc4x3_rc2::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -16124,7 +16124,7 @@ void Ifc4x3_rc2::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc2::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1233]); } -void Ifc4x3_rc2::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcTransformer Ifc4x3_rc2::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value Ifc4x3_rc2::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16132,7 +16132,7 @@ void Ifc4x3_rc2::IfcTransformerType::setPredefinedType(const ::Ifc4x3_rc2::IfcTr const ifcopenshell::entity& Ifc4x3_rc2::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1234]); } -void Ifc4x3_rc2::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTransformerType Ifc4x3_rc2::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransitionCurveSegment2D std::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } double v = get_attribute_value(3); return v; } @@ -16148,7 +16148,7 @@ void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setTransitionCurveType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcTransitionCurveSegment2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1237]); } -void Ifc4x3_rc2::IfcTransitionCurveSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType))); } +Ifc4x3_rc2::IfcTransitionCurveSegment2D Ifc4x3_rc2::IfcTransitionCurveSegment2D::initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType) { set_attribute_value(0, (v1_StartPoint));set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; return *this; } // Function implementations for IfcTransportElement ::Ifc4x3_rc2::IfcTransportElementTypeSelect Ifc4x3_rc2::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc2::IfcTransportElementTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(); } @@ -16156,7 +16156,7 @@ void Ifc4x3_rc2::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc2::IfcT const ifcopenshell::entity& Ifc4x3_rc2::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1240]); } -void Ifc4x3_rc2::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc2::IfcTransportElement Ifc4x3_rc2::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_rc2::IfcTransportElementTypeSelect Ifc4x3_rc2::IfcTransportElementType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(); } @@ -16164,7 +16164,7 @@ void Ifc4x3_rc2::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1243]); } -void Ifc4x3_rc2::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc2::IfcTransportElementType Ifc4x3_rc2::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_rc2::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16178,7 +16178,7 @@ void Ifc4x3_rc2::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc2::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1245]); } -void Ifc4x3_rc2::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_rc2::IfcTrapeziumProfileDef Ifc4x3_rc2::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16192,7 +16192,7 @@ void Ifc4x3_rc2::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc2::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1246]); } -void Ifc4x3_rc2::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_rc2::IfcTriangulatedFaceSet Ifc4x3_rc2::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16200,7 +16200,7 @@ void Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< in const ifcopenshell::entity& Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1247]); } -void Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_rc2::IfcTriangulatedIrregularNetwork Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc2::IfcCurve Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcCurve>(); } @@ -16216,7 +16216,7 @@ void Ifc4x3_rc2::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1248]); } -void Ifc4x3_rc2::IfcTrimmedCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_rc2::IfcTrimmedCurve Ifc4x3_rc2::IfcTrimmedCurve::initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc2::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16224,7 +16224,7 @@ void Ifc4x3_rc2::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1252]); } -void Ifc4x3_rc2::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcTubeBundle Ifc4x3_rc2::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value Ifc4x3_rc2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16232,7 +16232,7 @@ void Ifc4x3_rc2::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc2::IfcTub const ifcopenshell::entity& Ifc4x3_rc2::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1253]); } -void Ifc4x3_rc2::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcTubeBundleType Ifc4x3_rc2::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_rc2::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16243,7 +16243,7 @@ void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(const std::optional< std::vec std::vector<::Ifc4x3_rc2::IfcRelDefinesByType> Ifc4x3_rc2::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[953], 5)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1255]); } -void Ifc4x3_rc2::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_rc2::IfcTypeObject Ifc4x3_rc2::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16256,7 +16256,7 @@ void Ifc4x3_rc2::IfcTypeProcess::setProcessType(const std::optional< std::string std::vector<::Ifc4x3_rc2::IfcRelAssignsToProcess> Ifc4x3_rc2::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[923], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1256]); } -void Ifc4x3_rc2::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_rc2::IfcTypeProcess Ifc4x3_rc2::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > Ifc4x3_rc2::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcRepresentationMap>(es); } @@ -16267,7 +16267,7 @@ void Ifc4x3_rc2::IfcTypeProduct::setTag(const std::optional< std::string >& v) { std::vector<::Ifc4x3_rc2::IfcRelAssignsToProduct> Ifc4x3_rc2::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[924], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1257]); } -void Ifc4x3_rc2::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcTypeProduct Ifc4x3_rc2::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_rc2::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16280,7 +16280,7 @@ void Ifc4x3_rc2::IfcTypeResource::setResourceType(const std::optional< std::stri std::vector<::Ifc4x3_rc2::IfcRelAssignsToResource> Ifc4x3_rc2::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC2_types[925], 6)); } const ifcopenshell::entity& Ifc4x3_rc2::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1258]); } -void Ifc4x3_rc2::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_rc2::IfcTypeResource Ifc4x3_rc2::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_rc2::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16300,7 +16300,7 @@ void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc2::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1269]); } -void Ifc4x3_rc2::IfcUShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc2::IfcUShapeProfileDef Ifc4x3_rc2::IfcUShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_rc2::IfcUnit > Ifc4x3_rc2::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcUnit>(es); } @@ -16308,7 +16308,7 @@ void Ifc4x3_rc2::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc2::If const ifcopenshell::entity& Ifc4x3_rc2::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1266]); } -void Ifc4x3_rc2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_rc2::IfcUnitAssignment Ifc4x3_rc2::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc2::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16316,7 +16316,7 @@ void Ifc4x3_rc2::IfcUnitaryControlElement::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_rc2::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1260]); } -void Ifc4x3_rc2::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcUnitaryControlElement Ifc4x3_rc2::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16324,7 +16324,7 @@ void Ifc4x3_rc2::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc2::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1261]); } -void Ifc4x3_rc2::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcUnitaryControlElementType Ifc4x3_rc2::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16332,7 +16332,7 @@ void Ifc4x3_rc2::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc2::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1263]); } -void Ifc4x3_rc2::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcUnitaryEquipment Ifc4x3_rc2::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16340,7 +16340,7 @@ void Ifc4x3_rc2::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1264]); } -void Ifc4x3_rc2::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcUnitaryEquipmentType Ifc4x3_rc2::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > Ifc4x3_rc2::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16348,7 +16348,7 @@ void Ifc4x3_rc2::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_rc2:: const ifcopenshell::entity& Ifc4x3_rc2::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1271]); } -void Ifc4x3_rc2::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcValve Ifc4x3_rc2::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_rc2::IfcValveTypeEnum::Value Ifc4x3_rc2::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16356,7 +16356,7 @@ void Ifc4x3_rc2::IfcValveType::setPredefinedType(const ::Ifc4x3_rc2::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc2::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1272]); } -void Ifc4x3_rc2::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcValveType Ifc4x3_rc2::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_rc2::IfcDirection Ifc4x3_rc2::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcDirection>(); } @@ -16366,13 +16366,13 @@ void Ifc4x3_rc2::IfcVector::setMagnitude(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc2::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1275]); } -void Ifc4x3_rc2::IfcVector::initialize(::Ifc4x3_rc2::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_rc2::IfcVector Ifc4x3_rc2::IfcVector::initialize(::Ifc4x3_rc2::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_rc2::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1277]); } -void Ifc4x3_rc2::IfcVertex::initialize() { } +Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_rc2::IfcVertex Ifc4x3_rc2::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcVertex>(); } @@ -16380,7 +16380,7 @@ void Ifc4x3_rc2::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc2::IfcVertex& v) const ifcopenshell::entity& Ifc4x3_rc2::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1278]); } -void Ifc4x3_rc2::IfcVertexLoop::initialize(::Ifc4x3_rc2::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_rc2::IfcVertexLoop Ifc4x3_rc2::IfcVertexLoop::initialize(::Ifc4x3_rc2::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_rc2::IfcPoint Ifc4x3_rc2::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc2::IfcPoint>(); } @@ -16388,7 +16388,7 @@ void Ifc4x3_rc2::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc2::IfcPoint& const ifcopenshell::entity& Ifc4x3_rc2::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1279]); } -void Ifc4x3_rc2::IfcVertexPoint::initialize(::Ifc4x3_rc2::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_rc2::IfcVertexPoint Ifc4x3_rc2::IfcVertexPoint::initialize(::Ifc4x3_rc2::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16396,7 +16396,7 @@ void Ifc4x3_rc2::IfcVibrationDamper::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc2::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1280]); } -void Ifc4x3_rc2::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcVibrationDamper Ifc4x3_rc2::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16404,7 +16404,7 @@ void Ifc4x3_rc2::IfcVibrationDamperType::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1281]); } -void Ifc4x3_rc2::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc2::IfcVibrationDamperType Ifc4x3_rc2::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc2::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16412,7 +16412,7 @@ void Ifc4x3_rc2::IfcVibrationIsolator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc2::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1283]); } -void Ifc4x3_rc2::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcVibrationIsolator Ifc4x3_rc2::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16420,13 +16420,13 @@ void Ifc4x3_rc2::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc2: const ifcopenshell::entity& Ifc4x3_rc2::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1284]); } -void Ifc4x3_rc2::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcVibrationIsolatorType Ifc4x3_rc2::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4x3_rc2::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1286]); } -void Ifc4x3_rc2::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcVirtualElement Ifc4x3_rc2::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_rc2::IfcGridAxis > Ifc4x3_rc2::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc2::IfcGridAxis>(es); } @@ -16436,13 +16436,13 @@ void Ifc4x3_rc2::IfcVirtualGridIntersection::setOffsetDistances(const std::vecto const ifcopenshell::entity& Ifc4x3_rc2::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1287]); } -void Ifc4x3_rc2::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_rc2::IfcVirtualGridIntersection Ifc4x3_rc2::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidStratum const ifcopenshell::entity& Ifc4x3_rc2::IfcVoidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1290]); } -void Ifc4x3_rc2::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcVoidStratum Ifc4x3_rc2::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc2::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16450,7 +16450,7 @@ void Ifc4x3_rc2::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1288]); } -void Ifc4x3_rc2::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcVoidingFeature Ifc4x3_rc2::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > Ifc4x3_rc2::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16458,19 +16458,19 @@ void Ifc4x3_rc2::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_rc2::I const ifcopenshell::entity& Ifc4x3_rc2::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1293]); } -void Ifc4x3_rc2::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcWall Ifc4x3_rc2::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4x3_rc2::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1294]); } -void Ifc4x3_rc2::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcWallElementedCase Ifc4x3_rc2::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1295]); } -void Ifc4x3_rc2::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcWallStandardCase Ifc4x3_rc2::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_rc2::IfcWallTypeEnum::Value Ifc4x3_rc2::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16478,7 +16478,7 @@ void Ifc4x3_rc2::IfcWallType::setPredefinedType(const ::Ifc4x3_rc2::IfcWallTypeE const ifcopenshell::entity& Ifc4x3_rc2::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1296]); } -void Ifc4x3_rc2::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcWallType Ifc4x3_rc2::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc2::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16486,7 +16486,7 @@ void Ifc4x3_rc2::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc2::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1301]); } -void Ifc4x3_rc2::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcWasteTerminal Ifc4x3_rc2::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16494,13 +16494,13 @@ void Ifc4x3_rc2::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc2::Ifc const ifcopenshell::entity& Ifc4x3_rc2::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1302]); } -void Ifc4x3_rc2::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc2::IfcWasteTerminalType Ifc4x3_rc2::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWaterStratum const ifcopenshell::entity& Ifc4x3_rc2::IfcWaterStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1304]); } -void Ifc4x3_rc2::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc2::IfcWaterStratum Ifc4x3_rc2::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_rc2::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16516,7 +16516,7 @@ void Ifc4x3_rc2::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc2::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1305]); } -void Ifc4x3_rc2::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc2::IfcWindow Ifc4x3_rc2::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16546,7 +16546,7 @@ void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::o const ifcopenshell::entity& Ifc4x3_rc2::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1306]); } -void Ifc4x3_rc2::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_rc2::IfcWindowLiningProperties Ifc4x3_rc2::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value Ifc4x3_rc2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16562,13 +16562,13 @@ void Ifc4x3_rc2::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1309]); } -void Ifc4x3_rc2::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc2::IfcWindowPanelProperties Ifc4x3_rc2::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4x3_rc2::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1310]); } -void Ifc4x3_rc2::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc2::IfcWindowStandardCase Ifc4x3_rc2::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc2::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -16582,7 +16582,7 @@ void Ifc4x3_rc2::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_rc2::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1311]); } -void Ifc4x3_rc2::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc2::IfcWindowStyle Ifc4x3_rc2::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_rc2::IfcWindowTypeEnum::Value Ifc4x3_rc2::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16596,7 +16596,7 @@ void Ifc4x3_rc2::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc2::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1314]); } -void Ifc4x3_rc2::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc2::IfcWindowType Ifc4x3_rc2::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > Ifc4x3_rc2::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc2::IfcWorkTime>(es); } @@ -16608,7 +16608,7 @@ void Ifc4x3_rc2::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1317]); } -void Ifc4x3_rc2::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc2::IfcWorkCalendar Ifc4x3_rc2::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_rc2::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16628,7 +16628,7 @@ void Ifc4x3_rc2::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1319]); } -void Ifc4x3_rc2::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_rc2::IfcWorkControl Ifc4x3_rc2::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc2::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16636,7 +16636,7 @@ void Ifc4x3_rc2::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1320]); } -void Ifc4x3_rc2::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc2::IfcWorkPlan Ifc4x3_rc2::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc2::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16644,7 +16644,7 @@ void Ifc4x3_rc2::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1322]); } -void Ifc4x3_rc2::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc2::IfcWorkSchedule Ifc4x3_rc2::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_rc2::IfcRecurrencePattern Ifc4x3_rc2::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc2::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc2::IfcRecurrencePattern>(); } @@ -16656,7 +16656,7 @@ void Ifc4x3_rc2::IfcWorkTime::setFinish(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc2::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1324]); } -void Ifc4x3_rc2::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4x3_rc2::IfcWorkTime Ifc4x3_rc2::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_rc2::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16674,7 +16674,7 @@ void Ifc4x3_rc2::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc2::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1326]); } -void Ifc4x3_rc2::IfcZShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_rc2::IfcZShapeProfileDef Ifc4x3_rc2::IfcZShapeProfileDef::initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_rc2::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16682,5 +16682,5 @@ void Ifc4x3_rc2::IfcZone::setLongName(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4x3_rc2::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC2_types[1325]); } -void Ifc4x3_rc2::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_rc2::IfcZone Ifc4x3_rc2::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_rc2.h b/src/ifcparse/schemas/Ifc4x3_rc2.h index af835306b2..77349e2798 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc2.h +++ b/src/ifcparse/schemas/Ifc4x3_rc2.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1105,8 +1092,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1138,8 +1124,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1162,8 +1147,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1188,8 +1172,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1281,8 +1264,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1742,8 +1723,7 @@ public: class IFC_PARSE_API IfcFacilityPartTypeSelect : public express::Select { public: - IfcFacilityPartTypeSelect() {} - explicit IfcFacilityPartTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1785,8 +1765,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1833,8 +1812,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1866,8 +1844,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1888,8 +1865,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1908,8 +1884,7 @@ public: class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public express::Select { public: - IfcImpactProtectionDeviceTypeSelect() {} - explicit IfcImpactProtectionDeviceTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1934,8 +1909,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1960,8 +1934,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1989,8 +1962,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2030,8 +2002,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2050,8 +2021,7 @@ public: class IFC_PARSE_API IfcLinearAxisSelect : public express::Select { public: - IfcLinearAxisSelect() {} - explicit IfcLinearAxisSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2095,8 +2065,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2129,8 +2098,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2286,8 +2254,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2998,8 +2965,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3020,8 +2986,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3042,8 +3007,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3064,8 +3028,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3132,8 +3095,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3159,8 +3121,7 @@ public: /// IFC2x4 CHANGE The select type has been deprecated. class IFC_PARSE_API IfcPresentationStyleSelect : public express::Select { public: - IfcPresentationStyleSelect() {} - explicit IfcPresentationStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3206,8 +3167,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3226,8 +3186,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3254,8 +3213,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3274,8 +3232,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3296,8 +3253,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3414,8 +3370,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3436,8 +3391,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3456,8 +3410,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3486,8 +3439,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3524,8 +3476,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3627,8 +3578,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3677,8 +3627,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3708,8 +3657,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3728,8 +3676,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3757,8 +3704,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3785,8 +3731,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3814,8 +3759,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcStyleAssignmentSelect : public express::Select { public: - IfcStyleAssignmentSelect() {} - explicit IfcStyleAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3842,8 +3786,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3876,8 +3819,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3920,8 +3862,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3941,8 +3882,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3963,8 +3903,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3983,8 +3922,7 @@ public: class IFC_PARSE_API IfcTransportElementTypeSelect : public express::Select { public: - IfcTransportElementTypeSelect() {} - explicit IfcTransportElementTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4007,8 +3945,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4039,8 +3976,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4074,8 +4010,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4755,8 +4690,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4777,8 +4711,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4807,16 +4740,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4826,16 +4758,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4847,16 +4778,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4877,16 +4807,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4902,16 +4831,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4927,16 +4855,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4954,16 +4881,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4984,16 +4910,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -5012,76 +4937,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_BIQUADRATICPARABOLA, IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBICSPIRAL, IfcAlignmentHorizontalSegmentType_BIQUADRATICPARABOLA, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_PARABOLICARC, IfcAlignmentVerticalSegmentType_CLOTHOID} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -5092,16 +5012,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -5113,31 +5032,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -5154,16 +5071,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5180,16 +5096,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5208,16 +5123,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_RAILWAY_COMMUNICATION_TERMINAL, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5236,31 +5150,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5304,46 +5216,43 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_DIAPHRAGM, IfcBeamType_PIERCAP, IfcBeamType_HATSTONE, IfcBeamType_CORNICE, IfcBeamType_EDGEBEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { public: - IfcBearingTypeDisplacementEnum() {} - explicit IfcBearingTypeDisplacementEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeDisplacementEnum initialize(Value v); + IfcBearingTypeDisplacementEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_SPHERICAL, IfcBearingType_ELASTOMERIC, IfcBearingType_POT, IfcBearingType_GUIDE, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_DISK, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5388,16 +5297,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5411,16 +5319,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5434,46 +5341,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5486,16 +5390,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5511,16 +5414,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5539,31 +5441,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_REINFORCING, IfcBuildingSystemType_PRESTRESSING, IfcBuildingSystemType_EROSIONPREVENTION, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_MOORINGSYSTEM, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5575,16 +5475,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5599,16 +5498,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5623,16 +5521,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5648,16 +5545,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_FANOUT, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5674,31 +5570,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5714,16 +5608,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5738,16 +5631,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5762,16 +5654,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5798,16 +5689,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5826,16 +5716,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5856,16 +5745,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_INTELLIGENT_PERIPHERAL, IfcCommunicationsApplianceType_IP_NETWORK_EQUIPMENT, IfcCommunicationsApplianceType_OPTICAL_NETWORK_UNIT, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5878,16 +5766,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5914,16 +5801,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5941,16 +5827,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5975,16 +5860,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -6006,16 +5890,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -6034,16 +5917,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -6063,16 +5945,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -6085,16 +5966,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -6113,31 +5993,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -6161,16 +6039,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -6187,16 +6064,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6207,16 +6083,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6234,31 +6109,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_FILTER, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6306,16 +6179,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_COPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6328,16 +6200,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6351,16 +6222,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6382,16 +6252,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6413,16 +6282,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6435,16 +6303,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6506,16 +6373,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6528,16 +6394,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6551,31 +6416,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6596,31 +6459,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6672,16 +6533,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6698,16 +6558,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6715,16 +6574,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6762,16 +6620,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6783,16 +6640,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6804,16 +6660,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6987,16 +6842,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7017,16 +6871,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_BOOM_BARRIER, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -7211,16 +7064,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -7258,16 +7110,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -7287,16 +7138,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -7311,46 +7161,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_CUT, IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7384,16 +7231,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7408,16 +7254,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7432,31 +7277,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7471,16 +7314,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7496,16 +7338,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7519,16 +7360,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7552,16 +7392,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_MAST, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_GRID, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7578,16 +7417,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7600,16 +7438,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7630,16 +7467,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7657,16 +7493,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7683,16 +7518,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7708,16 +7542,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7738,46 +7571,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7796,16 +7626,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7819,16 +7648,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7846,16 +7674,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7873,16 +7700,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7895,16 +7721,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7925,16 +7750,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7954,16 +7778,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7982,16 +7805,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -8009,31 +7831,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -8079,16 +7899,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -8099,31 +7918,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -8137,16 +7954,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -8171,31 +7987,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -8210,16 +8024,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8279,16 +8092,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -8302,16 +8114,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -8323,31 +8134,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8376,16 +8185,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8407,16 +8215,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8430,16 +8237,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8458,16 +8264,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8489,16 +8294,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8514,31 +8318,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8564,16 +8366,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8822,46 +8623,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_CANAL, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_EMBANKMENT, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_CREST, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_CORE, IfcMarinePartType_WATERFIELD, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CHAMBER, IfcMarinePartType_STORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_PROTECTION, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8883,16 +8681,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8910,16 +8707,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8967,46 +8763,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_STIFFENING_RIB, IfcMemberType_ARCH_SEGMENT, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_SUSPENDER, IfcMemberType_STAY_CABLE, IfcMemberType_STRUCTURALCABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_REMOTE_RADIO_UNIT, IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -9020,31 +8813,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-46:1992: The null style type specifies, that a representation item is not styled. @@ -9057,16 +8848,15 @@ public: /// IFC2x4 CHANGE  The enumeration is deprecated. class IFC_PARSE_API IfcNullStyle : public express::DeclaredType { public: - IfcNullStyle() {} - explicit IfcNullStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNullStyle_NULL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNullStyle initialize(Value v); + IfcNullStyle initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -9074,16 +8864,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -9117,16 +8906,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -9144,16 +8932,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9178,16 +8965,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -9205,16 +8991,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -9225,16 +9010,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -9261,16 +9045,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -9284,16 +9067,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9321,16 +9103,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -9357,16 +9138,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -9384,16 +9164,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9429,16 +9208,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9458,16 +9236,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9490,31 +9267,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_FLANGE_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_SPLICE_PLATE, IfcPlateType_BASE_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9533,16 +9308,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9555,16 +9329,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9580,16 +9353,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9600,16 +9372,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9626,16 +9397,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9678,16 +9448,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9699,16 +9468,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9728,16 +9496,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9770,31 +9537,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_RACKRAIL, IfcRailType_BLADE, IfcRailType_GUARDRAIL, IfcRailType_STOCKRAIL, IfcRailType_CHECKRAIL, IfcRailType_RAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9819,31 +9584,29 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_PLAINTRACKSUPESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9859,16 +9622,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9921,16 +9683,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9956,31 +9717,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_REFERENCEMARKER, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -10001,31 +9760,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -10049,16 +9806,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -10072,61 +9828,57 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_BUS_STOP, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROADSIDE, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_SIDEWALK, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_SHOULDER, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_LAYBY, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -10160,16 +9912,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -10240,16 +9991,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -10281,16 +10031,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -10334,16 +10083,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10367,16 +10115,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10391,16 +10138,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10433,16 +10179,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10452,16 +10197,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10476,46 +10220,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_PICTORAL, IfcSignType_MIRROR, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_VISUAL, IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10538,16 +10279,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10584,16 +10324,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_APPROACH_SLAB, IfcSlabType_PAVING, IfcSlabType_WEARING, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10607,16 +10346,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10633,16 +10371,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10682,16 +10419,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10721,16 +10457,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10744,16 +10479,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10773,16 +10507,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10880,16 +10613,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_LADDER, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10907,16 +10639,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10936,16 +10667,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10968,16 +10698,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10994,16 +10723,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -11022,16 +10750,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -11044,16 +10771,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -11069,16 +10795,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -11094,16 +10819,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -11124,16 +10848,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -11146,16 +10869,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -11183,16 +10905,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_OILRETENTIONTRAY, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -11204,16 +10925,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -11236,61 +10956,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_DUCT, IfcTendonConduitType_COUPLER, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -11302,16 +11018,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -11327,31 +11042,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_SLEEPER, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11367,16 +11080,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11397,61 +11109,57 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransitionCurveType : public express::DeclaredType { public: - IfcTransitionCurveType() {} - explicit IfcTransitionCurveType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCurveType_BIQUADRATICPARABOLA, IfcTransitionCurveType_BLOSSCURVE, IfcTransitionCurveType_CLOTHOIDCURVE, IfcTransitionCurveType_COSINECURVE, IfcTransitionCurveType_CUBICPARABOLA, IfcTransitionCurveType_SINECURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCurveType initialize(Value v); + IfcTransitionCurveType initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementFixedTypeEnum() {} - explicit IfcTransportElementFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementFixedType_ELEVATOR, IfcTransportElementFixedType_ESCALATOR, IfcTransportElementFixedType_MOVINGWALKWAY, IfcTransportElementFixedType_CRANEWAY, IfcTransportElementFixedType_LIFTINGGEAR, IfcTransportElementFixedType_USERDEFINED, IfcTransportElementFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementFixedTypeEnum initialize(Value v); + IfcTransportElementFixedTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementNonFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementNonFixedTypeEnum() {} - explicit IfcTransportElementNonFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementNonFixedType_VEHICLE, IfcTransportElementNonFixedType_VEHICLETRACKED, IfcTransportElementNonFixedType_ROLLINGSTOCK, IfcTransportElementNonFixedType_VEHICLEWHEELED, IfcTransportElementNonFixedType_VEHICLEAIR, IfcTransportElementNonFixedType_CARGO, IfcTransportElementNonFixedType_VEHICLEMARINE, IfcTransportElementNonFixedType_USERDEFINED, IfcTransportElementNonFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementNonFixedTypeEnum initialize(Value v); + IfcTransportElementNonFixedTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11467,16 +11175,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11489,16 +11196,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11539,16 +11245,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11569,16 +11274,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11595,16 +11299,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11652,31 +11355,29 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11690,16 +11391,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11718,16 +11418,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11769,16 +11468,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_RETAININGWALL, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11797,16 +11495,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11895,16 +11592,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11973,16 +11669,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11994,16 +11689,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -12082,16 +11776,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -12112,16 +11805,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -12197,16 +11889,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -12222,16 +11913,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -12247,16 +11937,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -12272,16 +11961,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -12291,11 +11979,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -12305,11 +11992,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -12322,11 +12008,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -12336,31 +12021,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -12372,21 +12054,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -12396,11 +12076,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12448,11 +12127,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12468,11 +12146,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12525,11 +12202,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12540,11 +12216,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12555,11 +12230,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12571,11 +12245,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12586,11 +12259,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12613,11 +12285,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12634,11 +12305,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12677,11 +12347,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12692,11 +12361,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12708,11 +12376,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12722,11 +12389,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12736,11 +12402,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12751,11 +12416,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12765,11 +12429,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12779,11 +12442,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12793,11 +12455,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12809,11 +12470,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12823,11 +12483,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12837,11 +12496,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12851,11 +12509,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12874,11 +12531,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12895,11 +12551,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12927,11 +12582,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12941,11 +12595,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12955,11 +12608,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12977,11 +12629,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12991,11 +12642,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -13003,11 +12653,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -13026,11 +12675,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -13040,11 +12688,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -13054,11 +12701,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -13070,11 +12716,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -13086,11 +12731,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -13098,11 +12742,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -13112,11 +12755,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -13126,11 +12768,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -13149,11 +12790,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -13168,11 +12808,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -13184,21 +12823,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -13208,11 +12845,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -13222,11 +12858,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -13236,11 +12871,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -13250,11 +12884,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -13278,11 +12910,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -13294,11 +12925,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -13310,11 +12940,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -13324,11 +12953,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -13338,11 +12966,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -13352,11 +12979,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -13366,11 +12992,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -13382,11 +13007,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -13398,11 +13022,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -13412,11 +13035,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -13426,11 +13048,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -13440,11 +13061,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13458,11 +13078,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13472,11 +13091,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13486,11 +13104,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13500,11 +13117,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13513,11 +13129,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13578,11 +13193,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13592,11 +13206,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13607,11 +13220,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13619,11 +13231,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13635,11 +13246,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13649,11 +13259,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13669,21 +13278,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13694,11 +13301,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13709,11 +13315,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13723,11 +13328,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13741,11 +13345,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13755,21 +13358,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13779,11 +13380,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13798,11 +13398,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13814,11 +13413,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13828,11 +13426,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13843,11 +13440,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13857,11 +13453,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13871,11 +13466,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13885,11 +13479,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13899,11 +13492,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13915,21 +13507,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13939,21 +13529,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13963,11 +13551,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13977,11 +13564,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13993,11 +13579,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -14011,11 +13596,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -14025,11 +13609,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -14039,11 +13622,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -14059,11 +13641,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -14078,11 +13659,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -14100,11 +13680,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -14128,11 +13707,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -14147,11 +13725,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -14161,11 +13738,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -14175,11 +13751,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -14188,11 +13763,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -14201,11 +13775,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -14215,11 +13788,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -14231,11 +13803,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -14248,11 +13819,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -14264,11 +13834,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -14277,11 +13846,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -14291,11 +13859,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -14307,11 +13874,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -14321,11 +13887,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -14337,11 +13902,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -14351,11 +13915,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -14365,11 +13928,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -14379,11 +13941,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -14413,11 +13974,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14427,11 +13987,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14442,11 +14001,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14463,8 +14021,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14482,7 +14039,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14491,8 +14048,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Purpose() const; @@ -14510,13 +14066,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14524,13 +14079,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14548,15 +14102,14 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc2::IfcOrganization ApplicationDeveloper() const; @@ -14572,7 +14125,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_rc2::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14590,8 +14143,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14630,7 +14182,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14639,8 +14191,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14682,7 +14233,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14701,15 +14252,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14723,8 +14273,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14746,7 +14295,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14760,8 +14309,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14774,7 +14322,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14788,8 +14336,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14811,7 +14358,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_rc2::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14824,15 +14371,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_rc2::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_rc2::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc2::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc2::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14850,12 +14396,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14875,8 +14420,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14886,7 +14430,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_rc2::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14898,8 +14442,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14909,7 +14452,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14919,8 +14462,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14930,7 +14472,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_rc2::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc2::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_rc2::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc2::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14946,8 +14488,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14977,7 +14518,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -15027,8 +14568,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -15038,7 +14578,7 @@ public: void setTargetCRS(const ::Ifc4x3_rc2::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -15064,8 +14604,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -15090,7 +14629,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -15136,12 +14675,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -15152,8 +14690,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > Elements() const; @@ -15165,7 +14702,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_rc2::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -15178,8 +14715,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc2::IfcNamedUnit Unit() const; @@ -15189,7 +14725,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_rc2::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -15210,8 +14746,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -15236,7 +14771,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -15246,12 +14781,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -15264,8 +14798,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -15289,7 +14822,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -15301,12 +14834,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -15317,12 +14849,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -15333,12 +14864,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -15365,8 +14895,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -15383,15 +14912,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15401,7 +14929,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc2::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc2::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -15413,8 +14941,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15441,7 +14968,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc2::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15452,8 +14979,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15471,7 +14997,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc2::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc2::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15490,8 +15016,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15506,15 +15031,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15524,7 +15048,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_rc2::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc2::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc2::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15539,8 +15063,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15569,7 +15092,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); + IfcMapConversion initialize(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15578,8 +15101,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > MaterialClassifications() const; @@ -15589,7 +15111,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_rc2::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_rc2::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15617,15 +15139,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15652,8 +15173,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_rc2::IfcMaterial Material() const; @@ -15687,7 +15207,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15724,8 +15244,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > MaterialLayers() const; @@ -15740,7 +15259,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_rc2::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15787,8 +15306,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15798,7 +15316,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_rc2::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15819,15 +15337,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc2::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_rc2::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_rc2::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15836,8 +15353,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15860,7 +15376,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15869,8 +15385,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15889,7 +15404,7 @@ public: void setCompositeProfile(const ::Ifc4x3_rc2::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15898,15 +15413,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, ::Ifc4x3_rc2::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15941,13 +15455,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15961,8 +15474,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc2::IfcValue ValueComponent() const; @@ -15972,7 +15484,7 @@ public: void setUnitComponent(const ::Ifc4x3_rc2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcValue v1_ValueComponent, ::Ifc4x3_rc2::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_rc2::IfcValue v1_ValueComponent, ::Ifc4x3_rc2::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -16028,8 +15540,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc2::IfcBenchmarkEnum::Value Benchmark() const; @@ -16044,7 +15555,7 @@ public: void setReferencePath(const ::Ifc4x3_rc2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc2::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc2::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc2::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc2::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -16053,15 +15564,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -16070,8 +15580,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc2::IfcDimensionalExponents Dimensions() const; @@ -16081,7 +15590,7 @@ public: void setUnitType(const ::Ifc4x3_rc2::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -16096,15 +15605,14 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_rc2::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc2::IfcObjectPlacement& v); std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -16117,8 +15625,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > > BenchmarkValues() const; @@ -16133,7 +15640,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc2::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -16145,8 +15652,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -16169,7 +15675,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -16183,8 +15689,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_rc2::IfcPersonAndOrganization OwningUser() const; @@ -16212,7 +15717,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_rc2::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc2::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -16225,8 +15730,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -16261,7 +15765,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc2::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -16270,8 +15774,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_rc2::IfcPerson ThePerson() const; @@ -16284,7 +15787,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPerson v1_ThePerson, ::Ifc4x3_rc2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_rc2::IfcPerson v1_ThePerson, ::Ifc4x3_rc2::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -16293,8 +15796,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -16306,7 +15808,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -16319,23 +15821,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_rc2::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_rc2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -16366,17 +15866,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -16395,8 +15894,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16412,7 +15910,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16429,8 +15927,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16450,7 +15947,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_rc2::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc2::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc2::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16459,15 +15956,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -16476,15 +15972,14 @@ public: /// HISTORY New entity in Release IFC2x2. class IFC_PARSE_API IfcPresentationStyleAssignment : public express::Entity { public: - IfcPresentationStyleAssignment() {} - explicit IfcPresentationStyleAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A set of presentation styles that are assigned to styled items. std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > Styles() const; void setStyles(const std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > v1_Styles); + IfcPresentationStyleAssignment initialize(std::vector< ::Ifc4x3_rc2::IfcPresentationStyleSelect > v1_Styles); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16505,8 +16000,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16519,7 +16013,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_rc2::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16693,8 +16187,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_rc2::IfcProfileTypeEnum::Value ProfileType() const; @@ -16706,7 +16199,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16733,8 +16226,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16754,18 +16246,17 @@ public: void setMapUnit(const ::Ifc4x3_rc2::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc2::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc2::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16815,8 +16306,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16829,7 +16319,7 @@ public: void setUnit(const ::Ifc4x3_rc2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc2::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc2::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16838,8 +16328,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16851,7 +16340,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16860,8 +16349,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16873,7 +16361,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16882,8 +16370,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16895,7 +16382,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16904,8 +16391,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16917,7 +16403,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16926,8 +16412,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16939,7 +16424,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16948,8 +16433,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16961,7 +16445,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16971,8 +16455,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -17013,13 +16496,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc2::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -17033,7 +16515,7 @@ public: void setInnerReference(const ::Ifc4x3_rc2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc2::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc2::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -17083,8 +16565,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc2::IfcRepresentationContext ContextOfItems() const; @@ -17104,7 +16585,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -17118,8 +16599,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -17130,7 +16610,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -17166,14 +16646,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -17188,8 +16667,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -17202,15 +16680,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc2::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc2::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -17220,7 +16697,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -17233,8 +16710,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -17254,7 +16730,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -17265,8 +16741,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > Prefix() const; @@ -17278,15 +16753,14 @@ public: void setName(const ::Ifc4x3_rc2::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc2::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc2::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -17300,7 +16774,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -17341,8 +16815,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -17366,7 +16839,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_rc2::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc2::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17388,13 +16861,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17533,42 +17005,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17583,8 +17052,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > Values() const; @@ -17594,31 +17062,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17627,8 +17093,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17647,7 +17112,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17656,12 +17121,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17693,8 +17157,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17714,7 +17177,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_rc2::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc2::IfcStyleAssignmentSelect > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17725,12 +17188,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17739,8 +17201,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17753,7 +17214,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17764,8 +17225,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc2::IfcSurfaceSide::Value Side() const; @@ -17775,7 +17235,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17790,8 +17250,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17811,7 +17270,7 @@ public: void setReflectanceColour(const ::Ifc4x3_rc2::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_rc2::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc2::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc2::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17820,8 +17279,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17831,7 +17289,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17842,8 +17300,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc2::IfcColourRgb SurfaceColour() const; @@ -17852,7 +17309,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17874,15 +17331,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17978,8 +17434,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -18011,7 +17466,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -18030,8 +17485,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -18044,7 +17498,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc2::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -18053,8 +17507,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -18072,7 +17525,7 @@ public: void setReferencePath(const ::Ifc4x3_rc2::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit v4_Unit, ::Ifc4x3_rc2::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit v4_Unit, ::Ifc4x3_rc2::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -18089,8 +17542,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > RowCells() const; @@ -18100,7 +17552,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -18112,8 +17564,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -18222,21 +17673,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_rc2::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_rc2::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc2::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc2::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -18246,8 +17696,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -18272,7 +17721,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -18304,8 +17753,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_rc2::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -18326,7 +17774,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc2::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc2::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -18347,8 +17795,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc2::IfcColour Colour() const; @@ -18358,7 +17805,7 @@ public: void setBackgroundColour(const ::Ifc4x3_rc2::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcColour v1_Colour, ::Ifc4x3_rc2::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_rc2::IfcColour v1_Colour, ::Ifc4x3_rc2::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -18369,8 +17816,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18402,7 +17848,7 @@ public: void setLineHeight(const ::Ifc4x3_rc2::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc2::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_rc2::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc2::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc2::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc2::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18417,14 +17863,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18454,8 +17899,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18469,7 +17913,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18524,8 +17968,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18536,7 +17979,7 @@ public: void setMappedTo(const ::Ifc4x3_rc2::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc2::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc2::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc2::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18567,27 +18010,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18597,8 +18038,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18608,7 +18048,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18617,8 +18057,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18647,7 +18086,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18660,15 +18099,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc2::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_rc2::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_rc2::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18677,12 +18115,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18720,12 +18157,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_rc2::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc2::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18734,15 +18170,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc2::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_rc2::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_rc2::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18756,12 +18191,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18774,15 +18208,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc2::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_rc2::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_rc2::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18845,8 +18278,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_rc2::IfcGridAxis > IntersectingAxes() const; @@ -18856,7 +18288,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_rc2::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18868,8 +18300,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18886,13 +18317,12 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; class IFC_PARSE_API IfcAlignment2DVerSegCircularArc : public IfcAlignmentVerticalSegment { public: - IfcAlignment2DVerSegCircularArc() {} - explicit IfcAlignment2DVerSegCircularArc (const std::weak_ptr& data) : IfcAlignmentVerticalSegment(data) {} + using IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment; double Radius() const; void setRadius(const double& v); @@ -18900,23 +18330,21 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_Radius, bool v11_IsConvex); + IfcAlignment2DVerSegCircularArc initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_Radius, bool v11_IsConvex); }; class IFC_PARSE_API IfcAlignment2DVerSegLine : public IfcAlignmentVerticalSegment { public: - IfcAlignment2DVerSegLine() {} - explicit IfcAlignment2DVerSegLine (const std::weak_ptr& data) : IfcAlignmentVerticalSegment(data) {} + using IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignment2DVerSegLine initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignment2DVerSegParabolicArc : public IfcAlignmentVerticalSegment { public: - IfcAlignment2DVerSegParabolicArc() {} - explicit IfcAlignment2DVerSegParabolicArc (const std::weak_ptr& data) : IfcAlignmentVerticalSegment(data) {} + using IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment; double ParabolaConstant() const; void setParabolaConstant(const double& v); @@ -18924,13 +18352,12 @@ public: void setIsConvex(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_ParabolaConstant, bool v11_IsConvex); + IfcAlignment2DVerSegParabolicArc initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_ParabolaConstant, bool v11_IsConvex); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18950,13 +18377,12 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, std::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, std::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3_rc2::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_rc2::IfcCartesianPoint& v); @@ -18974,7 +18400,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc2::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18985,8 +18411,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_rc2::IfcApproval RelatingApproval() const; @@ -18996,7 +18421,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_rc2::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc2::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc2::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -19018,15 +18443,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc2::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_rc2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -19045,15 +18469,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_rc2::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_rc2::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -19076,15 +18499,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_rc2::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_rc2::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc2::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc2::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -19097,8 +18519,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -19108,7 +18529,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -19141,15 +18562,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -19168,8 +18588,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -19223,7 +18642,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -19248,8 +18667,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_rc2::IfcClassificationReferenceSelect ReferencedSource() const; @@ -19265,19 +18683,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc2::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -19286,8 +18703,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -19297,7 +18713,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -19337,8 +18753,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_rc2::IfcProfileDef > Profiles() const; @@ -19348,7 +18763,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -19361,15 +18776,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_rc2::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_rc2::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -19386,8 +18800,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc2::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19397,7 +18810,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_rc2::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_rc2::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc2::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19420,8 +18833,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19434,7 +18846,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_rc2::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19445,8 +18857,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19454,7 +18865,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19505,8 +18916,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19517,7 +18927,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19539,15 +18949,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_rc2::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19562,8 +18971,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_rc2::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19584,7 +18992,7 @@ public: void setRateSource(const ::Ifc4x3_rc2::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc2::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc2::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc2::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19605,8 +19013,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19621,7 +19028,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc2::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc2::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19630,8 +19037,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19641,7 +19047,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19656,8 +19062,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19670,7 +19075,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19679,8 +19084,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19694,7 +19098,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19782,8 +19186,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc2::IfcProfileDef ParentProfile() const; @@ -19796,15 +19199,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19876,7 +19278,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc2::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19888,8 +19290,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc2::IfcDocumentInformation RelatingDocument() const; @@ -19902,7 +19303,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc2::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19917,8 +19318,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19931,7 +19331,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19984,8 +19384,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_rc2::IfcVertex EdgeStart() const; @@ -19995,7 +19394,7 @@ public: void setEdgeEnd(const ::Ifc4x3_rc2::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -20032,8 +19431,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_rc2::IfcCurve EdgeGeometry() const; @@ -20043,7 +19441,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -20070,8 +19468,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -20089,13 +19486,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -20105,7 +19501,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -20116,8 +19512,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -20129,7 +19524,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -20177,8 +19572,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_rc2::IfcFaceBound > Bounds() const; @@ -20186,7 +19580,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -20195,8 +19589,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_rc2::IfcLoop Bound() const; @@ -20206,7 +19599,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -20215,12 +19608,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_rc2::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -20260,8 +19652,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_rc2::IfcSurface FaceSurface() const; @@ -20271,7 +19662,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -20282,8 +19673,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -20305,7 +19695,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -20343,8 +19733,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > FillStyles() const; @@ -20353,7 +19742,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc2::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20404,8 +19793,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20425,7 +19813,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc2::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc2::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc2::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20448,12 +19836,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20470,8 +19857,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc2::IfcGeometricRepresentationContext ParentContext() const; @@ -20497,7 +19883,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20508,15 +19894,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20565,8 +19950,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc2::IfcVirtualGridIntersection PlacementLocation() const; @@ -20578,7 +19962,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20597,8 +19981,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_rc2::IfcSurface BaseSurface() const; @@ -20608,7 +19991,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20647,21 +20030,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_rc2::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc2::IfcTessellatedFaceSet& v); @@ -20673,13 +20054,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_rc2::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_rc2::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc2::IfcTessellatedFaceSet& v); @@ -20687,19 +20067,18 @@ public: void setTexCoords(const ::Ifc4x3_rc2::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_rc2::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20708,15 +20087,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20757,8 +20135,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20770,7 +20147,7 @@ public: void setDurationType(const ::Ifc4x3_rc2::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc2::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc2::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20781,8 +20158,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20799,7 +20175,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20810,12 +20186,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20828,8 +20203,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20837,7 +20211,7 @@ public: void setOrientation(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20848,8 +20222,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc2::IfcAxis2Placement3D Position() const; @@ -20871,7 +20244,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc2::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20890,8 +20263,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20912,7 +20284,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20931,8 +20303,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20951,13 +20322,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearAxisWithInclination : public IfcGeometricRepresentationItem { public: - IfcLinearAxisWithInclination() {} - explicit IfcLinearAxisWithInclination (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_rc2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v); @@ -20965,13 +20335,12 @@ public: void setInclinating(const ::Ifc4x3_rc2::IfcAxisLateralInclination& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, ::Ifc4x3_rc2::IfcAxisLateralInclination v2_Inclinating); + IfcLinearAxisWithInclination initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, ::Ifc4x3_rc2::IfcAxisLateralInclination v2_Inclinating); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_rc2::IfcCurve PlacementMeasuredAlong() const; void setPlacementMeasuredAlong(const ::Ifc4x3_rc2::IfcCurve& v); @@ -20983,31 +20352,29 @@ public: void setCartesianPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition); }; class IFC_PARSE_API IfcLinearPlacementWithInclination : public IfcLinearPlacement { public: - IfcLinearPlacementWithInclination() {} - explicit IfcLinearPlacementWithInclination (const std::weak_ptr& data) : IfcLinearPlacement(data) {} + using IfcLinearPlacement::IfcLinearPlacement; ::Ifc4x3_rc2::IfcAxisLateralInclination Inclinating() const; void setInclinating(const ::Ifc4x3_rc2::IfcAxisLateralInclination& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination v6_Inclinating); + IfcLinearPlacementWithInclination initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination v6_Inclinating); }; class IFC_PARSE_API IfcLinearSpanPlacement : public IfcLinearPlacement { public: - IfcLinearSpanPlacement() {} - explicit IfcLinearSpanPlacement (const std::weak_ptr& data) : IfcLinearPlacement(data) {} + using IfcLinearPlacement::IfcLinearPlacement; double Span() const; void setSpan(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span); + IfcLinearSpanPlacement initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D v5_CartesianPosition, double v6_Span); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -21063,15 +20430,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_rc2::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_rc2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_rc2::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc2::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -21101,12 +20467,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -21129,8 +20494,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_rc2::IfcRepresentationMap MappingSource() const; @@ -21140,7 +20504,7 @@ public: void setMappingTarget(const ::Ifc4x3_rc2::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc2::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_rc2::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc2::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -21171,8 +20535,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -21198,7 +20561,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -21207,8 +20570,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -21228,7 +20590,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -21246,8 +20608,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -21260,7 +20621,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -21294,15 +20655,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_rc2::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_rc2::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations, ::Ifc4x3_rc2::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations, ::Ifc4x3_rc2::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -21406,8 +20766,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc2::IfcMaterialLayerSet ForLayerSet() const; @@ -21438,7 +20797,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_rc2::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21449,8 +20808,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc2::IfcMaterialProfileSet ForProfileSet() const; @@ -21468,7 +20826,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21497,8 +20855,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc2::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21508,7 +20865,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_rc2::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc2::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21534,8 +20891,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21544,15 +20900,14 @@ public: void setMaterial(const ::Ifc4x3_rc2::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_rc2::IfcMaterial RelatingMaterial() const; @@ -21565,7 +20920,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc2::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21596,12 +20951,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21655,8 +21009,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21667,13 +21020,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21685,7 +21037,7 @@ public: void setTags(const std::optional< std::vector< std::string > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); + IfcOpenCrossProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21748,12 +21100,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21763,8 +21114,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc2::IfcOrganization RelatingOrganization() const; @@ -21774,7 +21124,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_rc2::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc2::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc2::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21785,8 +21135,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc2::IfcEdge EdgeElement() const; @@ -21796,7 +21145,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_rc2::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21842,15 +21191,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc2::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21868,15 +21216,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21889,8 +21236,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > HasQuantities() const; @@ -21906,7 +21252,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21928,8 +21274,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21947,7 +21292,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21960,15 +21305,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc2::IfcPoint Location() const; void setLocation(const ::Ifc4x3_rc2::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_rc2::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21977,8 +21321,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21988,7 +21331,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21997,18 +21340,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3_rc2::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3_rc2::IfcCurveMeasureSelect& v); @@ -22022,7 +21363,7 @@ public: void setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3_rc2::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -22035,8 +21376,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_rc2::IfcCurve BasisCurve() const; @@ -22046,7 +21386,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -22059,8 +21399,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_rc2::IfcSurface BasisSurface() const; @@ -22073,7 +21412,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -22116,15 +21455,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -22184,8 +21522,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc2::IfcAxis2Placement3D Position() const; @@ -22197,7 +21534,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_rc2::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc2::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc2::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -22208,25 +21545,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -22241,12 +21576,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -22262,14 +21596,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -22284,23 +21617,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_rc2::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_rc2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v3_Properties, ::Ifc4x3_rc2::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -22316,7 +21647,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -22370,14 +21701,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -22389,8 +21719,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_rc2::IfcProperty DependingProperty() const; @@ -22403,7 +21732,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22449,15 +21778,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22486,22 +21814,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22539,8 +21865,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22550,7 +21875,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22559,8 +21884,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22570,7 +21894,7 @@ public: void setValues(const std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc2::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22579,8 +21903,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22602,7 +21925,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22614,12 +21937,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22629,8 +21951,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22640,7 +21961,7 @@ public: void setRelatingApproval(const ::Ifc4x3_rc2::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22664,8 +21985,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_rc2::IfcConstraint RelatingConstraint() const; @@ -22675,14 +21995,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc2::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22731,7 +22050,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22772,15 +22091,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22789,8 +22107,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc2::IfcSectionTypeEnum::Value SectionType() const; @@ -22803,7 +22120,7 @@ public: void setEndProfile(const ::Ifc4x3_rc2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc2::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc2::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc2::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc2::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22814,8 +22131,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22837,7 +22153,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc2::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22894,8 +22210,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_rc2::IfcCompositeCurve SpineCurve() const; @@ -22908,19 +22223,18 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_rc2::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_rc2::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3_rc2::IfcTransitionCode::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22936,26 +22250,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_rc2::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_rc2::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc2::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22968,8 +22280,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22982,7 +22293,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22991,12 +22302,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -23005,8 +22315,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -23028,7 +22337,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -23037,8 +22346,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -23051,7 +22359,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -23060,8 +22368,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -23083,22 +22390,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -23108,8 +22414,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -23131,7 +22436,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -23143,15 +22448,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -23165,15 +22469,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc2::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_rc2::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_rc2::IfcVertex v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc2::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -23187,12 +22490,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -23241,8 +22543,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -23277,7 +22578,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_rc2::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -23299,8 +22600,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_rc2::IfcProfileDef SweptArea() const; @@ -23310,7 +22610,7 @@ public: void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -23367,8 +22667,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc2::IfcCurve Directrix() const; @@ -23391,7 +22690,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -23405,15 +22704,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -23422,8 +22720,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_rc2::IfcProfileDef SweptCurve() const; @@ -23433,7 +22730,7 @@ public: void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23465,8 +22762,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23497,17 +22793,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23521,8 +22816,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23536,7 +22830,7 @@ public: void setPath(const ::Ifc4x3_rc2::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23549,8 +22843,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc2::IfcPlanarExtent Extent() const; @@ -23560,7 +22853,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23629,8 +22922,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23652,7 +22944,7 @@ public: void setFontSize(const ::Ifc4x3_rc2::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23694,8 +22986,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23711,7 +23002,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23746,8 +23037,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23766,7 +23056,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23798,8 +23088,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23815,7 +23104,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23885,8 +23174,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > RepresentationMaps() const; @@ -23897,7 +23185,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23913,8 +23201,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23930,7 +23217,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23962,8 +23249,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23988,7 +23274,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23999,8 +23285,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_rc2::IfcDirection Orientation() const; @@ -24010,7 +23295,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_rc2::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -24026,15 +23311,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_rc2::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_rc2::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_rc2::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -24056,8 +23340,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -24073,7 +23356,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -24102,8 +23385,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -24125,7 +23407,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -24142,12 +23424,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_rc2::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc2::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -24171,8 +23452,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -24186,7 +23466,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_rc2::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc2::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -24227,8 +23507,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -24259,7 +23538,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -24272,15 +23551,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_rc2::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -24295,15 +23573,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_rc2::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -24320,8 +23597,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_rc2::IfcDirection Axis() const; @@ -24331,13 +23607,12 @@ public: void setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3_rc2::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc2::IfcDirection& v); @@ -24345,18 +23620,17 @@ public: void setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3_rc2::IfcPoint v1_Location, ::Ifc4x3_rc2::IfcDirection v2_Axis, ::Ifc4x3_rc2::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxisLateralInclination : public IfcGeometricRepresentationItem { public: - IfcAxisLateralInclination() {} - explicit IfcAxisLateralInclination (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< IfcLinearAxisWithInclination > ToLinearAxis() const; // INVERSE IfcLinearAxisWithInclination::Inclinating static const ifcopenshell::entity& Class(); - void initialize(); + IfcAxisLateralInclination initialize(); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -24386,8 +23660,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc2::IfcBooleanOperator::Value Operator() const; @@ -24400,7 +23673,7 @@ public: void setSecondOperand(const ::Ifc4x3_rc2::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -24416,12 +23689,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -24447,8 +23719,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc2::IfcCartesianPoint Corner() const; @@ -24464,7 +23735,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24498,15 +23769,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc2::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_rc2::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_rc2::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24532,8 +23802,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24552,7 +23821,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24563,31 +23832,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24595,13 +23861,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24609,7 +23874,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24643,8 +23908,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc2::IfcDirection Axis1() const; @@ -24660,7 +23924,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24669,12 +23933,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24688,15 +23951,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24705,15 +23967,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc2::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24728,8 +23989,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24739,7 +23999,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_rc2::IfcDirection v1_Axis1, ::Ifc4x3_rc2::IfcDirection v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24755,15 +24015,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24816,12 +24075,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_rc2::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24833,8 +24091,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24853,7 +24110,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24862,8 +24119,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24874,7 +24130,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc2::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc2::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24885,8 +24141,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24899,7 +24154,7 @@ public: std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24918,8 +24173,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > >& v); @@ -24927,7 +24181,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc2::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24944,8 +24198,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24970,7 +24223,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24984,15 +24237,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -25001,15 +24253,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc2::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -25054,15 +24305,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_rc2::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_rc2::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_rc2::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -25076,12 +24326,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -25098,8 +24347,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_rc2::IfcPlane BasisSurface() const; @@ -25112,7 +24360,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_rc2::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPlane v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc2::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_rc2::IfcPlane v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc2::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -25137,8 +24385,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_rc2::IfcSurface BasisSurface() const; @@ -25150,13 +24397,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc2::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3_rc2::IfcPlacement StartPlacement() const; void setStartPlacement(const ::Ifc4x3_rc2::IfcPlacement& v); @@ -25166,7 +24412,7 @@ public: void setParentCurve(const ::Ifc4x3_rc2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve v4_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve v4_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -25177,21 +24423,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v); @@ -25201,13 +24445,12 @@ public: void setEndParam(const ::Ifc4x3_rc2::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam); }; class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixDistanceSweptAreaSolid() {} - explicit IfcDirectrixDistanceSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v); @@ -25217,7 +24460,7 @@ public: void setEndDistance(const ::Ifc4x3_rc2::IfcPointByDistanceExpression& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance); + IfcDirectrixDistanceSweptAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -25247,8 +24490,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -25264,7 +24506,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -25279,15 +24521,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc2::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_rc2::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -25368,8 +24609,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -25381,7 +24621,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -25407,15 +24647,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -25424,15 +24663,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc2::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -25452,8 +24690,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -25463,7 +24700,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -25473,8 +24710,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -25491,7 +24727,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25563,8 +24799,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc2::IfcDirection ExtrudedDirection() const; @@ -25575,7 +24810,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25677,15 +24912,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_rc2::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25701,15 +24935,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc2::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25760,8 +24993,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc2::IfcCurveStyle HatchLineAppearance() const; @@ -25788,7 +25020,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_rc2::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc2::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25797,8 +25029,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_rc2::IfcVector > TilingPattern() const; @@ -25811,7 +25042,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc2::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_rc2::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc2::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25873,15 +25104,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc2::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25913,12 +25143,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25959,8 +25188,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25969,7 +25197,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -26034,15 +25262,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -26053,12 +25280,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_rc2::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -26125,8 +25351,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -26149,13 +25374,12 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { public: - IfcInclinedReferenceSweptAreaSolid() {} - explicit IfcInclinedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixDistanceSweptAreaSolid(data) {} + using IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid; std::optional< bool > FixedAxisVertical() const; void setFixedAxisVertical(const std::optional< bool >& v); @@ -26163,32 +25387,30 @@ public: void setInclinating(const ::Ifc4x3_rc2::IfcAxisLateralInclination& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination v7_Inclinating); + IfcInclinedReferenceSweptAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination v7_Inclinating); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -26243,8 +25465,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -26266,7 +25487,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -26281,15 +25502,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -26306,8 +25526,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_rc2::IfcCartesianPoint Pnt() const; @@ -26317,7 +25536,7 @@ public: void setDir(const ::Ifc4x3_rc2::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc2::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc2::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -26384,15 +25603,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_rc2::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_rc2::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -26478,8 +25696,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -26490,19 +25707,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc2::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_rc2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -26517,8 +25733,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -26528,7 +25743,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -26547,8 +25762,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26561,13 +25775,12 @@ public: void setRefDirection(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc2::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc2::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v); @@ -26575,7 +25788,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26586,8 +25799,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc2::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_rc2::IfcSurface& v); @@ -26595,7 +25807,7 @@ public: void setReferenceCurve(const ::Ifc4x3_rc2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26605,8 +25817,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26614,7 +25825,7 @@ public: void setPlacement(const ::Ifc4x3_rc2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc2::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc2::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26654,12 +25865,11 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26668,12 +25878,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26684,12 +25893,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26713,12 +25921,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26735,8 +25942,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26744,7 +25950,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26788,8 +25994,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26807,7 +26012,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26902,8 +26107,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_rc2::IfcObjectPlacement ObjectPlacement() const; @@ -26916,7 +26120,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26964,12 +26168,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26997,12 +26200,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -27110,8 +26312,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_rc2::IfcValue UpperBoundValue() const; @@ -27129,7 +26330,7 @@ public: void setSetPointValue(const ::Ifc4x3_rc2::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc2::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc2::IfcUnit v5_Unit, ::Ifc4x3_rc2::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc2::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc2::IfcUnit v5_Unit, ::Ifc4x3_rc2::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -27210,8 +26411,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -27223,7 +26423,7 @@ public: void setEnumerationReference(const ::Ifc4x3_rc2::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -27292,8 +26492,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -27305,7 +26504,7 @@ public: void setUnit(const ::Ifc4x3_rc2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_ListValues, ::Ifc4x3_rc2::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_ListValues, ::Ifc4x3_rc2::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -27324,8 +26523,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -27337,7 +26535,7 @@ public: void setPropertyReference(const ::Ifc4x3_rc2::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc2::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc2::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -27394,15 +26592,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_rc2::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_rc2::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -27437,8 +26634,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -27462,7 +26658,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -27510,8 +26706,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -27525,7 +26720,7 @@ public: void setUnit(const ::Ifc4x3_rc2::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_NominalValue, ::Ifc4x3_rc2::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue v3_NominalValue, ::Ifc4x3_rc2::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27645,8 +26840,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27674,7 +26868,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27702,14 +26896,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -27729,8 +26922,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x3_rc2::IfcObjectTypeEnum::Value ProxyType() const; @@ -27740,7 +26932,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27764,8 +26956,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27778,7 +26969,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27870,8 +27061,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27884,7 +27074,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27903,8 +27093,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_rc2::IfcSurface BasisSurface() const; @@ -27929,7 +27118,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_rc2::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27959,8 +27148,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27970,7 +27158,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc2::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27985,8 +27173,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > RelatedObjects() const; @@ -27997,7 +27184,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -28010,8 +27197,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc2::IfcActor RelatingActor() const; @@ -28021,7 +27207,7 @@ public: void setActingRole(const ::Ifc4x3_rc2::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -28030,15 +27216,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc2::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_rc2::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -28055,15 +27240,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_rc2::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_rc2::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -28076,15 +27260,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -28110,8 +27293,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -28123,7 +27305,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_rc2::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -28135,8 +27317,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -28145,7 +27326,7 @@ public: void setRelatingProduct(const ::Ifc4x3_rc2::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -28155,8 +27336,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -28165,7 +27345,7 @@ public: void setRelatingResource(const ::Ifc4x3_rc2::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -28210,8 +27390,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -28220,22 +27399,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc2::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_rc2::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -28269,23 +27447,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_rc2::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_rc2::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -28295,7 +27471,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_rc2::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -28306,15 +27482,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_rc2::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_rc2::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -28325,15 +27500,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc2::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_rc2::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -28431,39 +27605,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_rc2::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_rc2::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_rc2::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_rc2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -28489,8 +27660,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_rc2::IfcConnectionGeometry ConnectionGeometry() const; @@ -28503,7 +27673,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -28537,8 +27707,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -28554,7 +27723,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28583,8 +27752,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc2::IfcPort RelatingPort() const; @@ -28596,7 +27764,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc2::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28613,8 +27781,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc2::IfcPort RelatingPort() const; @@ -28627,15 +27794,14 @@ public: void setRealizingElement(const ::Ifc4x3_rc2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcPort v6_RelatedPort, ::Ifc4x3_rc2::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort v5_RelatingPort, ::Ifc4x3_rc2::IfcPort v6_RelatedPort, ::Ifc4x3_rc2::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28645,7 +27811,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_rc2::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28673,8 +27839,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc2::IfcStructuralMember RelatingStructuralMember() const; @@ -28696,7 +27861,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28717,15 +27882,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_rc2::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_rc2::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc2::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc2::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28752,8 +27916,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_rc2::IfcElement > RealizingElements() const; @@ -28763,7 +27926,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement v6_RelatingElement, ::Ifc4x3_rc2::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc2::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28827,8 +27990,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28840,7 +28002,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc2::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28860,8 +28022,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28873,7 +28034,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc2::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28903,8 +28064,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28916,7 +28076,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc2::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc2::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28931,8 +28091,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc2::IfcContext RelatingContext() const; @@ -28942,7 +28101,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc2::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28976,12 +28135,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -29012,12 +28170,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -29036,8 +28193,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_rc2::IfcObject > RelatedObjects() const; @@ -29047,7 +28203,7 @@ public: void setRelatingObject(const ::Ifc4x3_rc2::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -29066,8 +28222,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > RelatedObjects() const; @@ -29077,7 +28232,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -29093,8 +28248,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -29104,7 +28258,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_rc2::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc2::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc2::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -29177,8 +28331,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_rc2::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObject >& v); @@ -29187,7 +28340,7 @@ public: void setRelatingType(const ::Ifc4x3_rc2::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -29200,8 +28353,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc2::IfcOpeningElement RelatingOpeningElement() const; @@ -29213,7 +28365,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_rc2::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -29224,8 +28376,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > RelatedControlElements() const; @@ -29235,7 +28386,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_rc2::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -29286,8 +28437,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_rc2::IfcInterferenceSelect RelatingElement() const; @@ -29306,7 +28456,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -29335,8 +28485,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -29350,13 +28499,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_rc2::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_rc2::IfcPositioningElement& v); @@ -29364,7 +28512,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_rc2::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc2::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc2::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -29400,8 +28548,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc2::IfcElement RelatingElement() const; @@ -29411,7 +28558,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_rc2::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -29464,8 +28611,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -29478,7 +28624,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc2::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc2::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -29536,8 +28682,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_rc2::IfcProcess RelatingProcess() const; @@ -29566,7 +28711,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29591,8 +28736,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_rc2::IfcSystem RelatingSystem() const; @@ -29606,7 +28750,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_rc2::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc2::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc2::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29772,8 +28916,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc2::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29798,7 +28941,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29849,8 +28992,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29858,7 +29000,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29894,8 +29036,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29903,7 +29044,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29914,8 +29055,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_rc2::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_rc2::IfcElement& v); @@ -29923,7 +29063,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_rc2::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc2::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc2::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29950,14 +29090,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29974,8 +29113,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29991,7 +29129,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -30071,8 +29209,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_rc2::IfcAxis1Placement Axis() const; @@ -30082,7 +29219,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -30144,14 +29281,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_rc2::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc2::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc2::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30220,8 +29356,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -30231,7 +29366,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30316,8 +29451,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -30327,13 +29461,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_rc2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v); @@ -30341,13 +29474,12 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_rc2::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression >& v); @@ -30355,13 +29487,12 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_rc2::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc2::IfcCurve& v); @@ -30373,13 +29504,12 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); + IfcSectionedSurface initialize(::Ifc4x3_rc2::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc2::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc2::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); }; class IFC_PARSE_API IfcSeriesParameterCurve : public IfcCurve { public: - IfcSeriesParameterCurve() {} - explicit IfcSeriesParameterCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc2::IfcPlacement Position() const; void setPosition(const ::Ifc4x3_rc2::IfcPlacement& v); @@ -30389,7 +29519,7 @@ public: void setCoefficientsY(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcPlacement v1_Position, std::vector< double > /*[2:?]*/ v2_CoefficientsX, std::vector< double > /*[2:?]*/ v3_CoefficientsY); + IfcSeriesParameterCurve initialize(::Ifc4x3_rc2::IfcPlacement v1_Position, std::vector< double > /*[2:?]*/ v2_CoefficientsX, std::vector< double > /*[2:?]*/ v3_CoefficientsY); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -30438,8 +29568,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -30490,7 +29619,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc2::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc2::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc2::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -30525,8 +29654,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -30538,7 +29666,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -30573,15 +29701,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30659,8 +29786,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30670,7 +29796,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30708,12 +29834,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30766,15 +29891,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30808,8 +29932,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30818,7 +29941,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30872,27 +29995,25 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30989,8 +30110,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -31019,7 +30139,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -31110,13 +30230,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -31124,13 +30243,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -31154,12 +30272,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -31183,8 +30300,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -31194,7 +30310,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -31216,12 +30332,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -31247,15 +30362,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -31270,21 +30384,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc2::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_rc2::IfcCurve& v); @@ -31294,7 +30406,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -31360,15 +30472,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_rc2::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_rc2::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcCurve v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc2::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -31385,8 +30496,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_rc2::IfcDirection ExtrudedDirection() const; @@ -31396,7 +30506,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -31417,15 +30527,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc2::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_rc2::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_rc2::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -31459,14 +30568,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31715,8 +30823,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31759,7 +30866,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc2::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31803,8 +30910,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31815,13 +30921,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_rc2::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_rc2::IfcCartesianPointList3D& v); @@ -31829,13 +30934,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31843,7 +30947,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -31910,21 +31014,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcTransportElementTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31936,19 +31038,18 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -32050,8 +31151,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -32099,7 +31199,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc2::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -32148,8 +31248,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -32170,7 +31269,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -32189,8 +31288,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_rc2::IfcActorSelect TheActor() const; @@ -32198,7 +31296,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -32235,12 +31333,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -32265,14 +31362,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_rc2::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc2::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -32449,15 +31545,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -32530,8 +31625,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -32556,7 +31650,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -32567,8 +31661,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -32587,7 +31680,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc2::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32688,8 +31781,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32702,13 +31794,12 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; class IFC_PARSE_API IfcBlossCurve : public IfcCurve { public: - IfcBlossCurve() {} - explicit IfcBlossCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc2::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v); @@ -32718,7 +31809,7 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_CurveLength, double v3_Radius); + IfcBlossCurve initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_CurveLength, double v3_Radius); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32729,12 +31820,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32748,13 +31838,12 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; std::vector< IfcLinearPositioningElement > PositioningElement() const; // INVERSE IfcLinearPositioningElement::Axis static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32935,25 +32024,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32982,15 +32069,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -33012,31 +32098,28 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcCurve { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc2::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v); @@ -33044,7 +32127,7 @@ public: void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -33146,15 +32229,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc2::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -33166,8 +32248,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -33178,7 +32259,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -33248,8 +32329,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_rc2::IfcSegment > Segments() const; @@ -33259,7 +32339,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -33274,12 +32354,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -33288,15 +32367,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_rc2::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc2::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -33313,15 +32391,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -33338,15 +32415,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -33363,15 +32439,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -33447,8 +32522,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_rc2::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_rc2::IfcResourceTime& v); @@ -33458,7 +32532,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc2::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -33472,8 +32546,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -33484,7 +32557,7 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -33524,8 +32597,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -33548,7 +32620,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc2::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc2::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -33575,8 +32647,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -33604,19 +32675,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc2::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33699,15 +32769,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33721,8 +32790,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33730,7 +32798,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33755,21 +32823,19 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCurveSegment2D : public IfcBoundedCurve { public: - IfcCurveSegment2D() {} - explicit IfcCurveSegment2D (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc2::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_rc2::IfcCartesianPoint& v); @@ -33779,7 +32845,7 @@ public: void setSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcCurveSegment2D initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33837,25 +32903,23 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_rc2::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33887,12 +32951,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33961,12 +33024,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -34065,8 +33127,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -34115,7 +33176,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc2::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -34164,8 +33225,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -34186,7 +33246,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -34318,8 +33378,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc2::IfcDoorTypeEnum::Value PredefinedType() const; @@ -34333,7 +33392,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -34409,12 +33468,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -34431,12 +33489,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -34493,8 +33550,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -34512,7 +33568,7 @@ public: std::vector< IfcRelCoversBldgElements > HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34610,8 +33666,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34623,7 +33678,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34649,15 +33704,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34738,12 +33792,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34756,12 +33809,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34792,8 +33844,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34803,7 +33854,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34830,12 +33881,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34865,14 +33915,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc2::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34902,15 +33951,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34940,15 +33988,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -35029,8 +34076,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -35050,7 +34096,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_rc2::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc2::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc2::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -35059,12 +34105,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -35092,12 +34137,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -35125,31 +34169,28 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_rc2::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc2::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_rc2::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc2::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_rc2::IfcFacilityPartTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFacilityPartTypeSelect& v); @@ -35157,7 +34198,7 @@ public: void setUsageType(const ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -35169,15 +34210,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -35204,15 +34244,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -35310,12 +34349,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -35374,13 +34412,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -35434,13 +34471,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -35466,12 +34502,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -35498,12 +34533,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -35539,15 +34573,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -35573,12 +34606,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35613,12 +34645,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35629,12 +34660,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35645,12 +34675,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35662,12 +34691,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35680,15 +34708,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_rc2::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35796,12 +34823,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35836,14 +34862,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35987,41 +35012,37 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGradientCurve : public IfcBoundedCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc2::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_rc2::IfcBoundedCurve& v); @@ -36031,7 +35052,7 @@ public: void setEndPoint(const ::Ifc4x3_rc2::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcCartesianPoint v3_EndPoint); + IfcGradientCurve initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcCartesianPoint v3_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -36065,13 +35086,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -36104,15 +35124,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -36142,45 +35161,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc2::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_rc2::IfcCartesianPointList& v); @@ -36190,7 +35205,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_rc2::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc2::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -36227,24 +35242,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -36259,8 +35272,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -36286,7 +35298,7 @@ public: void setOriginalValue(const ::Ifc4x3_rc2::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc2::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc2::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc2::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -36317,27 +35329,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -36365,8 +35375,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -36374,7 +35383,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -36407,15 +35416,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc2::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -36450,59 +35458,54 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLineSegment2D : public IfcCurveSegment2D { public: - IfcLineSegment2D() {} - explicit IfcLineSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); + IfcLineSegment2D initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -36535,8 +35538,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -36547,7 +35549,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -36586,8 +35588,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36600,7 +35601,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36630,14 +35631,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36742,39 +35742,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc2::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36805,27 +35802,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36836,8 +35831,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36846,7 +35840,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -37052,8 +36046,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37063,7 +36056,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -37160,12 +36153,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -37198,27 +36190,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc2::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Flexible() const; void setFlexible(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Flexible); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -37227,8 +36217,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -37240,7 +36229,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -37275,8 +36264,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -37295,7 +36283,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc2::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -37336,8 +36324,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -37356,7 +36343,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -37367,15 +36354,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_rc2::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -37408,15 +36394,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -37453,25 +36438,23 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: - IfcPlant() {} - explicit IfcPlant (const std::weak_ptr& data) : IfcGeographicElement(data) {} + using IfcGeographicElement::IfcGeographicElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcPlant initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -37552,21 +36535,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc2::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -37576,7 +36557,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_rc2::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc2::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -37594,15 +36575,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_rc2::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -37659,27 +36639,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37787,8 +36765,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37796,7 +36773,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37843,8 +36820,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37867,7 +36843,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37978,8 +36954,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37988,7 +36963,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -38027,15 +37002,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -38067,27 +37041,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_rc2::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc2::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -38111,25 +37083,23 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc2::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -38153,15 +37123,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -38198,15 +37167,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc2::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -38223,21 +37191,19 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value >& v); @@ -38245,7 +37211,7 @@ public: void setRestartDistance(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -38257,26 +37223,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38304,8 +37268,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -38328,7 +37291,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38343,8 +37306,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -38379,7 +37341,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v20_BendingParameters); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -38405,8 +37367,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -38420,17 +37381,16 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc2::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc2::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -38466,15 +37426,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc2::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -38515,31 +37474,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_rc2::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc2::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcBoundedCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc2::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_rc2::IfcBoundedCurve& v); @@ -38549,7 +37505,7 @@ public: void setEndPoint(const ::Ifc4x3_rc2::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcPlacement v3_EndPoint); + IfcSegmentedReferenceCurve initialize(::Ifc4x3_rc2::IfcBoundedCurve v1_BaseCurve, std::vector< ::Ifc4x3_rc2::IfcCurveSegment > v2_Segments, ::Ifc4x3_rc2::IfcPlacement v3_EndPoint); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -38574,51 +37530,47 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc2::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc2::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignalTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38811,8 +37763,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38834,7 +37785,7 @@ public: void setSiteAddress(const ::Ifc4x3_rc2::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc2::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc2::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38915,15 +37866,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc2::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38953,24 +37903,22 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: - IfcSolidStratum() {} - explicit IfcSolidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcSolidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -39224,8 +38172,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39241,7 +38188,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -39275,15 +38222,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -39368,8 +38314,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -39378,7 +38323,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -39408,15 +38353,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -39440,15 +38384,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -39485,15 +38428,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc2::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -39516,23 +38458,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_rc2::IfcBoundaryCondition AppliedCondition() const; @@ -39540,7 +38480,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -39600,8 +38540,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39611,7 +38550,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39632,8 +38571,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -39642,7 +38580,7 @@ public: void setAxis(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39683,8 +38621,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39696,7 +38633,7 @@ public: void setAxis(const ::Ifc4x3_rc2::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39720,12 +38657,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39779,15 +38715,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39798,12 +38733,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39840,8 +38774,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39862,7 +38795,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39911,12 +38844,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39933,15 +38865,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_rc2::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_rc2::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc2::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39988,12 +38919,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -40001,8 +38931,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -40016,7 +38945,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc2::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -40072,8 +39001,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -40083,7 +39011,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -40099,12 +39027,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -40132,8 +39059,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -40141,7 +39067,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -40177,15 +39103,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -40229,15 +39154,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -40258,14 +39182,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -40293,14 +39216,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -40336,21 +39258,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_rc2::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value >& v); @@ -40370,61 +39290,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc2::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTendonTypeEnum::Value& v); @@ -40436,19 +39351,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -40479,21 +39393,19 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransitionCurveSegment2D : public IfcCurveSegment2D { public: - IfcTransitionCurveSegment2D() {} - explicit IfcTransitionCurveSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; std::optional< double > StartRadius() const; void setStartRadius(const std::optional< double >& v); @@ -40507,7 +39419,7 @@ public: void setTransitionCurveType(const ::Ifc4x3_rc2::IfcTransitionCurveType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType); + IfcTransitionCurveSegment2D initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, std::optional< double > v4_StartRadius, std::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -40627,8 +39539,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -40637,7 +39548,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc2::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40719,8 +39630,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_rc2::IfcCurve BasisCurve() const; @@ -40739,7 +39649,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc2::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_rc2::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc2::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40772,15 +39682,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40812,15 +39721,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40862,39 +39770,36 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_rc2::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40932,14 +39837,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40965,15 +39869,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -41063,22 +39966,20 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: - IfcVoidStratum() {} - explicit IfcVoidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVoidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -41114,15 +40015,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -41210,15 +40110,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc2::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -41258,25 +40157,23 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: - IfcWaterStratum() {} - explicit IfcWaterStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcWaterStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -41401,8 +40298,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc2::IfcWindowTypeEnum::Value PredefinedType() const; @@ -41416,7 +40312,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -41433,8 +40329,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -41454,7 +40349,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc2::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -41502,8 +40397,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -41528,7 +40422,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -41557,8 +40451,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -41566,7 +40459,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -41610,8 +40503,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -41619,7 +40511,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc2::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41708,8 +40600,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41720,7 +40611,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41762,8 +40653,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41786,7 +40676,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41816,15 +40706,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41854,14 +40743,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41891,21 +40779,19 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); @@ -41913,13 +40799,12 @@ public: void setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance, std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment > v9_Segments); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance, std::vector< ::Ifc4x3_rc2::IfcAlignmentCantSegment > v9_Segments); }; class IFC_PARSE_API IfcAlignmentCurve : public IfcBoundedCurve { public: - IfcAlignmentCurve() {} - explicit IfcAlignmentCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc2::IfcAlignmentHorizontal Horizontal() const; void setHorizontal(const ::Ifc4x3_rc2::IfcAlignmentHorizontal& v); @@ -41929,13 +40814,12 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAlignmentHorizontal v1_Horizontal, ::Ifc4x3_rc2::IfcAlignmentVertical v2_Vertical, std::optional< std::string > v3_Tag); + IfcAlignmentCurve initialize(::Ifc4x3_rc2::IfcAlignmentHorizontal v1_Horizontal, ::Ifc4x3_rc2::IfcAlignmentVertical v2_Vertical, std::optional< std::string > v3_Tag); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; std::optional< double > StartDistAlong() const; void setStartDistAlong(const std::optional< double >& v); @@ -41943,31 +40827,29 @@ public: void setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< double > v8_StartDistAlong, std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment > v9_Segments); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< double > v8_StartDistAlong, std::vector< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment > v9_Segments); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3_rc2::IfcAlignmentParameterSegment GeometricParameters() const; void setGeometricParameters(const ::Ifc4x3_rc2::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcAlignmentParameterSegment v8_GeometricParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcAlignmentParameterSegment v8_GeometricParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > Segments() const; void setSegments(const std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > v8_Segments); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment > v8_Segments); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41995,8 +40877,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -42032,7 +40913,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_rc2::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc2::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc2::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc2::IfcActorSelect v10_Owner, ::Ifc4x3_rc2::IfcActorSelect v11_User, ::Ifc4x3_rc2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc2::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc2::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc2::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc2::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc2::IfcActorSelect v10_Owner, ::Ifc4x3_rc2::IfcActorSelect v11_User, ::Ifc4x3_rc2::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc2::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -42078,15 +40959,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -42139,8 +41019,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -42159,7 +41038,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -42180,8 +41059,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -42194,7 +41072,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc2::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -42296,27 +41174,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc2::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc2::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -42349,15 +41225,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -42368,34 +41243,31 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -42573,8 +41445,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -42587,7 +41458,7 @@ public: void setBuildingAddress(const ::Ifc4x3_rc2::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc2::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc2::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -42608,15 +41479,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -42624,15 +41494,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -42670,15 +41539,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42718,8 +41586,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42728,23 +41595,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value >& v); @@ -42752,7 +41617,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42783,14 +41648,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42820,15 +41684,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42864,15 +41727,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42904,15 +41766,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42957,27 +41818,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -43013,15 +41872,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc2::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -43066,8 +41924,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -43075,7 +41932,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -43106,21 +41963,19 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_rc2::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCircularArcSegment2D : public IfcCurveSegment2D { public: - IfcCircularArcSegment2D() {} - explicit IfcCircularArcSegment2D (const std::weak_ptr& data) : IfcCurveSegment2D(data) {} + using IfcCurveSegment2D::IfcCurveSegment2D; double Radius() const; void setRadius(const double& v); @@ -43128,17 +41983,16 @@ public: void setIsCCW(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); + IfcCircularArcSegment2D initialize(::Ifc4x3_rc2::IfcCartesianPoint v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -43169,15 +42023,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc2::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -43452,8 +42305,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -43463,7 +42315,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -43712,12 +42564,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -43753,15 +42604,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -43792,15 +42642,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43831,15 +42680,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43865,8 +42713,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43874,7 +42721,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43904,8 +42751,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43913,7 +42759,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43932,8 +42778,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43941,19 +42786,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc2::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43986,15 +42830,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -44031,27 +42874,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -44279,8 +43120,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -44289,7 +43129,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -44431,8 +43271,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -44442,7 +43281,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -44480,25 +43319,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_rc2::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -44675,15 +43512,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44875,27 +43711,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44936,15 +43770,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -45002,12 +43835,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -45173,13 +44005,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -45251,13 +44082,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -45343,8 +44173,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -45356,7 +44185,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -45400,8 +44229,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -45413,7 +44241,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -45773,8 +44601,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -45803,7 +44630,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -45911,12 +44738,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45949,15 +44775,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45990,15 +44815,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -46028,49 +44852,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -46103,15 +44923,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -46142,15 +44961,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -46181,27 +44999,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -46237,15 +45053,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -46276,15 +45091,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -46315,15 +45129,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -46336,12 +45149,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -46386,14 +45198,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -46441,14 +45252,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -46516,14 +45326,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -46542,8 +45351,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -46551,7 +45359,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -46583,15 +45391,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_rc2::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -46624,15 +45431,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_rc2::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -46669,15 +45475,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -46690,12 +45495,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -46704,12 +45508,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -46743,15 +45546,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -46835,14 +45637,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -46851,12 +45652,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -46883,12 +45683,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46901,12 +45700,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46921,12 +45719,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46935,12 +45732,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46966,8 +45762,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -46976,17 +45771,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -47086,8 +45880,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_rc2::IfcGridAxis > UAxes() const; @@ -47102,7 +45895,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc2::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc2::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -47156,14 +45949,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -47210,14 +46002,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -47278,14 +46069,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -47355,26 +46145,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -47425,14 +46213,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -47502,38 +46289,35 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; ::Ifc4x3_rc2::IfcCurve Axis() const; void setAxis(const ::Ifc4x3_rc2::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -47581,14 +46365,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -47842,8 +46625,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -47853,7 +46635,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -48096,36 +46878,33 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -48170,26 +46949,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -48198,12 +46975,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_rc2::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -48273,26 +47049,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< bool > Flexible() const; void setFlexible(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< bool > v9_Flexible); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -48314,8 +47088,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -48329,7 +47102,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -48418,14 +47191,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -48489,14 +47261,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -48728,8 +47499,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -48739,7 +47509,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -48896,12 +47666,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -48981,14 +47750,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -49032,15 +47800,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -49093,26 +47860,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -49248,8 +48013,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -49258,7 +48022,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -49395,8 +48159,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -49407,7 +48170,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -49599,8 +48362,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -49610,7 +48372,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -49650,27 +48412,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc2::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -49702,8 +48462,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -49718,7 +48477,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -49738,8 +48497,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -49762,7 +48520,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc2::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -49911,8 +48669,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -49921,7 +48678,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -50051,14 +48808,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -50110,15 +48866,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc2::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -50136,8 +48891,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -50145,19 +48899,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -50421,8 +49174,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -50432,7 +49184,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -50519,12 +49271,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -50687,12 +49438,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -50743,14 +49493,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -50816,14 +49565,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -50877,14 +49625,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -51053,8 +49800,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -51063,7 +49809,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -51234,8 +49980,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -51262,7 +50007,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -51289,8 +50034,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -51322,15 +50066,14 @@ public: void setSharedPlacement(const ::Ifc4x3_rc2::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc2::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -51341,7 +50084,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -51352,12 +50095,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -51449,14 +50191,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -51520,26 +50261,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -51585,14 +50324,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -51643,14 +50381,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -51680,15 +50417,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -51764,14 +50500,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -51961,14 +50696,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -52214,8 +50948,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -52225,7 +50958,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -52327,12 +51060,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -52538,12 +51270,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -52651,14 +51382,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -53020,8 +51750,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -53050,7 +51779,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -53168,12 +51897,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -53208,15 +51936,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -53277,14 +52004,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -53330,14 +52056,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -53386,14 +52111,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -53423,27 +52147,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v9_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc2::IfcCurve v8_Axis, std::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v9_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -53625,14 +52347,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -53873,8 +52594,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -53884,7 +52604,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -54139,24 +52859,22 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -54229,24 +52947,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -54440,14 +53156,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -54492,14 +53207,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -54564,15 +53278,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -54635,15 +53348,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -54721,15 +53433,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -54820,27 +53531,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -54913,14 +53622,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -54990,14 +53698,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -55103,14 +53810,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -55160,14 +53866,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -55237,14 +53942,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -55284,27 +53988,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc2::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc2::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc2::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc2::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -55357,14 +54059,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -55425,14 +54126,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -55507,26 +54207,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -55561,24 +54259,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -55660,13 +54356,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -55745,14 +54440,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -55805,14 +54499,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -55858,14 +54551,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -55967,14 +54659,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -56035,14 +54726,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -56087,26 +54777,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -56157,14 +54845,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -56209,14 +54896,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -56261,14 +54947,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -56326,14 +55011,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -56424,14 +55108,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -56501,14 +55184,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -56564,34 +55246,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -56647,14 +55326,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -56792,14 +55470,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -56858,14 +55535,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -56931,14 +55607,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -56984,14 +55659,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -57101,14 +55775,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_rc3.cpp b/src/ifcparse/schemas/Ifc4x3_rc3.cpp index d463001317..16795ed874 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc3.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc3.cpp @@ -7304,652 +7304,652 @@ const ifcopenshell::select_type& Ifc4x3_rc3::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[0]); } -void Ifc4x3_rc3::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcAbsorbedDoseMeasure Ifc4x3_rc3::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1]); } -void Ifc4x3_rc3::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcAccelerationMeasure Ifc4x3_rc3::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[42]); } -void Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcAmountOfSubstanceMeasure Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[45]); } -void Ifc4x3_rc3::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcAngularVelocityMeasure Ifc4x3_rc3::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[57]); } -void Ifc4x3_rc3::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcArcIndex Ifc4x3_rc3::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[58]); } -void Ifc4x3_rc3::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcAreaDensityMeasure Ifc4x3_rc3::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[59]); } -void Ifc4x3_rc3::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcAreaMeasure Ifc4x3_rc3::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[82]); } -void Ifc4x3_rc3::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcBinary Ifc4x3_rc3::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[88]); } -void Ifc4x3_rc3::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcBoolean Ifc4x3_rc3::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[103]); } -void Ifc4x3_rc3::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcBoxAlignment Ifc4x3_rc3::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[146]); } -void Ifc4x3_rc3::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcCardinalPointReference Ifc4x3_rc3::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[190]); } -void Ifc4x3_rc3::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcComplexNumber Ifc4x3_rc3::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[198]); } -void Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[228]); } -void Ifc4x3_rc3::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcContextDependentMeasure Ifc4x3_rc3::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[254]); } -void Ifc4x3_rc3::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcCountMeasure Ifc4x3_rc3::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[272]); } -void Ifc4x3_rc3::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcCurvatureMeasure Ifc4x3_rc3::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[292]); } -void Ifc4x3_rc3::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDate Ifc4x3_rc3::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[293]); } -void Ifc4x3_rc3::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDateTime Ifc4x3_rc3::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[294]); } -void Ifc4x3_rc3::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDayInMonthNumber Ifc4x3_rc3::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[295]); } -void Ifc4x3_rc3::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDayInWeekNumber Ifc4x3_rc3::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[304]); } -void Ifc4x3_rc3::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDescriptiveMeasure Ifc4x3_rc3::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[306]); } -void Ifc4x3_rc3::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDimensionCount Ifc4x3_rc3::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[350]); } -void Ifc4x3_rc3::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDoseEquivalentMeasure Ifc4x3_rc3::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[362]); } -void Ifc4x3_rc3::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDuration Ifc4x3_rc3::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[363]); } -void Ifc4x3_rc3::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcDynamicViscosityMeasure Ifc4x3_rc3::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[375]); } -void Ifc4x3_rc3::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcElectricCapacitanceMeasure Ifc4x3_rc3::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[376]); } -void Ifc4x3_rc3::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcElectricChargeMeasure Ifc4x3_rc3::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[377]); } -void Ifc4x3_rc3::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcElectricConductanceMeasure Ifc4x3_rc3::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[378]); } -void Ifc4x3_rc3::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcElectricCurrentMeasure Ifc4x3_rc3::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[394]); } -void Ifc4x3_rc3::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcElectricResistanceMeasure Ifc4x3_rc3::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[398]); } -void Ifc4x3_rc3::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcElectricVoltageMeasure Ifc4x3_rc3::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[413]); } -void Ifc4x3_rc3::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcEnergyMeasure Ifc4x3_rc3::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[494]); } -void Ifc4x3_rc3::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcFontStyle Ifc4x3_rc3::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[495]); } -void Ifc4x3_rc3::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcFontVariant Ifc4x3_rc3::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[496]); } -void Ifc4x3_rc3::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcFontWeight Ifc4x3_rc3::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[500]); } -void Ifc4x3_rc3::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcForceMeasure Ifc4x3_rc3::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[501]); } -void Ifc4x3_rc3::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcFrequencyMeasure Ifc4x3_rc3::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[522]); } -void Ifc4x3_rc3::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcGloballyUniqueId Ifc4x3_rc3::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[536]); } -void Ifc4x3_rc3::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcHeatFluxDensityMeasure Ifc4x3_rc3::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[537]); } -void Ifc4x3_rc3::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcHeatingValueMeasure Ifc4x3_rc3::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[541]); } -void Ifc4x3_rc3::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcIdentifier Ifc4x3_rc3::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[542]); } -void Ifc4x3_rc3::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcIlluminanceMeasure Ifc4x3_rc3::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[555]); } -void Ifc4x3_rc3::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcInductanceMeasure Ifc4x3_rc3::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[556]); } -void Ifc4x3_rc3::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcInteger Ifc4x3_rc3::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[557]); } -void Ifc4x3_rc3::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcIntegerCountRateMeasure Ifc4x3_rc3::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[566]); } -void Ifc4x3_rc3::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcIonConcentrationMeasure Ifc4x3_rc3::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[570]); } -void Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[576]); } -void Ifc4x3_rc3::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcKinematicViscosityMeasure Ifc4x3_rc3::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[578]); } -void Ifc4x3_rc3::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLabel Ifc4x3_rc3::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[586]); } -void Ifc4x3_rc3::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLanguageId Ifc4x3_rc3::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[589]); } -void Ifc4x3_rc3::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLengthMeasure Ifc4x3_rc3::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[615]); } -void Ifc4x3_rc3::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLineIndex Ifc4x3_rc3::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[609]); } -void Ifc4x3_rc3::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLinearForceMeasure Ifc4x3_rc3::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[610]); } -void Ifc4x3_rc3::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLinearMomentMeasure Ifc4x3_rc3::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[613]); } -void Ifc4x3_rc3::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLinearStiffnessMeasure Ifc4x3_rc3::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[614]); } -void Ifc4x3_rc3::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLinearVelocityMeasure Ifc4x3_rc3::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[621]); } -void Ifc4x3_rc3::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLogical Ifc4x3_rc3::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[625]); } -void Ifc4x3_rc3::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLuminousFluxMeasure Ifc4x3_rc3::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[626]); } -void Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[627]); } -void Ifc4x3_rc3::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcLuminousIntensityMeasure Ifc4x3_rc3::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[628]); } -void Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMagneticFluxDensityMeasure Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[629]); } -void Ifc4x3_rc3::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMagneticFluxMeasure Ifc4x3_rc3::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[636]); } -void Ifc4x3_rc3::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMassDensityMeasure Ifc4x3_rc3::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[637]); } -void Ifc4x3_rc3::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMassFlowRateMeasure Ifc4x3_rc3::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[638]); } -void Ifc4x3_rc3::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMassMeasure Ifc4x3_rc3::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[639]); } -void Ifc4x3_rc3::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMassPerLengthMeasure Ifc4x3_rc3::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[678]); } -void Ifc4x3_rc3::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcModulusOfElasticityMeasure Ifc4x3_rc3::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[679]); } -void Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[680]); } -void Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[682]); } -void Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[685]); } -void Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMoistureDiffusivityMeasure Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[686]); } -void Ifc4x3_rc3::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMolecularWeightMeasure Ifc4x3_rc3::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[687]); } -void Ifc4x3_rc3::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMomentOfInertiaMeasure Ifc4x3_rc3::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[688]); } -void Ifc4x3_rc3::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMonetaryMeasure Ifc4x3_rc3::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[690]); } -void Ifc4x3_rc3::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcMonthInYearNumber Ifc4x3_rc3::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[701]); } -void Ifc4x3_rc3::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcNonNegativeLengthMeasure Ifc4x3_rc3::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[702]); } -void Ifc4x3_rc3::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcNormalisedRatioMeasure Ifc4x3_rc3::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[703]); } -void Ifc4x3_rc3::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcNumericMeasure Ifc4x3_rc3::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[745]); } -void Ifc4x3_rc3::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPHMeasure Ifc4x3_rc3::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[731]); } -void Ifc4x3_rc3::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcParameterValue Ifc4x3_rc3::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[764]); } -void Ifc4x3_rc3::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPlanarForceMeasure Ifc4x3_rc3::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[766]); } -void Ifc4x3_rc3::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPlaneAngleMeasure Ifc4x3_rc3::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[784]); } -void Ifc4x3_rc3::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPositiveInteger Ifc4x3_rc3::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[785]); } -void Ifc4x3_rc3::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPositiveLengthMeasure Ifc4x3_rc3::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[786]); } -void Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPositivePlaneAngleMeasure Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[787]); } -void Ifc4x3_rc3::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPositiveRatioMeasure Ifc4x3_rc3::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[789]); } -void Ifc4x3_rc3::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPowerMeasure Ifc4x3_rc3::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[797]); } -void Ifc4x3_rc3::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPresentableText Ifc4x3_rc3::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[802]); } -void Ifc4x3_rc3::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcPressureMeasure Ifc4x3_rc3::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[836]); } -void Ifc4x3_rc3::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_rc3::IfcPropertySetDefinitionSet Ifc4x3_rc3::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_rc3::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[860]); } -void Ifc4x3_rc3::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcRadioActivityMeasure Ifc4x3_rc3::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[876]); } -void Ifc4x3_rc3::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcRatioMeasure Ifc4x3_rc3::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[879]); } -void Ifc4x3_rc3::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcReal Ifc4x3_rc3::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[979]); } -void Ifc4x3_rc3::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcRotationalFrequencyMeasure Ifc4x3_rc3::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[980]); } -void Ifc4x3_rc3::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcRotationalMassMeasure Ifc4x3_rc3::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[981]); } -void Ifc4x3_rc3::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcRotationalStiffnessMeasure Ifc4x3_rc3::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[995]); } -void Ifc4x3_rc3::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSectionModulusMeasure Ifc4x3_rc3::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[990]); } -void Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1012]); } -void Ifc4x3_rc3::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcShearModulusMeasure Ifc4x3_rc3::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1040]); } -void Ifc4x3_rc3::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSolidAngleMeasure Ifc4x3_rc3::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1044]); } -void Ifc4x3_rc3::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSoundPowerLevelMeasure Ifc4x3_rc3::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1045]); } -void Ifc4x3_rc3::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSoundPowerMeasure Ifc4x3_rc3::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1046]); } -void Ifc4x3_rc3::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSoundPressureLevelMeasure Ifc4x3_rc3::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1047]); } -void Ifc4x3_rc3::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSoundPressureMeasure Ifc4x3_rc3::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1063]); } -void Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1064]); } -void Ifc4x3_rc3::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSpecularExponent Ifc4x3_rc3::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1066]); } -void Ifc4x3_rc3::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcSpecularRoughness Ifc4x3_rc3::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1171]); } -void Ifc4x3_rc3::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTemperatureGradientMeasure Ifc4x3_rc3::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1172]); } -void Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1184]); } -void Ifc4x3_rc3::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcText Ifc4x3_rc3::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1185]); } -void Ifc4x3_rc3::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTextAlignment Ifc4x3_rc3::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1186]); } -void Ifc4x3_rc3::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTextDecoration Ifc4x3_rc3::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1187]); } -void Ifc4x3_rc3::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTextFontName Ifc4x3_rc3::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1196]); } -void Ifc4x3_rc3::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTextTransformation Ifc4x3_rc3::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1202]); } -void Ifc4x3_rc3::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcThermalAdmittanceMeasure Ifc4x3_rc3::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1203]); } -void Ifc4x3_rc3::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcThermalConductivityMeasure Ifc4x3_rc3::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1204]); } -void Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1205]); } -void Ifc4x3_rc3::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcThermalResistanceMeasure Ifc4x3_rc3::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1206]); } -void Ifc4x3_rc3::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcThermalTransmittanceMeasure Ifc4x3_rc3::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1207]); } -void Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1209]); } -void Ifc4x3_rc3::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTime Ifc4x3_rc3::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1210]); } -void Ifc4x3_rc3::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTimeMeasure Ifc4x3_rc3::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1216]); } -void Ifc4x3_rc3::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTimeStamp Ifc4x3_rc3::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1220]); } -void Ifc4x3_rc3::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcTorqueMeasure Ifc4x3_rc3::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1257]); } -void Ifc4x3_rc3::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcURIReference Ifc4x3_rc3::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1263]); } -void Ifc4x3_rc3::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcVaporPermeabilityMeasure Ifc4x3_rc3::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1281]); } -void Ifc4x3_rc3::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcVolumeMeasure Ifc4x3_rc3::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1282]); } -void Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcVolumetricFlowRateMeasure Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1288]); } -void Ifc4x3_rc3::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcWarpingConstantMeasure Ifc4x3_rc3::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc3::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC3_types[1289]); } -void Ifc4x3_rc3::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc3::IfcWarpingMomentMeasure Ifc4x3_rc3::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc3::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -7963,7 +7963,7 @@ void Ifc4x3_rc3::IfcActionRequest::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[2]); } -void Ifc4x3_rc3::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc3::IfcActionRequest Ifc4x3_rc3::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_rc3::IfcActorSelect Ifc4x3_rc3::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcActorSelect>(); } @@ -7972,7 +7972,7 @@ void Ifc4x3_rc3::IfcActor::setTheActor(const ::Ifc4x3_rc3::IfcActorSelect& v) { std::vector<::Ifc4x3_rc3::IfcRelAssignsToActor> Ifc4x3_rc3::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[907], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[6]); } -void Ifc4x3_rc3::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_rc3::IfcActor Ifc4x3_rc3::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_rc3::IfcRoleEnum::Value Ifc4x3_rc3::IfcActorRole::Role() const { return ::Ifc4x3_rc3::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7985,7 +7985,7 @@ void Ifc4x3_rc3::IfcActorRole::setDescription(const std::optional< std::string > std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[7]); } -void Ifc4x3_rc3::IfcActorRole::initialize(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc3::IfcActorRole Ifc4x3_rc3::IfcActorRole::initialize(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > Ifc4x3_rc3::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7993,7 +7993,7 @@ void Ifc4x3_rc3::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[9]); } -void Ifc4x3_rc3::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcActuator Ifc4x3_rc3::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value Ifc4x3_rc3::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -8001,7 +8001,7 @@ void Ifc4x3_rc3::IfcActuatorType::setPredefinedType(const ::Ifc4x3_rc3::IfcActua const ifcopenshell::entity& Ifc4x3_rc3::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[10]); } -void Ifc4x3_rc3::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcActuatorType Ifc4x3_rc3::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Ifc4x3_rc3::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -8015,13 +8015,13 @@ std::vector<::Ifc4x3_rc3::IfcPerson> Ifc4x3_rc3::IfcAddress::OfPerson() const { std::vector<::Ifc4x3_rc3::IfcOrganization> Ifc4x3_rc3::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[722], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[12]); } -void Ifc4x3_rc3::IfcAddress::initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_rc3::IfcAddress Ifc4x3_rc3::IfcAddress::initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_rc3::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[14]); } -void Ifc4x3_rc3::IfcAdvancedBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc3::IfcAdvancedBrep Ifc4x3_rc3::IfcAdvancedBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_rc3::IfcClosedShell > Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcClosedShell>(es); } @@ -8029,13 +8029,13 @@ void Ifc4x3_rc3::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[15]); } -void Ifc4x3_rc3::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc3::IfcAdvancedBrepWithVoids Ifc4x3_rc3::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_rc3::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[16]); } -void Ifc4x3_rc3::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc3::IfcAdvancedFace Ifc4x3_rc3::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -8043,7 +8043,7 @@ void Ifc4x3_rc3::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[17]); } -void Ifc4x3_rc3::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcAirTerminal Ifc4x3_rc3::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -8051,7 +8051,7 @@ void Ifc4x3_rc3::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[18]); } -void Ifc4x3_rc3::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcAirTerminalBox Ifc4x3_rc3::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -8059,7 +8059,7 @@ void Ifc4x3_rc3::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[19]); } -void Ifc4x3_rc3::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcAirTerminalBoxType Ifc4x3_rc3::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -8067,7 +8067,7 @@ void Ifc4x3_rc3::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_rc3::IfcAi const ifcopenshell::entity& Ifc4x3_rc3::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[21]); } -void Ifc4x3_rc3::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcAirTerminalType Ifc4x3_rc3::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc3::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -8075,7 +8075,7 @@ void Ifc4x3_rc3::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[23]); } -void Ifc4x3_rc3::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcAirToAirHeatRecovery Ifc4x3_rc3::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -8083,7 +8083,7 @@ void Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[24]); } -void Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcAirToAirHeatRecoveryType Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > Ifc4x3_rc3::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8091,7 +8091,7 @@ void Ifc4x3_rc3::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[26]); } -void Ifc4x3_rc3::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcAlarm Ifc4x3_rc3::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value Ifc4x3_rc3::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8099,7 +8099,7 @@ void Ifc4x3_rc3::IfcAlarmType::setPredefinedType(const ::Ifc4x3_rc3::IfcAlarmTyp const ifcopenshell::entity& Ifc4x3_rc3::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[27]); } -void Ifc4x3_rc3::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcAlarmType Ifc4x3_rc3::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > Ifc4x3_rc3::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } @@ -8107,7 +8107,7 @@ void Ifc4x3_rc3::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[29]); } -void Ifc4x3_rc3::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc3::IfcAlignment Ifc4x3_rc3::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3_rc3::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8115,7 +8115,7 @@ void Ifc4x3_rc3::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[30]); } -void Ifc4x3_rc3::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance)); } +Ifc4x3_rc3::IfcAlignmentCant Ifc4x3_rc3::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3_rc3::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8135,13 +8135,13 @@ void Ifc4x3_rc3::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[31]); } -void Ifc4x3_rc3::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc3::IfcAlignmentCantSegment Ifc4x3_rc3::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[33]); } -void Ifc4x3_rc3::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcAlignmentHorizontal Ifc4x3_rc3::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } @@ -8161,7 +8161,7 @@ void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[34]); } -void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc3::IfcAlignmentHorizontalSegment Ifc4x3_rc3::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8171,7 +8171,7 @@ void Ifc4x3_rc3::IfcAlignmentParameterSegment::setEndTag(const std::optional< st const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[36]); } -void Ifc4x3_rc3::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3_rc3::IfcAlignmentParameterSegment Ifc4x3_rc3::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3_rc3::IfcAlignmentParameterSegment Ifc4x3_rc3::IfcAlignmentSegment::DesignParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcAlignmentParameterSegment>(); } @@ -8179,13 +8179,13 @@ void Ifc4x3_rc3::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[37]); } -void Ifc4x3_rc3::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters)); } +Ifc4x3_rc3::IfcAlignmentSegment Ifc4x3_rc3::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters));; return *this; } // Function implementations for IfcAlignmentVertical const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[39]); } -void Ifc4x3_rc3::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcAlignmentVertical Ifc4x3_rc3::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8205,7 +8205,7 @@ void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[40]); } -void Ifc4x3_rc3::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc3::IfcAlignmentVerticalSegment Ifc4x3_rc3::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > Ifc4x3_rc3::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8214,7 +8214,7 @@ void Ifc4x3_rc3::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_ std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[932], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[46]); } -void Ifc4x3_rc3::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc3::IfcAnnotation Ifc4x3_rc3::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -8224,7 +8224,7 @@ void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[47]); } -void Ifc4x3_rc3::IfcAnnotationFillArea::initialize(::Ifc4x3_rc3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_rc3::IfcAnnotationFillArea Ifc4x3_rc3::IfcAnnotationFillArea::initialize(::Ifc4x3_rc3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcOrganization>(); } @@ -8238,7 +8238,7 @@ void Ifc4x3_rc3::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[49]); } -void Ifc4x3_rc3::IfcApplication::initialize(::Ifc4x3_rc3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_rc3::IfcApplication Ifc4x3_rc3::IfcApplication::initialize(::Ifc4x3_rc3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8265,7 +8265,7 @@ void Ifc4x3_rc3::IfcAppliedValue::setComponents(const std::optional< std::vector std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[50]); } -void Ifc4x3_rc3::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc3::IfcAppliedValue Ifc4x3_rc3::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_rc3::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8294,7 +8294,7 @@ std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::IsRe std::vector<::Ifc4x3_rc3::IfcApprovalRelationship> Ifc4x3_rc3::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[53], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[52]); } -void Ifc4x3_rc3::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcApproval>(); } @@ -8304,7 +8304,7 @@ void Ifc4x3_rc3::IfcApprovalRelationship::setRelatedApprovals(const std::vector< const ifcopenshell::entity& Ifc4x3_rc3::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[53]); } -void Ifc4x3_rc3::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc3::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_rc3::IfcApprovalRelationship Ifc4x3_rc3::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc3::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -8312,7 +8312,7 @@ void Ifc4x3_rc3::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[54]); } -void Ifc4x3_rc3::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_rc3::IfcArbitraryClosedProfileDef Ifc4x3_rc3::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } @@ -8320,7 +8320,7 @@ void Ifc4x3_rc3::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc3::IfcBou const ifcopenshell::entity& Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[55]); } -void Ifc4x3_rc3::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_rc3::IfcArbitraryOpenProfileDef Ifc4x3_rc3::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_rc3::IfcCurve > Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc3::IfcCurve>(es); } @@ -8328,7 +8328,7 @@ void Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vect const ifcopenshell::entity& Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[56]); } -void Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc3::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc3::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_rc3::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8352,7 +8352,7 @@ void Ifc4x3_rc3::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc3::IfcCostValue& const ifcopenshell::entity& Ifc4x3_rc3::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[62]); } -void Ifc4x3_rc3::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc3::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc3::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc3::IfcActorSelect v10_Owner, ::Ifc4x3_rc3::IfcActorSelect v11_User, ::Ifc4x3_rc3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc3::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_rc3::IfcAsset Ifc4x3_rc3::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc3::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc3::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc3::IfcActorSelect v10_Owner, ::Ifc4x3_rc3::IfcActorSelect v11_User, ::Ifc4x3_rc3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc3::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8382,7 +8382,7 @@ void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::opt const ifcopenshell::entity& Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[63]); } -void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc3::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8390,7 +8390,7 @@ void Ifc4x3_rc3::IfcAudioVisualAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[64]); } -void Ifc4x3_rc3::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcAudioVisualAppliance Ifc4x3_rc3::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc3::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8398,7 +8398,7 @@ void Ifc4x3_rc3::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[65]); } -void Ifc4x3_rc3::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcAudioVisualApplianceType Ifc4x3_rc3::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -8406,7 +8406,7 @@ void Ifc4x3_rc3::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc3::IfcDirection& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[67]); } -void Ifc4x3_rc3::IfcAxis1Placement::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_rc3::IfcAxis1Placement Ifc4x3_rc3::IfcAxis1Placement::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -8414,7 +8414,7 @@ void Ifc4x3_rc3::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc3::IfcDir const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[69]); } -void Ifc4x3_rc3::IfcAxis2Placement2D::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_rc3::IfcAxis2Placement2D Ifc4x3_rc3::IfcAxis2Placement2D::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -8424,7 +8424,7 @@ void Ifc4x3_rc3::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc3::IfcDir const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[70]); } -void Ifc4x3_rc3::IfcAxis2Placement3D::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcAxis2Placement3D::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -8434,7 +8434,7 @@ void Ifc4x3_rc3::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[71]); } -void Ifc4x3_rc3::IfcAxis2PlacementLinear::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc3::IfcAxis2PlacementLinear Ifc4x3_rc3::IfcAxis2PlacementLinear::initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_rc3::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8450,7 +8450,7 @@ void Ifc4x3_rc3::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[108]); } -void Ifc4x3_rc3::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_rc3::IfcBSplineCurve Ifc4x3_rc3::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8462,7 +8462,7 @@ void Ifc4x3_rc3::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc3::IfcKn const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[110]); } -void Ifc4x3_rc3::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_rc3::IfcBSplineCurveWithKnots Ifc4x3_rc3::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_rc3::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8482,7 +8482,7 @@ void Ifc4x3_rc3::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[111]); } -void Ifc4x3_rc3::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_rc3::IfcBSplineSurface Ifc4x3_rc3::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8498,7 +8498,7 @@ void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[113]); } -void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_rc3::IfcBSplineSurfaceWithKnots Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > Ifc4x3_rc3::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8506,13 +8506,13 @@ void Ifc4x3_rc3::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[72]); } -void Ifc4x3_rc3::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBeam Ifc4x3_rc3::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[73]); } -void Ifc4x3_rc3::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBeamStandardCase Ifc4x3_rc3::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_rc3::IfcBeamTypeEnum::Value Ifc4x3_rc3::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8520,7 +8520,7 @@ void Ifc4x3_rc3::IfcBeamType::setPredefinedType(const ::Ifc4x3_rc3::IfcBeamTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[74]); } -void Ifc4x3_rc3::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcBeamType Ifc4x3_rc3::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > Ifc4x3_rc3::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8528,7 +8528,7 @@ void Ifc4x3_rc3::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[76]); } -void Ifc4x3_rc3::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBearing Ifc4x3_rc3::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_rc3::IfcBearingTypeEnum::Value Ifc4x3_rc3::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8536,7 +8536,7 @@ void Ifc4x3_rc3::IfcBearingType::setPredefinedType(const ::Ifc4x3_rc3::IfcBearin const ifcopenshell::entity& Ifc4x3_rc3::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[77]); } -void Ifc4x3_rc3::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcBearingType Ifc4x3_rc3::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_rc3::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8546,7 +8546,7 @@ void Ifc4x3_rc3::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[83]); } -void Ifc4x3_rc3::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_rc3::IfcBlobTexture Ifc4x3_rc3::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_rc3::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8558,7 +8558,7 @@ void Ifc4x3_rc3::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc3::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[84]); } -void Ifc4x3_rc3::IfcBlock::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_rc3::IfcBlock Ifc4x3_rc3::IfcBlock::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > Ifc4x3_rc3::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8566,7 +8566,7 @@ void Ifc4x3_rc3::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[85]); } -void Ifc4x3_rc3::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBoiler Ifc4x3_rc3::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value Ifc4x3_rc3::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8574,13 +8574,13 @@ void Ifc4x3_rc3::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc3::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc3::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[86]); } -void Ifc4x3_rc3::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcBoilerType Ifc4x3_rc3::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_rc3::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[89]); } -void Ifc4x3_rc3::IfcBooleanClippingResult::initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc3::IfcBooleanClippingResult Ifc4x3_rc3::IfcBooleanClippingResult::initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_rc3::IfcBooleanOperator::Value Ifc4x3_rc3::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc3::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8592,13 +8592,13 @@ void Ifc4x3_rc3::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc3::IfcBoole const ifcopenshell::entity& Ifc4x3_rc3::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[92]); } -void Ifc4x3_rc3::IfcBooleanResult::initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc3::IfcBooleanResult Ifc4x3_rc3::IfcBooleanResult::initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_rc3::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[93]); } -void Ifc4x3_rc3::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcBorehole Ifc4x3_rc3::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_rc3::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8606,13 +8606,13 @@ void Ifc4x3_rc3::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[94]); } -void Ifc4x3_rc3::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcBoundaryCondition Ifc4x3_rc3::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[95]); } -void Ifc4x3_rc3::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc3::IfcBoundaryCurve Ifc4x3_rc3::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8630,7 +8630,7 @@ void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[96]); } -void Ifc4x3_rc3::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_rc3::IfcBoundaryEdgeCondition Ifc4x3_rc3::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(); } @@ -8642,7 +8642,7 @@ void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(cons const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[97]); } -void Ifc4x3_rc3::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_rc3::IfcBoundaryFaceCondition Ifc4x3_rc3::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(); } @@ -8660,7 +8660,7 @@ void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[98]); } -void Ifc4x3_rc3::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_rc3::IfcBoundaryNodeCondition Ifc4x3_rc3::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_rc3::IfcWarpingStiffnessSelect Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcWarpingStiffnessSelect>(); } @@ -8668,19 +8668,19 @@ void Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[99]); } -void Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc3::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_rc3::IfcBoundaryNodeConditionWarping Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc3::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[100]); } -void Ifc4x3_rc3::IfcBoundedCurve::initialize() { } +Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[101]); } -void Ifc4x3_rc3::IfcBoundedSurface::initialize() { } +Ifc4x3_rc3::IfcBoundedSurface Ifc4x3_rc3::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } @@ -8694,7 +8694,7 @@ void Ifc4x3_rc3::IfcBoundingBox::setZDim(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc3::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[102]); } -void Ifc4x3_rc3::IfcBoundingBox::initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_rc3::IfcBoundingBox Ifc4x3_rc3::IfcBoundingBox::initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_rc3::IfcBoundingBox Ifc4x3_rc3::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundingBox>(); } @@ -8702,7 +8702,7 @@ void Ifc4x3_rc3::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc3::IfcBounding const ifcopenshell::entity& Ifc4x3_rc3::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[104]); } -void Ifc4x3_rc3::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_rc3::IfcBoxedHalfSpace Ifc4x3_rc3::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > Ifc4x3_rc3::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8710,7 +8710,7 @@ void Ifc4x3_rc3::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[105]); } -void Ifc4x3_rc3::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcBridge Ifc4x3_rc3::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8722,7 +8722,7 @@ void Ifc4x3_rc3::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc3::IfcPostalAd const ifcopenshell::entity& Ifc4x3_rc3::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[114]); } -void Ifc4x3_rc3::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc3::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_rc3::IfcBuilding Ifc4x3_rc3::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc3::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8730,7 +8730,7 @@ void Ifc4x3_rc3::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[115]); } -void Ifc4x3_rc3::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBuildingElementPart Ifc4x3_rc3::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc3::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8738,7 +8738,7 @@ void Ifc4x3_rc3::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[116]); } -void Ifc4x3_rc3::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcBuildingElementPartType Ifc4x3_rc3::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8746,7 +8746,7 @@ void Ifc4x3_rc3::IfcBuildingElementProxy::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[118]); } -void Ifc4x3_rc3::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBuildingElementProxy Ifc4x3_rc3::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8754,7 +8754,7 @@ void Ifc4x3_rc3::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[119]); } -void Ifc4x3_rc3::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcBuildingElementProxyType Ifc4x3_rc3::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_rc3::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8762,7 +8762,7 @@ void Ifc4x3_rc3::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[121]); } -void Ifc4x3_rc3::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_rc3::IfcBuildingStorey Ifc4x3_rc3::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8772,19 +8772,19 @@ void Ifc4x3_rc3::IfcBuildingSystem::setLongName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[122]); } -void Ifc4x3_rc3::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc3::IfcBuildingSystem Ifc4x3_rc3::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_rc3::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[124]); } -void Ifc4x3_rc3::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcBuiltElement Ifc4x3_rc3::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[125]); } -void Ifc4x3_rc3::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcBuiltElementType Ifc4x3_rc3::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8794,7 +8794,7 @@ void Ifc4x3_rc3::IfcBuiltSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc3::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[126]); } -void Ifc4x3_rc3::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc3::IfcBuiltSystem Ifc4x3_rc3::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > Ifc4x3_rc3::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8802,7 +8802,7 @@ void Ifc4x3_rc3::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[128]); } -void Ifc4x3_rc3::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcBurner Ifc4x3_rc3::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value Ifc4x3_rc3::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8810,7 +8810,7 @@ void Ifc4x3_rc3::IfcBurnerType::setPredefinedType(const ::Ifc4x3_rc3::IfcBurnerT const ifcopenshell::entity& Ifc4x3_rc3::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[129]); } -void Ifc4x3_rc3::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcBurnerType Ifc4x3_rc3::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_rc3::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8826,7 +8826,7 @@ void Ifc4x3_rc3::IfcCShapeProfileDef::setInternalFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[267]); } -void Ifc4x3_rc3::IfcCShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_rc3::IfcCShapeProfileDef Ifc4x3_rc3::IfcCShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8834,7 +8834,7 @@ void Ifc4x3_rc3::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[131]); } -void Ifc4x3_rc3::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCableCarrierFitting Ifc4x3_rc3::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8842,7 +8842,7 @@ void Ifc4x3_rc3::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[132]); } -void Ifc4x3_rc3::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCableCarrierFittingType Ifc4x3_rc3::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8850,7 +8850,7 @@ void Ifc4x3_rc3::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[134]); } -void Ifc4x3_rc3::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCableCarrierSegment Ifc4x3_rc3::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8858,7 +8858,7 @@ void Ifc4x3_rc3::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[135]); } -void Ifc4x3_rc3::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCableCarrierSegmentType Ifc4x3_rc3::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8866,7 +8866,7 @@ void Ifc4x3_rc3::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[137]); } -void Ifc4x3_rc3::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCableFitting Ifc4x3_rc3::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value Ifc4x3_rc3::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8874,7 +8874,7 @@ void Ifc4x3_rc3::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[138]); } -void Ifc4x3_rc3::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCableFittingType Ifc4x3_rc3::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8882,7 +8882,7 @@ void Ifc4x3_rc3::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[140]); } -void Ifc4x3_rc3::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCableSegment Ifc4x3_rc3::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8890,7 +8890,7 @@ void Ifc4x3_rc3::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[141]); } -void Ifc4x3_rc3::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCableSegmentType Ifc4x3_rc3::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc3::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8898,7 +8898,7 @@ void Ifc4x3_rc3::IfcCaissonFoundation::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[143]); } -void Ifc4x3_rc3::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCaissonFoundation Ifc4x3_rc3::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc3::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8906,7 +8906,7 @@ void Ifc4x3_rc3::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[144]); } -void Ifc4x3_rc3::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCaissonFoundationType Ifc4x3_rc3::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_rc3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8914,13 +8914,13 @@ void Ifc4x3_rc3::IfcCartesianPoint::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[147]); } -void Ifc4x3_rc3::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[148]); } -void Ifc4x3_rc3::IfcCartesianPointList::initialize() { } +Ifc4x3_rc3::IfcCartesianPointList Ifc4x3_rc3::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8930,7 +8930,7 @@ void Ifc4x3_rc3::IfcCartesianPointList2D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[149]); } -void Ifc4x3_rc3::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc3::IfcCartesianPointList2D Ifc4x3_rc3::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8940,7 +8940,7 @@ void Ifc4x3_rc3::IfcCartesianPointList3D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[150]); } -void Ifc4x3_rc3::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc3::IfcCartesianPointList3D Ifc4x3_rc3::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -8954,13 +8954,13 @@ void Ifc4x3_rc3::IfcCartesianTransformationOperator::setScale(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[151]); } -void Ifc4x3_rc3::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc3::IfcCartesianTransformationOperator Ifc4x3_rc3::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[152]); } -void Ifc4x3_rc3::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc3::IfcCartesianTransformationOperator2D Ifc4x3_rc3::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8968,7 +8968,7 @@ void Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::setScale2(const const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[153]); } -void Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -8976,7 +8976,7 @@ void Ifc4x3_rc3::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[154]); } -void Ifc4x3_rc3::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_rc3::IfcCartesianTransformationOperator3D Ifc4x3_rc3::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8986,7 +8986,7 @@ void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale3(const const ifcopenshell::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[155]); } -void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_rc3::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8994,7 +8994,7 @@ void Ifc4x3_rc3::IfcCenterLineProfileDef::setThickness(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[156]); } -void Ifc4x3_rc3::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_rc3::IfcCenterLineProfileDef Ifc4x3_rc3::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > Ifc4x3_rc3::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -9002,7 +9002,7 @@ void Ifc4x3_rc3::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[158]); } -void Ifc4x3_rc3::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcChiller Ifc4x3_rc3::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_rc3::IfcChillerTypeEnum::Value Ifc4x3_rc3::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -9010,7 +9010,7 @@ void Ifc4x3_rc3::IfcChillerType::setPredefinedType(const ::Ifc4x3_rc3::IfcChille const ifcopenshell::entity& Ifc4x3_rc3::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[159]); } -void Ifc4x3_rc3::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcChillerType Ifc4x3_rc3::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > Ifc4x3_rc3::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -9018,7 +9018,7 @@ void Ifc4x3_rc3::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[161]); } -void Ifc4x3_rc3::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcChimney Ifc4x3_rc3::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value Ifc4x3_rc3::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -9026,7 +9026,7 @@ void Ifc4x3_rc3::IfcChimneyType::setPredefinedType(const ::Ifc4x3_rc3::IfcChimne const ifcopenshell::entity& Ifc4x3_rc3::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[162]); } -void Ifc4x3_rc3::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcChimneyType Ifc4x3_rc3::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_rc3::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -9034,7 +9034,7 @@ void Ifc4x3_rc3::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc3::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[164]); } -void Ifc4x3_rc3::IfcCircle::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc3::IfcCircle Ifc4x3_rc3::IfcCircle::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_rc3::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -9042,7 +9042,7 @@ void Ifc4x3_rc3::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[165]); } -void Ifc4x3_rc3::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_rc3::IfcCircleHollowProfileDef Ifc4x3_rc3::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_rc3::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -9050,19 +9050,19 @@ void Ifc4x3_rc3::IfcCircleProfileDef::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc3::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[166]); } -void Ifc4x3_rc3::IfcCircleProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_rc3::IfcCircleProfileDef Ifc4x3_rc3::IfcCircleProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_rc3::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[167]); } -void Ifc4x3_rc3::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcCivilElement Ifc4x3_rc3::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[168]); } -void Ifc4x3_rc3::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcCivilElementType Ifc4x3_rc3::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_rc3::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9084,7 +9084,7 @@ std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassif std::vector<::Ifc4x3_rc3::IfcClassificationReference> Ifc4x3_rc3::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[170], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[169]); } -void Ifc4x3_rc3::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_rc3::IfcClassification Ifc4x3_rc3::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_rc3::IfcClassificationReferenceSelect Ifc4x3_rc3::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcClassificationReferenceSelect>(); } @@ -9098,13 +9098,13 @@ std::vector<::Ifc4x3_rc3::IfcRelAssociatesClassification> Ifc4x3_rc3::IfcClassif std::vector<::Ifc4x3_rc3::IfcClassificationReference> Ifc4x3_rc3::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[170], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[170]); } -void Ifc4x3_rc3::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_rc3::IfcClassificationReference Ifc4x3_rc3::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_rc3::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[173]); } -void Ifc4x3_rc3::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc3::IfcClosedShell Ifc4x3_rc3::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid double Ifc4x3_rc3::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } @@ -9112,7 +9112,7 @@ void Ifc4x3_rc3::IfcClothoid::setClothoidConstant(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc3::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[174]); } -void Ifc4x3_rc3::IfcClothoid::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3_rc3::IfcClothoid Ifc4x3_rc3::IfcClothoid::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > Ifc4x3_rc3::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9120,7 +9120,7 @@ void Ifc4x3_rc3::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[175]); } -void Ifc4x3_rc3::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCoil Ifc4x3_rc3::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_rc3::IfcCoilTypeEnum::Value Ifc4x3_rc3::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9128,7 +9128,7 @@ void Ifc4x3_rc3::IfcCoilType::setPredefinedType(const ::Ifc4x3_rc3::IfcCoilTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[176]); } -void Ifc4x3_rc3::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCoilType Ifc4x3_rc3::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_rc3::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9140,7 +9140,7 @@ void Ifc4x3_rc3::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc3::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[180]); } -void Ifc4x3_rc3::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_rc3::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9148,7 +9148,7 @@ void Ifc4x3_rc3::IfcColourRgbList::setColourList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4x3_rc3::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[181]); } -void Ifc4x3_rc3::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_rc3::IfcColourRgbList Ifc4x3_rc3::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_rc3::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9156,7 +9156,7 @@ void Ifc4x3_rc3::IfcColourSpecification::setName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc3::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[182]); } -void Ifc4x3_rc3::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcColourSpecification Ifc4x3_rc3::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > Ifc4x3_rc3::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9164,13 +9164,13 @@ void Ifc4x3_rc3::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[183]); } -void Ifc4x3_rc3::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcColumn Ifc4x3_rc3::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[184]); } -void Ifc4x3_rc3::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcColumnStandardCase Ifc4x3_rc3::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_rc3::IfcColumnTypeEnum::Value Ifc4x3_rc3::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9178,7 +9178,7 @@ void Ifc4x3_rc3::IfcColumnType::setPredefinedType(const ::Ifc4x3_rc3::IfcColumnT const ifcopenshell::entity& Ifc4x3_rc3::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[185]); } -void Ifc4x3_rc3::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcColumnType Ifc4x3_rc3::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9186,7 +9186,7 @@ void Ifc4x3_rc3::IfcCommunicationsAppliance::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc3::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[187]); } -void Ifc4x3_rc3::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCommunicationsAppliance Ifc4x3_rc3::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9194,7 +9194,7 @@ void Ifc4x3_rc3::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[188]); } -void Ifc4x3_rc3::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCommunicationsApplianceType Ifc4x3_rc3::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_rc3::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9204,7 +9204,7 @@ void Ifc4x3_rc3::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[191]); } -void Ifc4x3_rc3::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc3::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_rc3::IfcComplexProperty Ifc4x3_rc3::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc3::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_rc3::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9216,7 +9216,7 @@ void Ifc4x3_rc3::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[192]); } -void Ifc4x3_rc3::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_rc3::IfcComplexPropertyTemplate Ifc4x3_rc3::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_rc3::IfcSegment > Ifc4x3_rc3::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcSegment>(es); } @@ -9226,13 +9226,13 @@ void Ifc4x3_rc3::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[194]); } -void Ifc4x3_rc3::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc3::IfcCompositeCurve Ifc4x3_rc3::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[195]); } -void Ifc4x3_rc3::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc3::IfcCompositeCurveOnSurface Ifc4x3_rc3::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_rc3::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9242,7 +9242,7 @@ void Ifc4x3_rc3::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[196]); } -void Ifc4x3_rc3::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_rc3::IfcCompositeCurveSegment Ifc4x3_rc3::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_rc3::IfcProfileDef > Ifc4x3_rc3::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcProfileDef>(es); } @@ -9252,7 +9252,7 @@ void Ifc4x3_rc3::IfcCompositeProfileDef::setLabel(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_rc3::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[197]); } -void Ifc4x3_rc3::IfcCompositeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_rc3::IfcCompositeProfileDef Ifc4x3_rc3::IfcCompositeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > Ifc4x3_rc3::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9260,7 +9260,7 @@ void Ifc4x3_rc3::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[199]); } -void Ifc4x3_rc3::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCompressor Ifc4x3_rc3::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value Ifc4x3_rc3::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9268,7 +9268,7 @@ void Ifc4x3_rc3::IfcCompressorType::setPredefinedType(const ::Ifc4x3_rc3::IfcCom const ifcopenshell::entity& Ifc4x3_rc3::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[200]); } -void Ifc4x3_rc3::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCompressorType Ifc4x3_rc3::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > Ifc4x3_rc3::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9276,7 +9276,7 @@ void Ifc4x3_rc3::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[202]); } -void Ifc4x3_rc3::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCondenser Ifc4x3_rc3::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value Ifc4x3_rc3::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9284,7 +9284,7 @@ void Ifc4x3_rc3::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc3::IfcCond const ifcopenshell::entity& Ifc4x3_rc3::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[203]); } -void Ifc4x3_rc3::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCondenserType Ifc4x3_rc3::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } @@ -9292,7 +9292,7 @@ void Ifc4x3_rc3::IfcConic::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[205]); } -void Ifc4x3_rc3::IfcConic::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc3::IfcConic Ifc4x3_rc3::IfcConic::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_rc3::IfcFace > Ifc4x3_rc3::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcFace>(es); } @@ -9300,7 +9300,7 @@ void Ifc4x3_rc3::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[206]); } -void Ifc4x3_rc3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc3::IfcConnectedFaceSet Ifc4x3_rc3::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_rc3::IfcCurveOrEdgeCurve Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(); } @@ -9310,13 +9310,13 @@ void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[207]); } -void Ifc4x3_rc3::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_rc3::IfcConnectionCurveGeometry Ifc4x3_rc3::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[208]); } -void Ifc4x3_rc3::IfcConnectionGeometry::initialize() { } +Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9328,7 +9328,7 @@ void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInZ(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[209]); } -void Ifc4x3_rc3::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_rc3::IfcConnectionPointEccentricity Ifc4x3_rc3::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_rc3::IfcPointOrVertexPoint Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(); } @@ -9338,7 +9338,7 @@ void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[210]); } -void Ifc4x3_rc3::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_rc3::IfcConnectionPointGeometry Ifc4x3_rc3::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(); } @@ -9348,7 +9348,7 @@ void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[211]); } -void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_rc3::IfcConnectionSurfaceGeometry Ifc4x3_rc3::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_rc3::IfcSolidOrShell Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSolidOrShell>(); } @@ -9358,7 +9358,7 @@ void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const :: const ifcopenshell::entity& Ifc4x3_rc3::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[213]); } -void Ifc4x3_rc3::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc3::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_rc3::IfcConnectionVolumeGeometry Ifc4x3_rc3::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc3::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_rc3::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9380,7 +9380,7 @@ std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConst std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[962], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[214]); } -void Ifc4x3_rc3::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_rc3::IfcConstraint Ifc4x3_rc3::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9388,7 +9388,7 @@ void Ifc4x3_rc3::IfcConstructionEquipmentResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[216]); } -void Ifc4x3_rc3::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcConstructionEquipmentResource Ifc4x3_rc3::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9396,7 +9396,7 @@ void Ifc4x3_rc3::IfcConstructionEquipmentResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[217]); } -void Ifc4x3_rc3::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcConstructionEquipmentResourceType Ifc4x3_rc3::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9404,7 +9404,7 @@ void Ifc4x3_rc3::IfcConstructionMaterialResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[219]); } -void Ifc4x3_rc3::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcConstructionMaterialResource Ifc4x3_rc3::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9412,7 +9412,7 @@ void Ifc4x3_rc3::IfcConstructionMaterialResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[220]); } -void Ifc4x3_rc3::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcConstructionMaterialResourceType Ifc4x3_rc3::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9420,7 +9420,7 @@ void Ifc4x3_rc3::IfcConstructionProductResource::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[222]); } -void Ifc4x3_rc3::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcConstructionProductResource Ifc4x3_rc3::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9428,7 +9428,7 @@ void Ifc4x3_rc3::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[223]); } -void Ifc4x3_rc3::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcConstructionProductResourceType Ifc4x3_rc3::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_rc3::IfcResourceTime Ifc4x3_rc3::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcResourceTime>(); } @@ -9440,7 +9440,7 @@ void Ifc4x3_rc3::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[225]); } -void Ifc4x3_rc3::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_rc3::IfcConstructionResource Ifc4x3_rc3::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > Ifc4x3_rc3::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc3::IfcAppliedValue>(es); } @@ -9450,7 +9450,7 @@ void Ifc4x3_rc3::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[226]); } -void Ifc4x3_rc3::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_rc3::IfcConstructionResourceType Ifc4x3_rc3::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_rc3::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9468,7 +9468,7 @@ std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcContext::IsD std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[935], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[227]); } -void Ifc4x3_rc3::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc3::IfcContext Ifc4x3_rc3::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_rc3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9477,7 +9477,7 @@ void Ifc4x3_rc3::IfcContextDependentUnit::setName(const std::string& v) { set_at std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[229]); } -void Ifc4x3_rc3::IfcContextDependentUnit::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_rc3::IfcContextDependentUnit Ifc4x3_rc3::IfcContextDependentUnit::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_rc3::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9486,7 +9486,7 @@ void Ifc4x3_rc3::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_rc3::IfcRelAssignsToControl> Ifc4x3_rc3::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[908], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[230]); } -void Ifc4x3_rc3::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_rc3::IfcControl Ifc4x3_rc3::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > Ifc4x3_rc3::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9494,7 +9494,7 @@ void Ifc4x3_rc3::IfcController::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[231]); } -void Ifc4x3_rc3::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcController Ifc4x3_rc3::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_rc3::IfcControllerTypeEnum::Value Ifc4x3_rc3::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9502,7 +9502,7 @@ void Ifc4x3_rc3::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc3::IfcCon const ifcopenshell::entity& Ifc4x3_rc3::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[232]); } -void Ifc4x3_rc3::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcControllerType Ifc4x3_rc3::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc3::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9513,7 +9513,7 @@ void Ifc4x3_rc3::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc3: std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[234]); } -void Ifc4x3_rc3::IfcConversionBasedUnit::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_rc3::IfcConversionBasedUnit Ifc4x3_rc3::IfcConversionBasedUnit::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9521,7 +9521,7 @@ void Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::setConversionOffset(const dou const ifcopenshell::entity& Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[235]); } -void Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_rc3::IfcConversionBasedUnitWithOffset Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc3::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9529,7 +9529,7 @@ void Ifc4x3_rc3::IfcConveyorSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[236]); } -void Ifc4x3_rc3::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcConveyorSegment Ifc4x3_rc3::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc3::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9537,7 +9537,7 @@ void Ifc4x3_rc3::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[237]); } -void Ifc4x3_rc3::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcConveyorSegmentType Ifc4x3_rc3::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc3::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9545,7 +9545,7 @@ void Ifc4x3_rc3::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[239]); } -void Ifc4x3_rc3::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCooledBeam Ifc4x3_rc3::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value Ifc4x3_rc3::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9553,7 +9553,7 @@ void Ifc4x3_rc3::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_rc3::IfcCoo const ifcopenshell::entity& Ifc4x3_rc3::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[240]); } -void Ifc4x3_rc3::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCooledBeamType Ifc4x3_rc3::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc3::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9561,7 +9561,7 @@ void Ifc4x3_rc3::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[242]); } -void Ifc4x3_rc3::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCoolingTower Ifc4x3_rc3::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9569,7 +9569,7 @@ void Ifc4x3_rc3::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[243]); } -void Ifc4x3_rc3::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCoolingTowerType Ifc4x3_rc3::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect Ifc4x3_rc3::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect>(); } @@ -9579,7 +9579,7 @@ void Ifc4x3_rc3::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc3::IfcCoo const ifcopenshell::entity& Ifc4x3_rc3::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[245]); } -void Ifc4x3_rc3::IfcCoordinateOperation::initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_rc3::IfcCoordinateOperation Ifc4x3_rc3::IfcCoordinateOperation::initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x3_rc3::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9594,7 +9594,7 @@ void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optio std::vector<::Ifc4x3_rc3::IfcCoordinateOperation> Ifc4x3_rc3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[245], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[246]); } -void Ifc4x3_rc3::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x3_rc3::IfcCoordinateReferenceSystem Ifc4x3_rc3::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCosine double Ifc4x3_rc3::IfcCosine::CosineTerm() const { double v = get_attribute_value(1); return v; } @@ -9604,7 +9604,7 @@ void Ifc4x3_rc3::IfcCosine::setConstantTerm(const double& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc3::IfcCosine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[248]); } -void Ifc4x3_rc3::IfcCosine::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_CosineTerm, double v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm));set_attribute_value(2, (v3_ConstantTerm)); } +Ifc4x3_rc3::IfcCosine Ifc4x3_rc3::IfcCosine::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_CosineTerm, double v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm));set_attribute_value(2, (v3_ConstantTerm));; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > Ifc4x3_rc3::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9616,7 +9616,7 @@ void Ifc4x3_rc3::IfcCostItem::setCostQuantities(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3_rc3::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[249]); } -void Ifc4x3_rc3::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_rc3::IfcCostItem Ifc4x3_rc3::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc3::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9630,13 +9630,13 @@ void Ifc4x3_rc3::IfcCostSchedule::setUpdateDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[251]); } -void Ifc4x3_rc3::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_rc3::IfcCostSchedule Ifc4x3_rc3::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_rc3::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[253]); } -void Ifc4x3_rc3::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc3::IfcCostValue Ifc4x3_rc3::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > Ifc4x3_rc3::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9644,7 +9644,7 @@ void Ifc4x3_rc3::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[255]); } -void Ifc4x3_rc3::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCourse Ifc4x3_rc3::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_rc3::IfcCourseTypeEnum::Value Ifc4x3_rc3::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9652,7 +9652,7 @@ void Ifc4x3_rc3::IfcCourseType::setPredefinedType(const ::Ifc4x3_rc3::IfcCourseT const ifcopenshell::entity& Ifc4x3_rc3::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[256]); } -void Ifc4x3_rc3::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCourseType Ifc4x3_rc3::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > Ifc4x3_rc3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9662,7 +9662,7 @@ std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcCovering::CoversSpa std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[258]); } -void Ifc4x3_rc3::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCovering Ifc4x3_rc3::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value Ifc4x3_rc3::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9670,7 +9670,7 @@ void Ifc4x3_rc3::IfcCoveringType::setPredefinedType(const ::Ifc4x3_rc3::IfcCover const ifcopenshell::entity& Ifc4x3_rc3::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[259]); } -void Ifc4x3_rc3::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCoveringType Ifc4x3_rc3::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc3::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9678,7 +9678,7 @@ void Ifc4x3_rc3::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[261]); } -void Ifc4x3_rc3::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcCrewResource Ifc4x3_rc3::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value Ifc4x3_rc3::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9686,7 +9686,7 @@ void Ifc4x3_rc3::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc3::IfcC const ifcopenshell::entity& Ifc4x3_rc3::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[262]); } -void Ifc4x3_rc3::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcCrewResourceType Ifc4x3_rc3::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } @@ -9694,7 +9694,7 @@ void Ifc4x3_rc3::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc3::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc3::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[264]); } -void Ifc4x3_rc3::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc3::IfcCsgPrimitive3D Ifc4x3_rc3::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_rc3::IfcCsgSelect Ifc4x3_rc3::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCsgSelect>(); } @@ -9702,7 +9702,7 @@ void Ifc4x3_rc3::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc3::IfcCsgSe const ifcopenshell::entity& Ifc4x3_rc3::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[266]); } -void Ifc4x3_rc3::IfcCsgSolid::initialize(::Ifc4x3_rc3::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_rc3::IfcCsgSolid Ifc4x3_rc3::IfcCsgSolid::initialize(::Ifc4x3_rc3::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_rc3::IfcMonetaryUnit Ifc4x3_rc3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMonetaryUnit>(); } @@ -9718,7 +9718,7 @@ void Ifc4x3_rc3::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc3::IfcL const ifcopenshell::entity& Ifc4x3_rc3::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[268]); } -void Ifc4x3_rc3::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc3::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_rc3::IfcCurrencyRelationship Ifc4x3_rc3::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc3::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc3::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9726,7 +9726,7 @@ void Ifc4x3_rc3::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[269]); } -void Ifc4x3_rc3::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcCurtainWall Ifc4x3_rc3::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value Ifc4x3_rc3::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9734,13 +9734,13 @@ void Ifc4x3_rc3::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc3::IfcCu const ifcopenshell::entity& Ifc4x3_rc3::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[270]); } -void Ifc4x3_rc3::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcCurtainWallType Ifc4x3_rc3::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_rc3::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[273]); } -void Ifc4x3_rc3::IfcCurve::initialize() { } +Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_rc3::IfcPlane Ifc4x3_rc3::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPlane>(); } @@ -9752,7 +9752,7 @@ void Ifc4x3_rc3::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[274]); } -void Ifc4x3_rc3::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc3::IfcPlane v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc3::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_rc3::IfcCurveBoundedPlane Ifc4x3_rc3::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc3::IfcPlane v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc3::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -9764,7 +9764,7 @@ void Ifc4x3_rc3::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[275]); } -void Ifc4x3_rc3::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_rc3::IfcCurveBoundedSurface Ifc4x3_rc3::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcCurveSegment::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcPlacement>(); } @@ -9778,7 +9778,7 @@ void Ifc4x3_rc3::IfcCurveSegment::setParentCurve(const ::Ifc4x3_rc3::IfcCurve& v const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[281]); } -void Ifc4x3_rc3::IfcCurveSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve)); } +Ifc4x3_rc3::IfcCurveSegment Ifc4x3_rc3::IfcCurveSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_rc3::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9792,7 +9792,7 @@ void Ifc4x3_rc3::IfcCurveStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[282]); } -void Ifc4x3_rc3::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc3::IfcCurveStyle Ifc4x3_rc3::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9802,7 +9802,7 @@ void Ifc4x3_rc3::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[283]); } -void Ifc4x3_rc3::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_rc3::IfcCurveStyleFont Ifc4x3_rc3::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9814,7 +9814,7 @@ void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[284]); } -void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_rc3::IfcCurveStyleFontAndScaling Ifc4x3_rc3::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_rc3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9824,7 +9824,7 @@ void Ifc4x3_rc3::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doubl const ifcopenshell::entity& Ifc4x3_rc3::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[285]); } -void Ifc4x3_rc3::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_rc3::IfcCurveStyleFontPattern Ifc4x3_rc3::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_rc3::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9832,7 +9832,7 @@ void Ifc4x3_rc3::IfcCylindricalSurface::setRadius(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc3::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[287]); } -void Ifc4x3_rc3::IfcCylindricalSurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc3::IfcCylindricalSurface Ifc4x3_rc3::IfcCylindricalSurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > Ifc4x3_rc3::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9840,7 +9840,7 @@ void Ifc4x3_rc3::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[288]); } -void Ifc4x3_rc3::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDamper Ifc4x3_rc3::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_rc3::IfcDamperTypeEnum::Value Ifc4x3_rc3::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9848,19 +9848,19 @@ void Ifc4x3_rc3::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc3::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc3::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[289]); } -void Ifc4x3_rc3::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDamperType Ifc4x3_rc3::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_rc3::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[296]); } -void Ifc4x3_rc3::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcDeepFoundation Ifc4x3_rc3::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_rc3::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[297]); } -void Ifc4x3_rc3::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcDeepFoundationType Ifc4x3_rc3::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -9872,7 +9872,7 @@ void Ifc4x3_rc3::IfcDerivedProfileDef::setLabel(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[300]); } -void Ifc4x3_rc3::IfcDerivedProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc3::IfcDerivedProfileDef Ifc4x3_rc3::IfcDerivedProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > Ifc4x3_rc3::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcDerivedUnitElement>(es); } @@ -9884,7 +9884,7 @@ void Ifc4x3_rc3::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc3::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[301]); } -void Ifc4x3_rc3::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4x3_rc3::IfcDerivedUnit Ifc4x3_rc3::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_rc3::IfcNamedUnit Ifc4x3_rc3::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcNamedUnit>(); } @@ -9894,7 +9894,7 @@ void Ifc4x3_rc3::IfcDerivedUnitElement::setExponent(const int& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc3::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[302]); } -void Ifc4x3_rc3::IfcDerivedUnitElement::initialize(::Ifc4x3_rc3::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_rc3::IfcDerivedUnitElement Ifc4x3_rc3::IfcDerivedUnitElement::initialize(::Ifc4x3_rc3::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_rc3::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9914,7 +9914,7 @@ void Ifc4x3_rc3::IfcDimensionalExponents::setLuminousIntensityExponent(const int const ifcopenshell::entity& Ifc4x3_rc3::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[305]); } -void Ifc4x3_rc3::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_rc3::IfcDimensionalExponents Ifc4x3_rc3::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_rc3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9922,7 +9922,7 @@ void Ifc4x3_rc3::IfcDirection::setDirectionRatios(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc3::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[307]); } -void Ifc4x3_rc3::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -9934,13 +9934,13 @@ void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[309]); } -void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid const ifcopenshell::entity& Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[310]); } -void Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcDirectrixDistanceSweptAreaSolid ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -9952,7 +9952,7 @@ void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[311]); } -void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); } +Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc3::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9960,7 +9960,7 @@ void Ifc4x3_rc3::IfcDiscreteAccessory::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[312]); } -void Ifc4x3_rc3::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDiscreteAccessory Ifc4x3_rc3::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc3::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9968,7 +9968,7 @@ void Ifc4x3_rc3::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[313]); } -void Ifc4x3_rc3::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDiscreteAccessoryType Ifc4x3_rc3::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9976,7 +9976,7 @@ void Ifc4x3_rc3::IfcDistributionBoard::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[315]); } -void Ifc4x3_rc3::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDistributionBoard Ifc4x3_rc3::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9984,7 +9984,7 @@ void Ifc4x3_rc3::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[316]); } -void Ifc4x3_rc3::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDistributionBoardType Ifc4x3_rc3::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc3::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9992,7 +9992,7 @@ void Ifc4x3_rc3::IfcDistributionChamberElement::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[318]); } -void Ifc4x3_rc3::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDistributionChamberElement Ifc4x3_rc3::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -10000,52 +10000,52 @@ void Ifc4x3_rc3::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[319]); } -void Ifc4x3_rc3::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDistributionChamberElementType Ifc4x3_rc3::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[321]); } -void Ifc4x3_rc3::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc3::IfcDistributionCircuit Ifc4x3_rc3::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[943], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[322]); } -void Ifc4x3_rc3::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcDistributionControlElement Ifc4x3_rc3::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[323]); } -void Ifc4x3_rc3::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcDistributionControlElementType Ifc4x3_rc3::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_rc3::IfcRelConnectsPortToElement> Ifc4x3_rc3::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[927], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[324]); } -void Ifc4x3_rc3::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcDistributionElement Ifc4x3_rc3::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[325]); } -void Ifc4x3_rc3::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcDistributionElementType Ifc4x3_rc3::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_rc3::IfcRelFlowControlElements> Ifc4x3_rc3::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[943], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[326]); } -void Ifc4x3_rc3::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcDistributionFlowElement Ifc4x3_rc3::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[327]); } -void Ifc4x3_rc3::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcDistributionFlowElementType Ifc4x3_rc3::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > Ifc4x3_rc3::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -10057,7 +10057,7 @@ void Ifc4x3_rc3::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[328]); } -void Ifc4x3_rc3::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_rc3::IfcDistributionPort Ifc4x3_rc3::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_rc3::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -10067,7 +10067,7 @@ void Ifc4x3_rc3::IfcDistributionSystem::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc3::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[330]); } -void Ifc4x3_rc3::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc3::IfcDistributionSystem Ifc4x3_rc3::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_rc3::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10111,7 +10111,7 @@ std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDoc std::vector<::Ifc4x3_rc3::IfcDocumentInformationRelationship> Ifc4x3_rc3::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[334], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[333]); } -void Ifc4x3_rc3::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_rc3::IfcDocumentInformation Ifc4x3_rc3::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc3::IfcDocumentInformation Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDocumentInformation>(); } @@ -10123,7 +10123,7 @@ void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelationshipType(const s const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[334]); } -void Ifc4x3_rc3::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_rc3::IfcDocumentInformationRelationship Ifc4x3_rc3::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_rc3::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10134,7 +10134,7 @@ void Ifc4x3_rc3::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc3: std::vector<::Ifc4x3_rc3::IfcRelAssociatesDocument> Ifc4x3_rc3::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[918], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[335]); } -void Ifc4x3_rc3::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_rc3::IfcDocumentReference Ifc4x3_rc3::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_rc3::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10150,7 +10150,7 @@ void Ifc4x3_rc3::IfcDoor::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[338]); } -void Ifc4x3_rc3::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc3::IfcDoor Ifc4x3_rc3::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10182,7 +10182,7 @@ void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::opt const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[339]); } -void Ifc4x3_rc3::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_rc3::IfcDoorLiningProperties Ifc4x3_rc3::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10198,13 +10198,13 @@ void Ifc4x3_rc3::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[342]); } -void Ifc4x3_rc3::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc3::IfcDoorPanelProperties Ifc4x3_rc3::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[343]); } -void Ifc4x3_rc3::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc3::IfcDoorStandardCase Ifc4x3_rc3::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value Ifc4x3_rc3::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -10218,7 +10218,7 @@ void Ifc4x3_rc3::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[344]); } -void Ifc4x3_rc3::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc3::IfcDoorStyle Ifc4x3_rc3::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_rc3::IfcDoorTypeEnum::Value Ifc4x3_rc3::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10232,19 +10232,19 @@ void Ifc4x3_rc3::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc3::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[347]); } -void Ifc4x3_rc3::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc3::IfcDoorType Ifc4x3_rc3::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[351]); } -void Ifc4x3_rc3::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc3::IfcDraughtingPreDefinedColour Ifc4x3_rc3::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[352]); } -void Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc3::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10252,7 +10252,7 @@ void Ifc4x3_rc3::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[353]); } -void Ifc4x3_rc3::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDuctFitting Ifc4x3_rc3::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value Ifc4x3_rc3::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10260,7 +10260,7 @@ void Ifc4x3_rc3::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_rc3::IfcDu const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[354]); } -void Ifc4x3_rc3::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDuctFittingType Ifc4x3_rc3::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc3::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10268,7 +10268,7 @@ void Ifc4x3_rc3::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[356]); } -void Ifc4x3_rc3::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDuctSegment Ifc4x3_rc3::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10276,7 +10276,7 @@ void Ifc4x3_rc3::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcDu const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[357]); } -void Ifc4x3_rc3::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDuctSegmentType Ifc4x3_rc3::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc3::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10284,7 +10284,7 @@ void Ifc4x3_rc3::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[359]); } -void Ifc4x3_rc3::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcDuctSilencer Ifc4x3_rc3::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10292,7 +10292,7 @@ void Ifc4x3_rc3::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_rc3::IfcD const ifcopenshell::entity& Ifc4x3_rc3::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[360]); } -void Ifc4x3_rc3::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcDuctSilencerType Ifc4x3_rc3::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10300,13 +10300,13 @@ void Ifc4x3_rc3::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[364]); } -void Ifc4x3_rc3::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcEarthworksCut Ifc4x3_rc3::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[366]); } -void Ifc4x3_rc3::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcEarthworksElement Ifc4x3_rc3::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10314,7 +10314,7 @@ void Ifc4x3_rc3::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[367]); } -void Ifc4x3_rc3::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcEarthworksFill Ifc4x3_rc3::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcVertex>(); } @@ -10324,7 +10324,7 @@ void Ifc4x3_rc3::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc3::IfcVertex& v) { set_att const ifcopenshell::entity& Ifc4x3_rc3::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[369]); } -void Ifc4x3_rc3::IfcEdge::initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_rc3::IfcEdge Ifc4x3_rc3::IfcEdge::initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -10334,7 +10334,7 @@ void Ifc4x3_rc3::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc3::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[370]); } -void Ifc4x3_rc3::IfcEdgeCurve::initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_rc3::IfcEdgeCurve Ifc4x3_rc3::IfcEdgeCurve::initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > Ifc4x3_rc3::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcOrientedEdge>(es); } @@ -10342,7 +10342,7 @@ void Ifc4x3_rc3::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOr const ifcopenshell::entity& Ifc4x3_rc3::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[371]); } -void Ifc4x3_rc3::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc3::IfcEdgeLoop Ifc4x3_rc3::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc3::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10350,7 +10350,7 @@ void Ifc4x3_rc3::IfcElectricAppliance::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[372]); } -void Ifc4x3_rc3::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricAppliance Ifc4x3_rc3::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10358,7 +10358,7 @@ void Ifc4x3_rc3::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[373]); } -void Ifc4x3_rc3::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricApplianceType Ifc4x3_rc3::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10366,7 +10366,7 @@ void Ifc4x3_rc3::IfcElectricDistributionBoard::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[379]); } -void Ifc4x3_rc3::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricDistributionBoard Ifc4x3_rc3::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10374,7 +10374,7 @@ void Ifc4x3_rc3::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[380]); } -void Ifc4x3_rc3::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricDistributionBoardType Ifc4x3_rc3::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10382,7 +10382,7 @@ void Ifc4x3_rc3::IfcElectricFlowStorageDevice::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[382]); } -void Ifc4x3_rc3::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricFlowStorageDevice Ifc4x3_rc3::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10390,7 +10390,7 @@ void Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[383]); } -void Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricFlowStorageDeviceType Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10398,7 +10398,7 @@ void Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[385]); } -void Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricFlowTreatmentDevice Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10406,7 +10406,7 @@ void Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[386]); } -void Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc3::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10414,7 +10414,7 @@ void Ifc4x3_rc3::IfcElectricGenerator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[388]); } -void Ifc4x3_rc3::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricGenerator Ifc4x3_rc3::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10422,7 +10422,7 @@ void Ifc4x3_rc3::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[389]); } -void Ifc4x3_rc3::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricGeneratorType Ifc4x3_rc3::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc3::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10430,7 +10430,7 @@ void Ifc4x3_rc3::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[391]); } -void Ifc4x3_rc3::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricMotor Ifc4x3_rc3::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value Ifc4x3_rc3::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10438,7 +10438,7 @@ void Ifc4x3_rc3::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[392]); } -void Ifc4x3_rc3::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricMotorType Ifc4x3_rc3::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc3::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10446,7 +10446,7 @@ void Ifc4x3_rc3::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[395]); } -void Ifc4x3_rc3::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcElectricTimeControl Ifc4x3_rc3::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10454,7 +10454,7 @@ void Ifc4x3_rc3::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[396]); } -void Ifc4x3_rc3::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElectricTimeControlType Ifc4x3_rc3::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_rc3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10473,7 +10473,7 @@ std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcElem std::vector<::Ifc4x3_rc3::IfcRelCoversBldgElements> Ifc4x3_rc3::IfcElement::HasCoverings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[933], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[399]); } -void Ifc4x3_rc3::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc3::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10483,7 +10483,7 @@ void Ifc4x3_rc3::IfcElementAssembly::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[401]); } -void Ifc4x3_rc3::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcElementAssembly Ifc4x3_rc3::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc3::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10491,19 +10491,19 @@ void Ifc4x3_rc3::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[402]); } -void Ifc4x3_rc3::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcElementAssemblyType Ifc4x3_rc3::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_rc3::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[404]); } -void Ifc4x3_rc3::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcElementComponent Ifc4x3_rc3::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_rc3::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[405]); } -void Ifc4x3_rc3::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcElementComponentType Ifc4x3_rc3::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_rc3::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10513,7 +10513,7 @@ void Ifc4x3_rc3::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[407]); } -void Ifc4x3_rc3::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_rc3::IfcElementQuantity Ifc4x3_rc3::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_rc3::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10521,7 +10521,7 @@ void Ifc4x3_rc3::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[408]); } -void Ifc4x3_rc3::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcElementType Ifc4x3_rc3::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } @@ -10529,7 +10529,7 @@ void Ifc4x3_rc3::IfcElementarySurface::setPosition(const ::Ifc4x3_rc3::IfcAxis2P const ifcopenshell::entity& Ifc4x3_rc3::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[400]); } -void Ifc4x3_rc3::IfcElementarySurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc3::IfcElementarySurface Ifc4x3_rc3::IfcElementarySurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_rc3::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10539,7 +10539,7 @@ void Ifc4x3_rc3::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc3::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[409]); } -void Ifc4x3_rc3::IfcEllipse::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_rc3::IfcEllipse Ifc4x3_rc3::IfcEllipse::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_rc3::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10549,19 +10549,19 @@ void Ifc4x3_rc3::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc3::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[410]); } -void Ifc4x3_rc3::IfcEllipseProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_rc3::IfcEllipseProfileDef Ifc4x3_rc3::IfcEllipseProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_rc3::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[411]); } -void Ifc4x3_rc3::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcEnergyConversionDevice Ifc4x3_rc3::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_rc3::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[412]); } -void Ifc4x3_rc3::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcEnergyConversionDeviceType Ifc4x3_rc3::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > Ifc4x3_rc3::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10569,7 +10569,7 @@ void Ifc4x3_rc3::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[414]); } -void Ifc4x3_rc3::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcEngine Ifc4x3_rc3::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_rc3::IfcEngineTypeEnum::Value Ifc4x3_rc3::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10577,7 +10577,7 @@ void Ifc4x3_rc3::IfcEngineType::setPredefinedType(const ::Ifc4x3_rc3::IfcEngineT const ifcopenshell::entity& Ifc4x3_rc3::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[415]); } -void Ifc4x3_rc3::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcEngineType Ifc4x3_rc3::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc3::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10585,7 +10585,7 @@ void Ifc4x3_rc3::IfcEvaporativeCooler::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[417]); } -void Ifc4x3_rc3::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcEvaporativeCooler Ifc4x3_rc3::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10593,7 +10593,7 @@ void Ifc4x3_rc3::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[418]); } -void Ifc4x3_rc3::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcEvaporativeCoolerType Ifc4x3_rc3::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc3::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10601,7 +10601,7 @@ void Ifc4x3_rc3::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[420]); } -void Ifc4x3_rc3::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcEvaporator Ifc4x3_rc3::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value Ifc4x3_rc3::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10609,7 +10609,7 @@ void Ifc4x3_rc3::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_rc3::IfcEva const ifcopenshell::entity& Ifc4x3_rc3::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[421]); } -void Ifc4x3_rc3::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcEvaporatorType Ifc4x3_rc3::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > Ifc4x3_rc3::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10623,7 +10623,7 @@ void Ifc4x3_rc3::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc3::IfcEventTim const ifcopenshell::entity& Ifc4x3_rc3::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[423]); } -void Ifc4x3_rc3::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc3::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_rc3::IfcEvent Ifc4x3_rc3::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc3::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_rc3::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10637,7 +10637,7 @@ void Ifc4x3_rc3::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[424]); } -void Ifc4x3_rc3::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_rc3::IfcEventTime Ifc4x3_rc3::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_rc3::IfcEventTypeEnum::Value Ifc4x3_rc3::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10649,7 +10649,7 @@ void Ifc4x3_rc3::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[426]); } -void Ifc4x3_rc3::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_rc3::IfcEventType Ifc4x3_rc3::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10661,13 +10661,13 @@ void Ifc4x3_rc3::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[428]); } -void Ifc4x3_rc3::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_rc3::IfcExtendedProperties Ifc4x3_rc3::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[429]); } -void Ifc4x3_rc3::IfcExternalInformation::initialize() { } +Ifc4x3_rc3::IfcExternalInformation Ifc4x3_rc3::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10680,7 +10680,7 @@ void Ifc4x3_rc3::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[433]); } -void Ifc4x3_rc3::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc3::IfcExternalReference Ifc4x3_rc3::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc3::IfcExternalReference Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcExternalReference>(); } @@ -10690,7 +10690,7 @@ void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(con const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[434]); } -void Ifc4x3_rc3::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc3::IfcExternalReferenceRelationship Ifc4x3_rc3::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc3::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10699,31 +10699,31 @@ void Ifc4x3_rc3::IfcExternalSpatialElement::setPredefinedType(const std::optiona std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[951], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[435]); } -void Ifc4x3_rc3::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcExternalSpatialElement Ifc4x3_rc3::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_rc3::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[437]); } -void Ifc4x3_rc3::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc3::IfcExternalSpatialStructureElement Ifc4x3_rc3::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[430]); } -void Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc3::IfcExternallyDefinedHatchStyle Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[431]); } -void Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc3::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[432]); } -void Ifc4x3_rc3::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc3::IfcExternallyDefinedTextFont Ifc4x3_rc3::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -10733,7 +10733,7 @@ void Ifc4x3_rc3::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc3::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[438]); } -void Ifc4x3_rc3::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc3::IfcExtrudedAreaSolid Ifc4x3_rc3::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -10741,7 +10741,7 @@ void Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[439]); } -void Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc3::IfcExtrudedAreaSolidTapered Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_rc3::IfcFaceBound > Ifc4x3_rc3::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcFaceBound>(es); } @@ -10750,7 +10750,7 @@ void Ifc4x3_rc3::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc3::IfcFaceBoun std::vector<::Ifc4x3_rc3::IfcTextureMap> Ifc4x3_rc3::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1199], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[440]); } -void Ifc4x3_rc3::IfcFace::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_rc3::IfcFace Ifc4x3_rc3::IfcFace::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > Ifc4x3_rc3::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcConnectedFaceSet>(es); } @@ -10758,7 +10758,7 @@ void Ifc4x3_rc3::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[441]); } -void Ifc4x3_rc3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_rc3::IfcFaceBasedSurfaceModel Ifc4x3_rc3::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_rc3::IfcLoop Ifc4x3_rc3::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcLoop>(); } @@ -10768,13 +10768,13 @@ void Ifc4x3_rc3::IfcFaceBound::setOrientation(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[442]); } -void Ifc4x3_rc3::IfcFaceBound::initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc3::IfcFaceBound Ifc4x3_rc3::IfcFaceBound::initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[443]); } -void Ifc4x3_rc3::IfcFaceOuterBound::initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc3::IfcFaceOuterBound Ifc4x3_rc3::IfcFaceOuterBound::initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -10784,13 +10784,13 @@ void Ifc4x3_rc3::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc3::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[444]); } -void Ifc4x3_rc3::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc3::IfcFaceSurface Ifc4x3_rc3::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_rc3::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[445]); } -void Ifc4x3_rc3::IfcFacetedBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc3::IfcFacetedBrep Ifc4x3_rc3::IfcFacetedBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_rc3::IfcClosedShell > Ifc4x3_rc3::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcClosedShell>(es); } @@ -10798,13 +10798,13 @@ void Ifc4x3_rc3::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[446]); } -void Ifc4x3_rc3::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc3::IfcFacetedBrepWithVoids Ifc4x3_rc3::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_rc3::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[447]); } -void Ifc4x3_rc3::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc3::IfcFacility Ifc4x3_rc3::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_rc3::IfcFacilityPartTypeSelect Ifc4x3_rc3::IfcFacilityPart::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcFacilityPartTypeSelect>(); } @@ -10814,7 +10814,7 @@ void Ifc4x3_rc3::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc3::IfcFacilityUs const ifcopenshell::entity& Ifc4x3_rc3::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[448]); } -void Ifc4x3_rc3::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc3::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType))); } +Ifc4x3_rc3::IfcFacilityPart Ifc4x3_rc3::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc3::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10832,7 +10832,7 @@ void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureZ(const std const ifcopenshell::entity& Ifc4x3_rc3::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[452]); } -void Ifc4x3_rc3::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_rc3::IfcFailureConnectionCondition Ifc4x3_rc3::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > Ifc4x3_rc3::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10840,7 +10840,7 @@ void Ifc4x3_rc3::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[453]); } -void Ifc4x3_rc3::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFan Ifc4x3_rc3::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_rc3::IfcFanTypeEnum::Value Ifc4x3_rc3::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10848,7 +10848,7 @@ void Ifc4x3_rc3::IfcFanType::setPredefinedType(const ::Ifc4x3_rc3::IfcFanTypeEnu const ifcopenshell::entity& Ifc4x3_rc3::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[454]); } -void Ifc4x3_rc3::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFanType Ifc4x3_rc3::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > Ifc4x3_rc3::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10856,7 +10856,7 @@ void Ifc4x3_rc3::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[456]); } -void Ifc4x3_rc3::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFastener Ifc4x3_rc3::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value Ifc4x3_rc3::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10864,27 +10864,27 @@ void Ifc4x3_rc3::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc3::IfcFaste const ifcopenshell::entity& Ifc4x3_rc3::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[457]); } -void Ifc4x3_rc3::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFastenerType Ifc4x3_rc3::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[459]); } -void Ifc4x3_rc3::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFeatureElement Ifc4x3_rc3::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_rc3::IfcRelProjectsElement> Ifc4x3_rc3::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[947], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[460]); } -void Ifc4x3_rc3::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFeatureElementAddition Ifc4x3_rc3::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_rc3::IfcRelVoidsElement> Ifc4x3_rc3::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[954], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[461]); } -void Ifc4x3_rc3::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFeatureElementSubtraction Ifc4x3_rc3::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcFillStyleSelect>(es); } @@ -10894,7 +10894,7 @@ void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(const std::optional< boo const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[462]); } -void Ifc4x3_rc3::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3_rc3::IfcFillAreaStyle Ifc4x3_rc3::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc3::IfcCurveStyle Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurveStyle>(); } @@ -10910,7 +10910,7 @@ void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[463]); } -void Ifc4x3_rc3::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_rc3::IfcFillAreaStyleHatching Ifc4x3_rc3::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_rc3::IfcVector > Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcVector>(es); } @@ -10922,7 +10922,7 @@ void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[464]); } -void Ifc4x3_rc3::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc3::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_rc3::IfcFillAreaStyleTiles Ifc4x3_rc3::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc3::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > Ifc4x3_rc3::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10930,7 +10930,7 @@ void Ifc4x3_rc3::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[466]); } -void Ifc4x3_rc3::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFilter Ifc4x3_rc3::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_rc3::IfcFilterTypeEnum::Value Ifc4x3_rc3::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10938,7 +10938,7 @@ void Ifc4x3_rc3::IfcFilterType::setPredefinedType(const ::Ifc4x3_rc3::IfcFilterT const ifcopenshell::entity& Ifc4x3_rc3::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[467]); } -void Ifc4x3_rc3::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFilterType Ifc4x3_rc3::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc3::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10946,7 +10946,7 @@ void Ifc4x3_rc3::IfcFireSuppressionTerminal::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc3::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[469]); } -void Ifc4x3_rc3::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFireSuppressionTerminal Ifc4x3_rc3::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10954,7 +10954,7 @@ void Ifc4x3_rc3::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[470]); } -void Ifc4x3_rc3::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFireSuppressionTerminalType Ifc4x3_rc3::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -10962,31 +10962,31 @@ void Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[472]); } -void Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[473]); } -void Ifc4x3_rc3::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowController Ifc4x3_rc3::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[474]); } -void Ifc4x3_rc3::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowControllerType Ifc4x3_rc3::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[476]); } -void Ifc4x3_rc3::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowFitting Ifc4x3_rc3::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[477]); } -void Ifc4x3_rc3::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowFittingType Ifc4x3_rc3::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc3::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10994,7 +10994,7 @@ void Ifc4x3_rc3::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[478]); } -void Ifc4x3_rc3::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFlowInstrument Ifc4x3_rc3::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -11002,7 +11002,7 @@ void Ifc4x3_rc3::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[479]); } -void Ifc4x3_rc3::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFlowInstrumentType Ifc4x3_rc3::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc3::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -11010,7 +11010,7 @@ void Ifc4x3_rc3::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[481]); } -void Ifc4x3_rc3::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFlowMeter Ifc4x3_rc3::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value Ifc4x3_rc3::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -11018,67 +11018,67 @@ void Ifc4x3_rc3::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc3::IfcFlow const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[482]); } -void Ifc4x3_rc3::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFlowMeterType Ifc4x3_rc3::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[484]); } -void Ifc4x3_rc3::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowMovingDevice Ifc4x3_rc3::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[485]); } -void Ifc4x3_rc3::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowMovingDeviceType Ifc4x3_rc3::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[486]); } -void Ifc4x3_rc3::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowSegment Ifc4x3_rc3::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[487]); } -void Ifc4x3_rc3::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowSegmentType Ifc4x3_rc3::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[488]); } -void Ifc4x3_rc3::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowStorageDevice Ifc4x3_rc3::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[489]); } -void Ifc4x3_rc3::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowStorageDeviceType Ifc4x3_rc3::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[490]); } -void Ifc4x3_rc3::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowTerminal Ifc4x3_rc3::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[491]); } -void Ifc4x3_rc3::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowTerminalType Ifc4x3_rc3::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[492]); } -void Ifc4x3_rc3::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFlowTreatmentDevice Ifc4x3_rc3::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_rc3::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[493]); } -void Ifc4x3_rc3::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFlowTreatmentDeviceType Ifc4x3_rc3::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > Ifc4x3_rc3::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -11086,7 +11086,7 @@ void Ifc4x3_rc3::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[497]); } -void Ifc4x3_rc3::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFooting Ifc4x3_rc3::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_rc3::IfcFootingTypeEnum::Value Ifc4x3_rc3::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -11094,19 +11094,19 @@ void Ifc4x3_rc3::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc3::IfcFootin const ifcopenshell::entity& Ifc4x3_rc3::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[498]); } -void Ifc4x3_rc3::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcFootingType Ifc4x3_rc3::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[502]); } -void Ifc4x3_rc3::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcFurnishingElement Ifc4x3_rc3::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[503]); } -void Ifc4x3_rc3::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcFurnishingElementType Ifc4x3_rc3::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11114,7 +11114,7 @@ void Ifc4x3_rc3::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[504]); } -void Ifc4x3_rc3::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcFurniture Ifc4x3_rc3::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value Ifc4x3_rc3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11124,7 +11124,7 @@ void Ifc4x3_rc3::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[505]); } -void Ifc4x3_rc3::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcFurnitureType Ifc4x3_rc3::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc3::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11132,7 +11132,7 @@ void Ifc4x3_rc3::IfcGeographicElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[507]); } -void Ifc4x3_rc3::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcGeographicElement Ifc4x3_rc3::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value Ifc4x3_rc3::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11140,13 +11140,13 @@ void Ifc4x3_rc3::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[508]); } -void Ifc4x3_rc3::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcGeographicElementType Ifc4x3_rc3::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[510]); } -void Ifc4x3_rc3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc3::IfcGeometricCurveSet Ifc4x3_rc3::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11162,13 +11162,13 @@ std::vector<::Ifc4x3_rc3::IfcGeometricRepresentationSubContext> Ifc4x3_rc3::IfcG std::vector<::Ifc4x3_rc3::IfcCoordinateOperation> Ifc4x3_rc3::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[245], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[512]); } -void Ifc4x3_rc3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc3::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_rc3::IfcGeometricRepresentationContext Ifc4x3_rc3::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc3::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[513]); } -void Ifc4x3_rc3::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_rc3::IfcGeometricRepresentationItem Ifc4x3_rc3::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_rc3::IfcGeometricRepresentationContext Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(); } @@ -11182,7 +11182,7 @@ void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView( const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[514]); } -void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_rc3::IfcGeometricRepresentationSubContext Ifc4x3_rc3::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > Ifc4x3_rc3::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcGeometricSetSelect>(es); } @@ -11190,37 +11190,37 @@ void Ifc4x3_rc3::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[515]); } -void Ifc4x3_rc3::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc3::IfcGeometricSet Ifc4x3_rc3::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_rc3::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[517]); } -void Ifc4x3_rc3::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcGeomodel Ifc4x3_rc3::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_rc3::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[518]); } -void Ifc4x3_rc3::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcGeoslice Ifc4x3_rc3::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_rc3::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[519]); } -void Ifc4x3_rc3::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcGeotechnicalAssembly Ifc4x3_rc3::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_rc3::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[520]); } -void Ifc4x3_rc3::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcGeotechnicalElement Ifc4x3_rc3::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum const ifcopenshell::entity& Ifc4x3_rc3::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[521]); } -void Ifc4x3_rc3::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcGeotechnicalStratum Ifc4x3_rc3::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } @@ -11230,7 +11230,7 @@ void Ifc4x3_rc3::IfcGradientCurve::setEndPoint(const ::Ifc4x3_rc3::IfcPlacement& const ifcopenshell::entity& Ifc4x3_rc3::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[524]); } -void Ifc4x3_rc3::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_rc3::IfcGradientCurve Ifc4x3_rc3::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_rc3::IfcGridAxis > Ifc4x3_rc3::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } @@ -11244,7 +11244,7 @@ void Ifc4x3_rc3::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[525]); } -void Ifc4x3_rc3::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcGrid Ifc4x3_rc3::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_rc3::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11260,7 +11260,7 @@ std::vector<::Ifc4x3_rc3::IfcGrid> Ifc4x3_rc3::IfcGridAxis::PartOfU() const { re std::vector<::Ifc4x3_rc3::IfcVirtualGridIntersection> Ifc4x3_rc3::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1277], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[526]); } -void Ifc4x3_rc3::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc3::IfcGridAxis Ifc4x3_rc3::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_rc3::IfcVirtualGridIntersection Ifc4x3_rc3::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcVirtualGridIntersection>(); } @@ -11270,14 +11270,14 @@ void Ifc4x3_rc3::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[527]); } -void Ifc4x3_rc3::IfcGridPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_rc3::IfcGridPlacement Ifc4x3_rc3::IfcGridPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4x3_rc3::IfcRelAssignsToGroup> Ifc4x3_rc3::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[909], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[530]); } -void Ifc4x3_rc3::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc3::IfcGroup Ifc4x3_rc3::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -11287,7 +11287,7 @@ void Ifc4x3_rc3::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc3::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[531]); } -void Ifc4x3_rc3::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_rc3::IfcHalfSpaceSolid Ifc4x3_rc3::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc3::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11295,7 +11295,7 @@ void Ifc4x3_rc3::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[533]); } -void Ifc4x3_rc3::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcHeatExchanger Ifc4x3_rc3::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11303,7 +11303,7 @@ void Ifc4x3_rc3::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[534]); } -void Ifc4x3_rc3::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcHeatExchangerType Ifc4x3_rc3::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > Ifc4x3_rc3::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11311,7 +11311,7 @@ void Ifc4x3_rc3::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[538]); } -void Ifc4x3_rc3::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcHumidifier Ifc4x3_rc3::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value Ifc4x3_rc3::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11319,7 +11319,7 @@ void Ifc4x3_rc3::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_rc3::IfcHum const ifcopenshell::entity& Ifc4x3_rc3::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[539]); } -void Ifc4x3_rc3::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcHumidifierType Ifc4x3_rc3::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_rc3::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11339,7 +11339,7 @@ void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc3::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[569]); } -void Ifc4x3_rc3::IfcIShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc3::IfcIShapeProfileDef Ifc4x3_rc3::IfcIShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_rc3::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11347,7 +11347,7 @@ void Ifc4x3_rc3::IfcImageTexture::setURLReference(const std::string& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[543]); } -void Ifc4x3_rc3::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_rc3::IfcImageTexture Ifc4x3_rc3::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc3::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11355,7 +11355,7 @@ void Ifc4x3_rc3::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[544]); } -void Ifc4x3_rc3::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc3::IfcImpactProtectionDevice Ifc4x3_rc3::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc3::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11363,7 +11363,7 @@ void Ifc4x3_rc3::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[545]); } -void Ifc4x3_rc3::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc3::IfcImpactProtectionDeviceType Ifc4x3_rc3::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcInclinedReferenceSweptAreaSolid std::optional< bool > Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } bool v = get_attribute_value(5); return v; } @@ -11371,7 +11371,7 @@ void Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(const const ifcopenshell::entity& Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[548]); } -void Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); } } +Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartDistance));set_attribute_value(4, (v5_EndDistance)); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_rc3::IfcTessellatedFaceSet Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(); } @@ -11385,7 +11385,7 @@ void Ifc4x3_rc3::IfcIndexedColourMap::setColourIndex(const std::vector< int > /* const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[549]); } -void Ifc4x3_rc3::IfcIndexedColourMap::initialize(::Ifc4x3_rc3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_rc3::IfcIndexedColourMap Ifc4x3_rc3::IfcIndexedColourMap::initialize(::Ifc4x3_rc3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc3::IfcCartesianPointList Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPointList>(); } @@ -11397,7 +11397,7 @@ void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[550]); } -void Ifc4x3_rc3::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_rc3::IfcIndexedPolyCurve Ifc4x3_rc3::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11406,7 +11406,7 @@ void Ifc4x3_rc3::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > std::vector<::Ifc4x3_rc3::IfcPolygonalFaceSet> Ifc4x3_rc3::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[778], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[551]); } -void Ifc4x3_rc3::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_rc3::IfcIndexedPolygonalFace Ifc4x3_rc3::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11414,7 +11414,7 @@ void Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const st const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[552]); } -void Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_rc3::IfcTessellatedFaceSet Ifc4x3_rc3::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(); } @@ -11424,7 +11424,7 @@ void Ifc4x3_rc3::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc3::IfcTextu const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[553]); } -void Ifc4x3_rc3::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_rc3::IfcIndexedTextureMap Ifc4x3_rc3::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_rc3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11432,7 +11432,7 @@ void Ifc4x3_rc3::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optio const ifcopenshell::entity& Ifc4x3_rc3::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[554]); } -void Ifc4x3_rc3::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_rc3::IfcIndexedTriangleTextureMap Ifc4x3_rc3::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > Ifc4x3_rc3::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11440,7 +11440,7 @@ void Ifc4x3_rc3::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[558]); } -void Ifc4x3_rc3::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcInterceptor Ifc4x3_rc3::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value Ifc4x3_rc3::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11448,13 +11448,13 @@ void Ifc4x3_rc3::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc3::IfcIn const ifcopenshell::entity& Ifc4x3_rc3::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[559]); } -void Ifc4x3_rc3::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcInterceptorType Ifc4x3_rc3::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_rc3::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[563]); } -void Ifc4x3_rc3::IfcIntersectionCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc3::IfcIntersectionCurve Ifc4x3_rc3::IfcIntersectionCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > Ifc4x3_rc3::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11472,7 +11472,7 @@ void Ifc4x3_rc3::IfcInventory::setOriginalValue(const ::Ifc4x3_rc3::IfcCostValue const ifcopenshell::entity& Ifc4x3_rc3::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[564]); } -void Ifc4x3_rc3::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc3::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_rc3::IfcInventory Ifc4x3_rc3::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc3::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > Ifc4x3_rc3::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc3::IfcIrregularTimeSeriesValue>(es); } @@ -11480,7 +11480,7 @@ void Ifc4x3_rc3::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[567]); } -void Ifc4x3_rc3::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_rc3::IfcIrregularTimeSeries Ifc4x3_rc3::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11490,7 +11490,7 @@ void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[568]); } -void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc3::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_rc3::IfcIrregularTimeSeriesValue Ifc4x3_rc3::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc3::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc3::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11498,7 +11498,7 @@ void Ifc4x3_rc3::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[571]); } -void Ifc4x3_rc3::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcJunctionBox Ifc4x3_rc3::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11506,7 +11506,7 @@ void Ifc4x3_rc3::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_rc3::IfcJu const ifcopenshell::entity& Ifc4x3_rc3::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[572]); } -void Ifc4x3_rc3::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcJunctionBoxType Ifc4x3_rc3::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb bool Ifc4x3_rc3::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } @@ -11514,7 +11514,7 @@ void Ifc4x3_rc3::IfcKerb::setMountable(const bool& v) { set_attribute_value(8, v const ifcopenshell::entity& Ifc4x3_rc3::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[574]); } -void Ifc4x3_rc3::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable)); } +Ifc4x3_rc3::IfcKerb Ifc4x3_rc3::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; return *this; } // Function implementations for IfcKerbType bool Ifc4x3_rc3::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } @@ -11522,7 +11522,7 @@ void Ifc4x3_rc3::IfcKerbType::setMountable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc3::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[575]); } -void Ifc4x3_rc3::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable)); } +Ifc4x3_rc3::IfcKerbType Ifc4x3_rc3::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_rc3::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11540,7 +11540,7 @@ void Ifc4x3_rc3::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc3::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[624]); } -void Ifc4x3_rc3::IfcLShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_rc3::IfcLShapeProfileDef Ifc4x3_rc3::IfcLShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc3::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11548,7 +11548,7 @@ void Ifc4x3_rc3::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[579]); } -void Ifc4x3_rc3::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcLaborResource Ifc4x3_rc3::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value Ifc4x3_rc3::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11556,7 +11556,7 @@ void Ifc4x3_rc3::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[580]); } -void Ifc4x3_rc3::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcLaborResourceType Ifc4x3_rc3::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_rc3::IfcTimeOrRatioSelect Ifc4x3_rc3::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcTimeOrRatioSelect>(); } @@ -11566,7 +11566,7 @@ void Ifc4x3_rc3::IfcLagTime::setDurationType(const ::Ifc4x3_rc3::IfcTaskDuration const ifcopenshell::entity& Ifc4x3_rc3::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[582]); } -void Ifc4x3_rc3::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc3::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_rc3::IfcLagTime Ifc4x3_rc3::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc3::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > Ifc4x3_rc3::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11574,7 +11574,7 @@ void Ifc4x3_rc3::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[583]); } -void Ifc4x3_rc3::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcLamp Ifc4x3_rc3::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_rc3::IfcLampTypeEnum::Value Ifc4x3_rc3::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11582,7 +11582,7 @@ void Ifc4x3_rc3::IfcLampType::setPredefinedType(const ::Ifc4x3_rc3::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[584]); } -void Ifc4x3_rc3::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcLampType Ifc4x3_rc3::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_rc3::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11602,7 +11602,7 @@ std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryInforma std::vector<::Ifc4x3_rc3::IfcLibraryReference> Ifc4x3_rc3::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[591], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[590]); } -void Ifc4x3_rc3::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_rc3::IfcLibraryInformation Ifc4x3_rc3::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11615,7 +11615,7 @@ void Ifc4x3_rc3::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc3::I std::vector<::Ifc4x3_rc3::IfcRelAssociatesLibrary> Ifc4x3_rc3::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[919], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[591]); } -void Ifc4x3_rc3::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc3::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_rc3::IfcLibraryReference Ifc4x3_rc3::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc3::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_rc3::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11627,7 +11627,7 @@ void Ifc4x3_rc3::IfcLightDistributionData::setLuminousIntensity(const std::vecto const ifcopenshell::entity& Ifc4x3_rc3::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[594]); } -void Ifc4x3_rc3::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_rc3::IfcLightDistributionData Ifc4x3_rc3::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc3::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11635,7 +11635,7 @@ void Ifc4x3_rc3::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[597]); } -void Ifc4x3_rc3::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcLightFixture Ifc4x3_rc3::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value Ifc4x3_rc3::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11643,7 +11643,7 @@ void Ifc4x3_rc3::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc3::IfcL const ifcopenshell::entity& Ifc4x3_rc3::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[598]); } -void Ifc4x3_rc3::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcLightFixtureType Ifc4x3_rc3::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value Ifc4x3_rc3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11653,7 +11653,7 @@ void Ifc4x3_rc3::IfcLightIntensityDistribution::setDistributionData(const std::v const ifcopenshell::entity& Ifc4x3_rc3::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[600]); } -void Ifc4x3_rc3::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc3::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_rc3::IfcLightIntensityDistribution Ifc4x3_rc3::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc3::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_rc3::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11667,13 +11667,13 @@ void Ifc4x3_rc3::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[601]); } -void Ifc4x3_rc3::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc3::IfcLightSource Ifc4x3_rc3::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[602]); } -void Ifc4x3_rc3::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc3::IfcLightSourceAmbient Ifc4x3_rc3::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -11681,7 +11681,7 @@ void Ifc4x3_rc3::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[603]); } -void Ifc4x3_rc3::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_rc3::IfcLightSourceDirectional Ifc4x3_rc3::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } @@ -11699,7 +11699,7 @@ void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightDistributionDataSource(const const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[604]); } -void Ifc4x3_rc3::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_rc3::IfcLightSourceGoniometric Ifc4x3_rc3::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } @@ -11715,7 +11715,7 @@ void Ifc4x3_rc3::IfcLightSourcePositional::setQuadricAttenuation(const double& v const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[605]); } -void Ifc4x3_rc3::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_rc3::IfcLightSourcePositional Ifc4x3_rc3::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -11729,7 +11729,7 @@ void Ifc4x3_rc3::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[606]); } -void Ifc4x3_rc3::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_rc3::IfcLightSourceSpot Ifc4x3_rc3::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_rc3::IfcCartesianPoint Ifc4x3_rc3::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPoint>(); } @@ -11739,13 +11739,13 @@ void Ifc4x3_rc3::IfcLine::setDir(const ::Ifc4x3_rc3::IfcVector& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc3::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[607]); } -void Ifc4x3_rc3::IfcLine::initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc3::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_rc3::IfcLine Ifc4x3_rc3::IfcLine::initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc3::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[608]); } -void Ifc4x3_rc3::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcLinearElement Ifc4x3_rc3::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_rc3::IfcAxis2PlacementLinear Ifc4x3_rc3::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(); } @@ -11755,13 +11755,13 @@ void Ifc4x3_rc3::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[611]); } -void Ifc4x3_rc3::IfcLinearPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition)); } +Ifc4x3_rc3::IfcLinearPlacement Ifc4x3_rc3::IfcLinearPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement const ifcopenshell::entity& Ifc4x3_rc3::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[612]); } -void Ifc4x3_rc3::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcLinearPositioningElement Ifc4x3_rc3::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc3::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11769,7 +11769,7 @@ void Ifc4x3_rc3::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[616]); } -void Ifc4x3_rc3::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcLiquidTerminal Ifc4x3_rc3::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc3::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11777,7 +11777,7 @@ void Ifc4x3_rc3::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[617]); } -void Ifc4x3_rc3::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcLiquidTerminalType Ifc4x3_rc3::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } @@ -11785,13 +11785,13 @@ void Ifc4x3_rc3::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[620]); } -void Ifc4x3_rc3::IfcLocalPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_rc3::IfcLocalPlacement Ifc4x3_rc3::IfcLocalPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_rc3::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[623]); } -void Ifc4x3_rc3::IfcLoop::initialize() { } +Ifc4x3_rc3::IfcLoop Ifc4x3_rc3::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_rc3::IfcClosedShell Ifc4x3_rc3::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcClosedShell>(); } @@ -11799,7 +11799,7 @@ void Ifc4x3_rc3::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc3::IfcClosedShe const ifcopenshell::entity& Ifc4x3_rc3::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[630]); } -void Ifc4x3_rc3::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc3::IfcManifoldSolidBrep Ifc4x3_rc3::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_rc3::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11821,7 +11821,7 @@ void Ifc4x3_rc3::IfcMapConversion::setScaleZ(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[631]); } -void Ifc4x3_rc3::IfcMapConversion::initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); } } +Ifc4x3_rc3::IfcMapConversion Ifc4x3_rc3::IfcMapConversion::initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_rc3::IfcRepresentationMap Ifc4x3_rc3::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcRepresentationMap>(); } @@ -11831,7 +11831,7 @@ void Ifc4x3_rc3::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc3::IfcCartesia const ifcopenshell::entity& Ifc4x3_rc3::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[632]); } -void Ifc4x3_rc3::IfcMappedItem::initialize(::Ifc4x3_rc3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc3::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_rc3::IfcMappedItem Ifc4x3_rc3::IfcMappedItem::initialize(::Ifc4x3_rc3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc3::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc3::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11839,7 +11839,7 @@ void Ifc4x3_rc3::IfcMarineFacility::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[633]); } -void Ifc4x3_rc3::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcMarineFacility Ifc4x3_rc3::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_rc3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11854,7 +11854,7 @@ std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::IsRe std::vector<::Ifc4x3_rc3::IfcMaterialRelationship> Ifc4x3_rc3::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[657], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[640]); } -void Ifc4x3_rc3::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcClassificationSelect>(es); } @@ -11864,7 +11864,7 @@ void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(co const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[641]); } -void Ifc4x3_rc3::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_rc3::IfcMaterialClassificationRelationship Ifc4x3_rc3::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11881,7 +11881,7 @@ void Ifc4x3_rc3::IfcMaterialConstituent::setCategory(const std::optional< std::s std::vector<::Ifc4x3_rc3::IfcMaterialConstituentSet> Ifc4x3_rc3::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[643], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[642]); } -void Ifc4x3_rc3::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_rc3::IfcMaterialConstituent Ifc4x3_rc3::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11893,7 +11893,7 @@ void Ifc4x3_rc3::IfcMaterialConstituentSet::setMaterialConstituents(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[643]); } -void Ifc4x3_rc3::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_rc3::IfcMaterialConstituentSet Ifc4x3_rc3::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11902,7 +11902,7 @@ std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcMater std::vector<::Ifc4x3_rc3::IfcMaterialProperties> Ifc4x3_rc3::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[656], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[644]); } -void Ifc4x3_rc3::IfcMaterialDefinition::initialize() { } +Ifc4x3_rc3::IfcMaterialDefinition Ifc4x3_rc3::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMaterial>(); } @@ -11910,7 +11910,7 @@ void Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(con const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[645]); } -void Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations, ::Ifc4x3_rc3::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_rc3::IfcMaterialDefinitionRepresentation Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations, ::Ifc4x3_rc3::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc3::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcMaterial>(); } @@ -11931,7 +11931,7 @@ void Ifc4x3_rc3::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_rc3::IfcMaterialLayerSet> Ifc4x3_rc3::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[647], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[646]); } -void Ifc4x3_rc3::IfcMaterialLayer::initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_rc3::IfcMaterialLayer Ifc4x3_rc3::IfcMaterialLayer::initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > Ifc4x3_rc3::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcMaterialLayer>(es); } @@ -11943,7 +11943,7 @@ void Ifc4x3_rc3::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[647]); } -void Ifc4x3_rc3::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc3::IfcMaterialLayerSet Ifc4x3_rc3::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_rc3::IfcMaterialLayerSet Ifc4x3_rc3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcMaterialLayerSet>(); } @@ -11959,7 +11959,7 @@ void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[648]); } -void Ifc4x3_rc3::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_rc3::IfcMaterialLayerSetUsage Ifc4x3_rc3::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -11969,7 +11969,7 @@ void Ifc4x3_rc3::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[649]); } -void Ifc4x3_rc3::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_rc3::IfcMaterialLayerWithOffsets Ifc4x3_rc3::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_rc3::IfcMaterial > Ifc4x3_rc3::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcMaterial>(es); } @@ -11977,7 +11977,7 @@ void Ifc4x3_rc3::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[650]); } -void Ifc4x3_rc3::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_rc3::IfcMaterialList Ifc4x3_rc3::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc3::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11996,7 +11996,7 @@ void Ifc4x3_rc3::IfcMaterialProfile::setCategory(const std::optional< std::strin std::vector<::Ifc4x3_rc3::IfcMaterialProfileSet> Ifc4x3_rc3::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[652], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[651]); } -void Ifc4x3_rc3::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_rc3::IfcMaterialProfile Ifc4x3_rc3::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12010,7 +12010,7 @@ void Ifc4x3_rc3::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[652]); } -void Ifc4x3_rc3::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_rc3::IfcMaterialProfileSet Ifc4x3_rc3::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_rc3::IfcMaterialProfileSet Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcMaterialProfileSet>(); } @@ -12022,7 +12022,7 @@ void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optio const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[653]); } -void Ifc4x3_rc3::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_rc3::IfcMaterialProfileSetUsage Ifc4x3_rc3::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_rc3::IfcMaterialProfileSet Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMaterialProfileSet>(); } @@ -12032,7 +12032,7 @@ void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const s const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[654]); } -void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -12040,7 +12040,7 @@ void Ifc4x3_rc3::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vecto const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[655]); } -void Ifc4x3_rc3::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_rc3::IfcMaterialProfileWithOffsets Ifc4x3_rc3::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_rc3::IfcMaterialDefinition Ifc4x3_rc3::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcMaterialDefinition>(); } @@ -12048,7 +12048,7 @@ void Ifc4x3_rc3::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc3::IfcMater const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[656]); } -void Ifc4x3_rc3::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_rc3::IfcMaterialProperties Ifc4x3_rc3::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_rc3::IfcMaterial Ifc4x3_rc3::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcMaterial>(); } @@ -12060,14 +12060,14 @@ void Ifc4x3_rc3::IfcMaterialRelationship::setExpression(const std::optional< std const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[657]); } -void Ifc4x3_rc3::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc3::IfcMaterialRelationship Ifc4x3_rc3::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_rc3::IfcRelAssociatesMaterial> Ifc4x3_rc3::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[920], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[659]); } -void Ifc4x3_rc3::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_rc3::IfcMaterialUsageDefinition Ifc4x3_rc3::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcValue>(); } @@ -12077,7 +12077,7 @@ void Ifc4x3_rc3::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc3::IfcUni const ifcopenshell::entity& Ifc4x3_rc3::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[661]); } -void Ifc4x3_rc3::IfcMeasureWithUnit::initialize(::Ifc4x3_rc3::IfcValue v1_ValueComponent, ::Ifc4x3_rc3::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_rc3::IfcMeasureWithUnit Ifc4x3_rc3::IfcMeasureWithUnit::initialize(::Ifc4x3_rc3::IfcValue v1_ValueComponent, ::Ifc4x3_rc3::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12089,7 +12089,7 @@ void Ifc4x3_rc3::IfcMechanicalFastener::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc3::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[662]); } -void Ifc4x3_rc3::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcMechanicalFastener Ifc4x3_rc3::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12101,7 +12101,7 @@ void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalLength(const std::optional const ifcopenshell::entity& Ifc4x3_rc3::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[663]); } -void Ifc4x3_rc3::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_rc3::IfcMechanicalFastenerType Ifc4x3_rc3::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12109,7 +12109,7 @@ void Ifc4x3_rc3::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[665]); } -void Ifc4x3_rc3::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcMedicalDevice Ifc4x3_rc3::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc3::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12117,7 +12117,7 @@ void Ifc4x3_rc3::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[666]); } -void Ifc4x3_rc3::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcMedicalDeviceType Ifc4x3_rc3::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > Ifc4x3_rc3::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12125,13 +12125,13 @@ void Ifc4x3_rc3::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[668]); } -void Ifc4x3_rc3::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcMember Ifc4x3_rc3::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[669]); } -void Ifc4x3_rc3::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcMemberStandardCase Ifc4x3_rc3::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_rc3::IfcMemberTypeEnum::Value Ifc4x3_rc3::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12139,7 +12139,7 @@ void Ifc4x3_rc3::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc3::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc3::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[670]); } -void Ifc4x3_rc3::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcMemberType Ifc4x3_rc3::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_rc3::IfcBenchmarkEnum::Value Ifc4x3_rc3::IfcMetric::Benchmark() const { return ::Ifc4x3_rc3::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12153,13 +12153,13 @@ void Ifc4x3_rc3::IfcMetric::setReferencePath(const ::Ifc4x3_rc3::IfcReference& v const ifcopenshell::entity& Ifc4x3_rc3::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[672]); } -void Ifc4x3_rc3::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc3::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_rc3::IfcMetric Ifc4x3_rc3::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc3::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_rc3::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[674]); } -void Ifc4x3_rc3::IfcMirroredProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc3::IfcMirroredProfileDef Ifc4x3_rc3::IfcMirroredProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12167,7 +12167,7 @@ void Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::setPredefinedType(const s const ifcopenshell::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[675]); } -void Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12175,7 +12175,7 @@ void Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[676]); } -void Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_rc3::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12183,7 +12183,7 @@ void Ifc4x3_rc3::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc3::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[689]); } -void Ifc4x3_rc3::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_rc3::IfcMonetaryUnit Ifc4x3_rc3::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12191,7 +12191,7 @@ void Ifc4x3_rc3::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[691]); } -void Ifc4x3_rc3::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcMooringDevice Ifc4x3_rc3::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc3::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12199,7 +12199,7 @@ void Ifc4x3_rc3::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[692]); } -void Ifc4x3_rc3::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcMooringDeviceType Ifc4x3_rc3::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc3::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12207,7 +12207,7 @@ void Ifc4x3_rc3::IfcMotorConnection::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[694]); } -void Ifc4x3_rc3::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcMotorConnection Ifc4x3_rc3::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12215,7 +12215,7 @@ void Ifc4x3_rc3::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[695]); } -void Ifc4x3_rc3::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcMotorConnectionType Ifc4x3_rc3::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_rc3::IfcDimensionalExponents Ifc4x3_rc3::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcDimensionalExponents>(); } @@ -12225,7 +12225,7 @@ void Ifc4x3_rc3::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc3::IfcUnitEnum::Valu const ifcopenshell::entity& Ifc4x3_rc3::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[697]); } -void Ifc4x3_rc3::IfcNamedUnit::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_rc3::IfcNamedUnit Ifc4x3_rc3::IfcNamedUnit::initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc3::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12233,7 +12233,7 @@ void Ifc4x3_rc3::IfcNavigationElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[698]); } -void Ifc4x3_rc3::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcNavigationElement Ifc4x3_rc3::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value Ifc4x3_rc3::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12241,7 +12241,7 @@ void Ifc4x3_rc3::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[699]); } -void Ifc4x3_rc3::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcNavigationElementType Ifc4x3_rc3::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_rc3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12253,7 +12253,7 @@ std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcObject::IsTypedBy( std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[704]); } -void Ifc4x3_rc3::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc3::IfcObject Ifc4x3_rc3::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12266,7 +12266,7 @@ std::vector<::Ifc4x3_rc3::IfcRelAggregates> Ifc4x3_rc3::IfcObjectDefinition::Dec std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[914], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[705]); } -void Ifc4x3_rc3::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcObjectDefinition Ifc4x3_rc3::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_rc3::IfcObjectPlacement Ifc4x3_rc3::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcObjectPlacement>(); } @@ -12275,7 +12275,7 @@ void Ifc4x3_rc3::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc3::IfcOb std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[808], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[708]); } -void Ifc4x3_rc3::IfcObjectPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_rc3::IfcObjectPlacement Ifc4x3_rc3::IfcObjectPlacement::initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > > Ifc4x3_rc3::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcConstraint>(es); } @@ -12289,7 +12289,7 @@ void Ifc4x3_rc3::IfcObjective::setUserDefinedQualifier(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc3::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[706]); } -void Ifc4x3_rc3::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_rc3::IfcObjective Ifc4x3_rc3::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > Ifc4x3_rc3::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12297,7 +12297,7 @@ void Ifc4x3_rc3::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[711]); } -void Ifc4x3_rc3::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc3::IfcOccupant Ifc4x3_rc3::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -12305,7 +12305,7 @@ void Ifc4x3_rc3::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[713]); } -void Ifc4x3_rc3::IfcOffsetCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_rc3::IfcOffsetCurve Ifc4x3_rc3::IfcOffsetCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_rc3::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12315,7 +12315,7 @@ void Ifc4x3_rc3::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[714]); } -void Ifc4x3_rc3::IfcOffsetCurve2D::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_rc3::IfcOffsetCurve2D Ifc4x3_rc3::IfcOffsetCurve2D::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_rc3::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12327,7 +12327,7 @@ void Ifc4x3_rc3::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc3::IfcDirect const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[715]); } -void Ifc4x3_rc3::IfcOffsetCurve3D::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc3::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_rc3::IfcOffsetCurve3D Ifc4x3_rc3::IfcOffsetCurve3D::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc3::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > Ifc4x3_rc3::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcPointByDistanceExpression>(es); } @@ -12337,7 +12337,7 @@ void Ifc4x3_rc3::IfcOffsetCurveByDistances::setTag(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_rc3::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[716]); } -void Ifc4x3_rc3::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_rc3::IfcOffsetCurveByDistances Ifc4x3_rc3::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_rc3::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12351,13 +12351,13 @@ void Ifc4x3_rc3::IfcOpenCrossProfileDef::setTags(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc3::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[717]); } -void Ifc4x3_rc3::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); } } +Ifc4x3_rc3::IfcOpenCrossProfileDef Ifc4x3_rc3::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_rc3::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[721]); } -void Ifc4x3_rc3::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc3::IfcOpenShell Ifc4x3_rc3::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc3::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12366,13 +12366,13 @@ void Ifc4x3_rc3::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_rc3::IfcRelFillsElement> Ifc4x3_rc3::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[718]); } -void Ifc4x3_rc3::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcOpeningElement Ifc4x3_rc3::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[720]); } -void Ifc4x3_rc3::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcOpeningStandardCase Ifc4x3_rc3::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_rc3::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12391,7 +12391,7 @@ std::vector<::Ifc4x3_rc3::IfcOrganizationRelationship> Ifc4x3_rc3::IfcOrganizati std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[744], 1)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[722]); } -void Ifc4x3_rc3::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_rc3::IfcOrganization Ifc4x3_rc3::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcOrganization>(); } @@ -12401,7 +12401,7 @@ void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatedOrganizations(const std: const ifcopenshell::entity& Ifc4x3_rc3::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[723]); } -void Ifc4x3_rc3::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc3::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_rc3::IfcOrganizationRelationship Ifc4x3_rc3::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc3::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_rc3::IfcEdge Ifc4x3_rc3::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcEdge>(); } @@ -12411,13 +12411,13 @@ void Ifc4x3_rc3::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc3::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[724]); } -void Ifc4x3_rc3::IfcOrientedEdge::initialize(::Ifc4x3_rc3::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_rc3::IfcOrientedEdge Ifc4x3_rc3::IfcOrientedEdge::initialize(::Ifc4x3_rc3::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc3::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[725]); } -void Ifc4x3_rc3::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc3::IfcOuterBoundaryCurve Ifc4x3_rc3::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > Ifc4x3_rc3::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12425,7 +12425,7 @@ void Ifc4x3_rc3::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[726]); } -void Ifc4x3_rc3::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcOutlet Ifc4x3_rc3::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_rc3::IfcOutletTypeEnum::Value Ifc4x3_rc3::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12433,7 +12433,7 @@ void Ifc4x3_rc3::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc3::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc3::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[727]); } -void Ifc4x3_rc3::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcOutletType Ifc4x3_rc3::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_rc3::IfcPersonAndOrganization Ifc4x3_rc3::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPersonAndOrganization>(); } @@ -12455,7 +12455,7 @@ void Ifc4x3_rc3::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc3::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[729]); } -void Ifc4x3_rc3::IfcOwnerHistory::initialize(::Ifc4x3_rc3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_rc3::IfcOwnerHistory Ifc4x3_rc3::IfcOwnerHistory::initialize(::Ifc4x3_rc3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_rc3::IfcAxis2Placement2D Ifc4x3_rc3::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement2D>(); } @@ -12463,7 +12463,7 @@ void Ifc4x3_rc3::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[730]); } -void Ifc4x3_rc3::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_rc3::IfcParameterizedProfileDef Ifc4x3_rc3::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > Ifc4x3_rc3::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcOrientedEdge>(es); } @@ -12471,7 +12471,7 @@ void Ifc4x3_rc3::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrient const ifcopenshell::entity& Ifc4x3_rc3::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[732]); } -void Ifc4x3_rc3::IfcPath::initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc3::IfcPath Ifc4x3_rc3::IfcPath::initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > Ifc4x3_rc3::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } @@ -12479,7 +12479,7 @@ void Ifc4x3_rc3::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[733]); } -void Ifc4x3_rc3::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPavement Ifc4x3_rc3::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPavementType ::Ifc4x3_rc3::IfcPavementTypeEnum::Value Ifc4x3_rc3::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } @@ -12487,7 +12487,7 @@ void Ifc4x3_rc3::IfcPavementType::setPredefinedType(const ::Ifc4x3_rc3::IfcPavem const ifcopenshell::entity& Ifc4x3_rc3::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[734]); } -void Ifc4x3_rc3::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcPavementType Ifc4x3_rc3::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -12497,7 +12497,7 @@ void Ifc4x3_rc3::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc3::IfcCurve& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[736]); } -void Ifc4x3_rc3::IfcPcurve::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_rc3::IfcPcurve Ifc4x3_rc3::IfcPcurve::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_rc3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12507,7 +12507,7 @@ void Ifc4x3_rc3::IfcPerformanceHistory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc3::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[737]); } -void Ifc4x3_rc3::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc3::IfcPerformanceHistory Ifc4x3_rc3::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12523,7 +12523,7 @@ void Ifc4x3_rc3::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[740]); } -void Ifc4x3_rc3::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc3::IfcPermeableCoveringProperties Ifc4x3_rc3::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > Ifc4x3_rc3::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12535,7 +12535,7 @@ void Ifc4x3_rc3::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[741]); } -void Ifc4x3_rc3::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc3::IfcPermit Ifc4x3_rc3::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_rc3::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12558,7 +12558,7 @@ void Ifc4x3_rc3::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc std::vector<::Ifc4x3_rc3::IfcPersonAndOrganization> Ifc4x3_rc3::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[744], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[743]); } -void Ifc4x3_rc3::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_rc3::IfcPerson Ifc4x3_rc3::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_rc3::IfcPerson Ifc4x3_rc3::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPerson>(); } @@ -12570,7 +12570,7 @@ void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc3::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[744]); } -void Ifc4x3_rc3::IfcPersonAndOrganization::initialize(::Ifc4x3_rc3::IfcPerson v1_ThePerson, ::Ifc4x3_rc3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_rc3::IfcPersonAndOrganization Ifc4x3_rc3::IfcPersonAndOrganization::initialize(::Ifc4x3_rc3::IfcPerson v1_ThePerson, ::Ifc4x3_rc3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > Ifc4x3_rc3::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcPhysicalQuantity>(es); } @@ -12584,7 +12584,7 @@ void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setUsage(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[746]); } -void Ifc4x3_rc3::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_rc3::IfcPhysicalComplexQuantity Ifc4x3_rc3::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_rc3::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12596,7 +12596,7 @@ std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPhysi std::vector<::Ifc4x3_rc3::IfcPhysicalComplexQuantity> Ifc4x3_rc3::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[746], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[748]); } -void Ifc4x3_rc3::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc3::IfcPhysicalQuantity Ifc4x3_rc3::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_rc3::IfcNamedUnit Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcNamedUnit>(); } @@ -12604,7 +12604,7 @@ void Ifc4x3_rc3::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc3::IfcNamed const ifcopenshell::entity& Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[749]); } -void Ifc4x3_rc3::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc3::IfcPhysicalSimpleQuantity Ifc4x3_rc3::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > Ifc4x3_rc3::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12614,7 +12614,7 @@ void Ifc4x3_rc3::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[750]); } -void Ifc4x3_rc3::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_rc3::IfcPile Ifc4x3_rc3::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_rc3::IfcPileTypeEnum::Value Ifc4x3_rc3::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12622,7 +12622,7 @@ void Ifc4x3_rc3::IfcPileType::setPredefinedType(const ::Ifc4x3_rc3::IfcPileTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[752]); } -void Ifc4x3_rc3::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcPileType Ifc4x3_rc3::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc3::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12630,7 +12630,7 @@ void Ifc4x3_rc3::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[754]); } -void Ifc4x3_rc3::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPipeFitting Ifc4x3_rc3::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value Ifc4x3_rc3::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12638,7 +12638,7 @@ void Ifc4x3_rc3::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_rc3::IfcPi const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[755]); } -void Ifc4x3_rc3::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcPipeFittingType Ifc4x3_rc3::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc3::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12646,7 +12646,7 @@ void Ifc4x3_rc3::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[757]); } -void Ifc4x3_rc3::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPipeSegment Ifc4x3_rc3::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12654,7 +12654,7 @@ void Ifc4x3_rc3::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_rc3::IfcPi const ifcopenshell::entity& Ifc4x3_rc3::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[758]); } -void Ifc4x3_rc3::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcPipeSegmentType Ifc4x3_rc3::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_rc3::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12668,7 +12668,7 @@ void Ifc4x3_rc3::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bit const ifcopenshell::entity& Ifc4x3_rc3::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[760]); } -void Ifc4x3_rc3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_rc3::IfcPixelTexture Ifc4x3_rc3::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_rc3::IfcPoint Ifc4x3_rc3::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPoint>(); } @@ -12676,7 +12676,7 @@ void Ifc4x3_rc3::IfcPlacement::setLocation(const ::Ifc4x3_rc3::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x3_rc3::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[761]); } -void Ifc4x3_rc3::IfcPlacement::initialize(::Ifc4x3_rc3::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcPlacement::initialize(::Ifc4x3_rc3::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } @@ -12684,7 +12684,7 @@ void Ifc4x3_rc3::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc3::IfcAxis2Placemen const ifcopenshell::entity& Ifc4x3_rc3::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[762]); } -void Ifc4x3_rc3::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc3::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_rc3::IfcPlanarBox Ifc4x3_rc3::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc3::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_rc3::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12694,19 +12694,19 @@ void Ifc4x3_rc3::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_rc3::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[763]); } -void Ifc4x3_rc3::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_rc3::IfcPlanarExtent Ifc4x3_rc3::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_rc3::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[765]); } -void Ifc4x3_rc3::IfcPlane::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc3::IfcPlane Ifc4x3_rc3::IfcPlane::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlant const ifcopenshell::entity& Ifc4x3_rc3::IfcPlant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[767]); } -void Ifc4x3_rc3::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPlant Ifc4x3_rc3::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > Ifc4x3_rc3::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12714,13 +12714,13 @@ void Ifc4x3_rc3::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[768]); } -void Ifc4x3_rc3::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPlate Ifc4x3_rc3::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[769]); } -void Ifc4x3_rc3::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPlateStandardCase Ifc4x3_rc3::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_rc3::IfcPlateTypeEnum::Value Ifc4x3_rc3::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12728,13 +12728,13 @@ void Ifc4x3_rc3::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc3::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc3::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[770]); } -void Ifc4x3_rc3::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcPlateType Ifc4x3_rc3::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_rc3::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[772]); } -void Ifc4x3_rc3::IfcPoint::initialize() { } +Ifc4x3_rc3::IfcPoint Ifc4x3_rc3::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3_rc3::IfcCurveMeasureSelect Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(); } @@ -12750,7 +12750,7 @@ void Ifc4x3_rc3::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[773]); } -void Ifc4x3_rc3::IfcPointByDistanceExpression::initialize(::Ifc4x3_rc3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3_rc3::IfcPointByDistanceExpression Ifc4x3_rc3::IfcPointByDistanceExpression::initialize(::Ifc4x3_rc3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -12760,7 +12760,7 @@ void Ifc4x3_rc3::IfcPointOnCurve::setPointParameter(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc3::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[774]); } -void Ifc4x3_rc3::IfcPointOnCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_rc3::IfcPointOnCurve Ifc4x3_rc3::IfcPointOnCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -12772,7 +12772,7 @@ void Ifc4x3_rc3::IfcPointOnSurface::setPointParameterV(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[775]); } -void Ifc4x3_rc3::IfcPointOnSurface::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_rc3::IfcPointOnSurface Ifc4x3_rc3::IfcPointOnSurface::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Ifc4x3_rc3::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } @@ -12780,7 +12780,7 @@ void Ifc4x3_rc3::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc3::IfcCar const ifcopenshell::entity& Ifc4x3_rc3::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[780]); } -void Ifc4x3_rc3::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_rc3::IfcPolyLoop Ifc4x3_rc3::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } @@ -12790,7 +12790,7 @@ void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[777]); } -void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc3::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc3::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_rc3::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12802,7 +12802,7 @@ void Ifc4x3_rc3::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc3::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[778]); } -void Ifc4x3_rc3::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_rc3::IfcPolygonalFaceSet Ifc4x3_rc3::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Ifc4x3_rc3::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcCartesianPoint>(es); } @@ -12810,7 +12810,7 @@ void Ifc4x3_rc3::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc3::IfcCart const ifcopenshell::entity& Ifc4x3_rc3::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[779]); } -void Ifc4x3_rc3::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_rc3::IfcPolyline Ifc4x3_rc3::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPolynomialCurve ::Ifc4x3_rc3::IfcPlacement Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPlacement>(); } @@ -12824,7 +12824,7 @@ void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[781]); } -void Ifc4x3_rc3::IfcPolynomialCurve::initialize(::Ifc4x3_rc3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); } } +Ifc4x3_rc3::IfcPolynomialCurve Ifc4x3_rc3::IfcPolynomialCurve::initialize(::Ifc4x3_rc3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; return *this; } // Function implementations for IfcPort @@ -12833,7 +12833,7 @@ std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedFro std::vector<::Ifc4x3_rc3::IfcRelConnectsPorts> Ifc4x3_rc3::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[926], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[782]); } -void Ifc4x3_rc3::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12841,7 +12841,7 @@ std::vector<::Ifc4x3_rc3::IfcRelContainedInSpatialStructure> Ifc4x3_rc3::IfcPosi std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[946], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[783]); } -void Ifc4x3_rc3::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcPositioningElement Ifc4x3_rc3::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12861,19 +12861,19 @@ void Ifc4x3_rc3::IfcPostalAddress::setCountry(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc3::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[788]); } -void Ifc4x3_rc3::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_rc3::IfcPostalAddress Ifc4x3_rc3::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[790]); } -void Ifc4x3_rc3::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc3::IfcPreDefinedColour Ifc4x3_rc3::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[791]); } -void Ifc4x3_rc3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc3::IfcPreDefinedCurveFont Ifc4x3_rc3::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_rc3::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12881,31 +12881,31 @@ void Ifc4x3_rc3::IfcPreDefinedItem::setName(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[792]); } -void Ifc4x3_rc3::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc3::IfcPreDefinedItem Ifc4x3_rc3::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[793]); } -void Ifc4x3_rc3::IfcPreDefinedProperties::initialize() { } +Ifc4x3_rc3::IfcPreDefinedProperties Ifc4x3_rc3::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[794]); } -void Ifc4x3_rc3::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcPreDefinedPropertySet Ifc4x3_rc3::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc3::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[795]); } -void Ifc4x3_rc3::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc3::IfcPreDefinedTextFont Ifc4x3_rc3::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[798]); } -void Ifc4x3_rc3::IfcPresentationItem::initialize() { } +Ifc4x3_rc3::IfcPresentationItem Ifc4x3_rc3::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12919,7 +12919,7 @@ void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(const std::option const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[799]); } -void Ifc4x3_rc3::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_rc3::IfcPresentationLayerAssignment Ifc4x3_rc3::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12933,7 +12933,7 @@ void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[800]); } -void Ifc4x3_rc3::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_rc3::IfcPresentationLayerWithStyle Ifc4x3_rc3::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_rc3::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12941,7 +12941,7 @@ void Ifc4x3_rc3::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[801]); } -void Ifc4x3_rc3::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcPresentationStyle Ifc4x3_rc3::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > Ifc4x3_rc3::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12949,7 +12949,7 @@ void Ifc4x3_rc3::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[803]); } -void Ifc4x3_rc3::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc3::IfcProcedure Ifc4x3_rc3::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value Ifc4x3_rc3::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12957,7 +12957,7 @@ void Ifc4x3_rc3::IfcProcedureType::setPredefinedType(const ::Ifc4x3_rc3::IfcProc const ifcopenshell::entity& Ifc4x3_rc3::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[804]); } -void Ifc4x3_rc3::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcProcedureType Ifc4x3_rc3::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_rc3::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12970,7 +12970,7 @@ std::vector<::Ifc4x3_rc3::IfcRelSequence> Ifc4x3_rc3::IfcProcess::IsSuccessorFro std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[911], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[806]); } -void Ifc4x3_rc3::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc3::IfcProcess Ifc4x3_rc3::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_rc3::IfcObjectPlacement Ifc4x3_rc3::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc3::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcObjectPlacement>(); } @@ -12983,7 +12983,7 @@ std::vector<::Ifc4x3_rc3::IfcRelPositions> Ifc4x3_rc3::IfcProduct::PositionedRel std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[808]); } -void Ifc4x3_rc3::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcProduct Ifc4x3_rc3::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -12991,7 +12991,7 @@ std::vector<::Ifc4x3_rc3::IfcProduct> Ifc4x3_rc3::IfcProductDefinitionShape::Sha std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1009], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[809]); } -void Ifc4x3_rc3::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc3::IfcProductDefinitionShape Ifc4x3_rc3::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13003,7 +13003,7 @@ void Ifc4x3_rc3::IfcProductRepresentation::setRepresentations(const std::vector< const ifcopenshell::entity& Ifc4x3_rc3::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[810]); } -void Ifc4x3_rc3::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc3::IfcProductRepresentation Ifc4x3_rc3::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_rc3::IfcProfileTypeEnum::Value Ifc4x3_rc3::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc3::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -13015,7 +13015,7 @@ std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcProfi std::vector<::Ifc4x3_rc3::IfcProfileProperties> Ifc4x3_rc3::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[814], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[813]); } -void Ifc4x3_rc3::IfcProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -13023,19 +13023,19 @@ void Ifc4x3_rc3::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[814]); } -void Ifc4x3_rc3::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_rc3::IfcProfileProperties Ifc4x3_rc3::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_rc3::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[816]); } -void Ifc4x3_rc3::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc3::IfcProject Ifc4x3_rc3::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[821]); } -void Ifc4x3_rc3::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc3::IfcProjectLibrary Ifc4x3_rc3::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc3::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -13047,7 +13047,7 @@ void Ifc4x3_rc3::IfcProjectOrder::setLongDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[822]); } -void Ifc4x3_rc3::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc3::IfcProjectOrder Ifc4x3_rc3::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13059,7 +13059,7 @@ void Ifc4x3_rc3::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc3::IfcNamedUnit& v const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[817]); } -void Ifc4x3_rc3::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc3::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_rc3::IfcProjectedCRS Ifc4x3_rc3::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc3::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc3::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13067,7 +13067,7 @@ void Ifc4x3_rc3::IfcProjectionElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[819]); } -void Ifc4x3_rc3::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcProjectionElement Ifc4x3_rc3::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_rc3::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13083,14 +13083,14 @@ std::vector<::Ifc4x3_rc3::IfcResourceConstraintRelationship> Ifc4x3_rc3::IfcProp std::vector<::Ifc4x3_rc3::IfcResourceApprovalRelationship> Ifc4x3_rc3::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[961], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[824]); } -void Ifc4x3_rc3::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc3::IfcProperty Ifc4x3_rc3::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[825]); } -void Ifc4x3_rc3::IfcPropertyAbstraction::initialize() { } +Ifc4x3_rc3::IfcPropertyAbstraction Ifc4x3_rc3::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcValue>(); } @@ -13104,7 +13104,7 @@ void Ifc4x3_rc3::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[826]); } -void Ifc4x3_rc3::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc3::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc3::IfcUnit v5_Unit, ::Ifc4x3_rc3::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_rc3::IfcPropertyBoundedValue Ifc4x3_rc3::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc3::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc3::IfcUnit v5_Unit, ::Ifc4x3_rc3::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13112,7 +13112,7 @@ std::vector<::Ifc4x3_rc3::IfcRelDeclares> Ifc4x3_rc3::IfcPropertyDefinition::Has std::vector<::Ifc4x3_rc3::IfcRelAssociates> Ifc4x3_rc3::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[914], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[827]); } -void Ifc4x3_rc3::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcPropertyDefinition Ifc4x3_rc3::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_rc3::IfcProperty Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcProperty>(); } @@ -13124,7 +13124,7 @@ void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setExpression(const std::opt const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[828]); } -void Ifc4x3_rc3::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc3::IfcPropertyDependencyRelationship Ifc4x3_rc3::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } @@ -13134,7 +13134,7 @@ void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[829]); } -void Ifc4x3_rc3::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_rc3::IfcPropertyEnumeratedValue Ifc4x3_rc3::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc3::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13146,7 +13146,7 @@ void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[830]); } -void Ifc4x3_rc3::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc3::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc3::IfcPropertyEnumeration Ifc4x3_rc3::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc3::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } @@ -13156,7 +13156,7 @@ void Ifc4x3_rc3::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[831]); } -void Ifc4x3_rc3::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_ListValues, ::Ifc4x3_rc3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc3::IfcPropertyListValue Ifc4x3_rc3::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_ListValues, ::Ifc4x3_rc3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13166,7 +13166,7 @@ void Ifc4x3_rc3::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[832]); } -void Ifc4x3_rc3::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc3::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_rc3::IfcPropertyReferenceValue Ifc4x3_rc3::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc3::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_rc3::IfcProperty > Ifc4x3_rc3::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcProperty>(es); } @@ -13174,7 +13174,7 @@ void Ifc4x3_rc3::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[833]); } -void Ifc4x3_rc3::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_rc3::IfcPropertySet Ifc4x3_rc3::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13183,7 +13183,7 @@ std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetDef std::vector<::Ifc4x3_rc3::IfcRelDefinesByProperties> Ifc4x3_rc3::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[939], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[834]); } -void Ifc4x3_rc3::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcPropertySetDefinition Ifc4x3_rc3::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc3::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13196,7 +13196,7 @@ void Ifc4x3_rc3::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vect std::vector<::Ifc4x3_rc3::IfcRelDefinesByTemplate> Ifc4x3_rc3::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[940], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[837]); } -void Ifc4x3_rc3::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_rc3::IfcPropertySetTemplate Ifc4x3_rc3::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_rc3::IfcValue Ifc4x3_rc3::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcValue>(); } @@ -13206,7 +13206,7 @@ void Ifc4x3_rc3::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[839]); } -void Ifc4x3_rc3::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_NominalValue, ::Ifc4x3_rc3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc3::IfcPropertySingleValue Ifc4x3_rc3::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_NominalValue, ::Ifc4x3_rc3::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } @@ -13224,7 +13224,7 @@ void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[840]); } -void Ifc4x3_rc3::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_rc3::IfcPropertyTableValue Ifc4x3_rc3::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13232,13 +13232,13 @@ std::vector<::Ifc4x3_rc3::IfcComplexPropertyTemplate> Ifc4x3_rc3::IfcPropertyTem std::vector<::Ifc4x3_rc3::IfcPropertySetTemplate> Ifc4x3_rc3::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[837], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[841]); } -void Ifc4x3_rc3::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcPropertyTemplate Ifc4x3_rc3::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_rc3::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[842]); } -void Ifc4x3_rc3::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcPropertyTemplateDefinition Ifc4x3_rc3::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13246,7 +13246,7 @@ void Ifc4x3_rc3::IfcProtectiveDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[843]); } -void Ifc4x3_rc3::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcProtectiveDevice Ifc4x3_rc3::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13254,7 +13254,7 @@ void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[844]); } -void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13262,7 +13262,7 @@ void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[845]); } -void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13270,7 +13270,7 @@ void Ifc4x3_rc3::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[847]); } -void Ifc4x3_rc3::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcProtectiveDeviceType Ifc4x3_rc3::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4x3_rc3::IfcObjectTypeEnum::Value Ifc4x3_rc3::IfcProxy::ProxyType() const { return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -13280,7 +13280,7 @@ void Ifc4x3_rc3::IfcProxy::setTag(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x3_rc3::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[849]); } -void Ifc4x3_rc3::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4x3_rc3::IfcProxy Ifc4x3_rc3::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > Ifc4x3_rc3::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13288,7 +13288,7 @@ void Ifc4x3_rc3::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[850]); } -void Ifc4x3_rc3::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcPump Ifc4x3_rc3::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_rc3::IfcPumpTypeEnum::Value Ifc4x3_rc3::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13296,7 +13296,7 @@ void Ifc4x3_rc3::IfcPumpType::setPredefinedType(const ::Ifc4x3_rc3::IfcPumpTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[851]); } -void Ifc4x3_rc3::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcPumpType Ifc4x3_rc3::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_rc3::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13306,7 +13306,7 @@ void Ifc4x3_rc3::IfcQuantityArea::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[853]); } -void Ifc4x3_rc3::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc3::IfcQuantityArea Ifc4x3_rc3::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4x3_rc3::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -13316,7 +13316,7 @@ void Ifc4x3_rc3::IfcQuantityCount::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[854]); } -void Ifc4x3_rc3::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc3::IfcQuantityCount Ifc4x3_rc3::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_rc3::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13326,13 +13326,13 @@ void Ifc4x3_rc3::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[855]); } -void Ifc4x3_rc3::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc3::IfcQuantityLength Ifc4x3_rc3::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[856]); } -void Ifc4x3_rc3::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcQuantitySet Ifc4x3_rc3::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_rc3::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13342,7 +13342,7 @@ void Ifc4x3_rc3::IfcQuantityTime::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[857]); } -void Ifc4x3_rc3::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc3::IfcQuantityTime Ifc4x3_rc3::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_rc3::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13352,7 +13352,7 @@ void Ifc4x3_rc3::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[858]); } -void Ifc4x3_rc3::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc3::IfcQuantityVolume Ifc4x3_rc3::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_rc3::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13362,7 +13362,7 @@ void Ifc4x3_rc3::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[859]); } -void Ifc4x3_rc3::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc3::IfcQuantityWeight Ifc4x3_rc3::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > Ifc4x3_rc3::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13370,7 +13370,7 @@ void Ifc4x3_rc3::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[861]); } -void Ifc4x3_rc3::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcRail Ifc4x3_rc3::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_rc3::IfcRailTypeEnum::Value Ifc4x3_rc3::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13378,7 +13378,7 @@ void Ifc4x3_rc3::IfcRailType::setPredefinedType(const ::Ifc4x3_rc3::IfcRailTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[865]); } -void Ifc4x3_rc3::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcRailType Ifc4x3_rc3::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > Ifc4x3_rc3::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13386,7 +13386,7 @@ void Ifc4x3_rc3::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[862]); } -void Ifc4x3_rc3::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcRailing Ifc4x3_rc3::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_rc3::IfcRailingTypeEnum::Value Ifc4x3_rc3::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13394,7 +13394,7 @@ void Ifc4x3_rc3::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc3::IfcRailin const ifcopenshell::entity& Ifc4x3_rc3::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[863]); } -void Ifc4x3_rc3::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcRailingType Ifc4x3_rc3::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > Ifc4x3_rc3::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } @@ -13402,7 +13402,7 @@ void Ifc4x3_rc3::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[867]); } -void Ifc4x3_rc3::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcRailway Ifc4x3_rc3::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > Ifc4x3_rc3::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13410,7 +13410,7 @@ void Ifc4x3_rc3::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[870]); } -void Ifc4x3_rc3::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcRamp Ifc4x3_rc3::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > Ifc4x3_rc3::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13418,7 +13418,7 @@ void Ifc4x3_rc3::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[871]); } -void Ifc4x3_rc3::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcRampFlight Ifc4x3_rc3::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value Ifc4x3_rc3::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13426,7 +13426,7 @@ void Ifc4x3_rc3::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_rc3::IfcRam const ifcopenshell::entity& Ifc4x3_rc3::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[872]); } -void Ifc4x3_rc3::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcRampFlightType Ifc4x3_rc3::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_rc3::IfcRampTypeEnum::Value Ifc4x3_rc3::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13434,7 +13434,7 @@ void Ifc4x3_rc3::IfcRampType::setPredefinedType(const ::Ifc4x3_rc3::IfcRampTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[874]); } -void Ifc4x3_rc3::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcRampType Ifc4x3_rc3::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13442,7 +13442,7 @@ void Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vec const ifcopenshell::entity& Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[877]); } -void Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13450,7 +13450,7 @@ void Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::v const ifcopenshell::entity& Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[878]); } -void Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_rc3::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13462,7 +13462,7 @@ void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[880]); } -void Ifc4x3_rc3::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_rc3::IfcRectangleHollowProfileDef Ifc4x3_rc3::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_rc3::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13472,7 +13472,7 @@ void Ifc4x3_rc3::IfcRectangleProfileDef::setYDim(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[881]); } -void Ifc4x3_rc3::IfcRectangleProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_rc3::IfcRectangleProfileDef Ifc4x3_rc3::IfcRectangleProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_rc3::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13484,7 +13484,7 @@ void Ifc4x3_rc3::IfcRectangularPyramid::setHeight(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[882]); } -void Ifc4x3_rc3::IfcRectangularPyramid::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_rc3::IfcRectangularPyramid Ifc4x3_rc3::IfcRectangularPyramid::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -13504,7 +13504,7 @@ void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[883]); } -void Ifc4x3_rc3::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_rc3::IfcRectangularTrimmedSurface Ifc4x3_rc3::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value Ifc4x3_rc3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc3::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13526,7 +13526,7 @@ void Ifc4x3_rc3::IfcRecurrencePattern::setTimePeriods(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[884]); } -void Ifc4x3_rc3::IfcRecurrencePattern::initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_rc3::IfcRecurrencePattern Ifc4x3_rc3::IfcRecurrencePattern::initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_rc3::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13542,7 +13542,7 @@ void Ifc4x3_rc3::IfcReference::setInnerReference(const ::Ifc4x3_rc3::IfcReferenc const ifcopenshell::entity& Ifc4x3_rc3::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[886]); } -void Ifc4x3_rc3::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc3::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_rc3::IfcReference Ifc4x3_rc3::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc3::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > Ifc4x3_rc3::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13552,7 +13552,7 @@ void Ifc4x3_rc3::IfcReferent::setRestartDistance(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc3::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[887]); } -void Ifc4x3_rc3::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); } } +Ifc4x3_rc3::IfcReferent Ifc4x3_rc3::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc3::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13562,7 +13562,7 @@ void Ifc4x3_rc3::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[890]); } -void Ifc4x3_rc3::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_rc3::IfcRegularTimeSeries Ifc4x3_rc3::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc3::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13570,7 +13570,7 @@ void Ifc4x3_rc3::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[891]); } -void Ifc4x3_rc3::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcReinforcedSoil Ifc4x3_rc3::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_rc3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13588,7 +13588,7 @@ void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarCount(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[893]); } -void Ifc4x3_rc3::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_rc3::IfcReinforcementBarProperties Ifc4x3_rc3::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_rc3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13598,7 +13598,7 @@ void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setReinforcementSectionDe const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[894]); } -void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_rc3::IfcReinforcementDefinitionProperties Ifc4x3_rc3::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_rc3::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13614,7 +13614,7 @@ void Ifc4x3_rc3::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[895]); } -void Ifc4x3_rc3::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_rc3::IfcReinforcingBar Ifc4x3_rc3::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13634,7 +13634,7 @@ void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(const std::optional const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[898]); } -void Ifc4x3_rc3::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_rc3::IfcReinforcingBarType Ifc4x3_rc3::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_rc3::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13642,13 +13642,13 @@ void Ifc4x3_rc3::IfcReinforcingElement::setSteelGrade(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[900]); } -void Ifc4x3_rc3::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_rc3::IfcReinforcingElement Ifc4x3_rc3::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[901]); } -void Ifc4x3_rc3::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcReinforcingElementType Ifc4x3_rc3::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13672,7 +13672,7 @@ void Ifc4x3_rc3::IfcReinforcingMesh::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[902]); } -void Ifc4x3_rc3::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_rc3::IfcReinforcingMesh Ifc4x3_rc3::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13700,7 +13700,7 @@ void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[903]); } -void Ifc4x3_rc3::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_rc3::IfcReinforcingMeshType Ifc4x3_rc3::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_rc3::IfcObjectDefinition Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcObjectDefinition>(); } @@ -13710,7 +13710,7 @@ void Ifc4x3_rc3::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[905]); } -void Ifc4x3_rc3::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc3::IfcRelAggregates Ifc4x3_rc3::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } @@ -13720,7 +13720,7 @@ void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[906]); } -void Ifc4x3_rc3::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x3_rc3::IfcRelAssigns Ifc4x3_rc3::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_rc3::IfcActor Ifc4x3_rc3::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcActor>(); } @@ -13730,7 +13730,7 @@ void Ifc4x3_rc3::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc3::IfcActo const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[907]); } -void Ifc4x3_rc3::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_rc3::IfcRelAssignsToActor Ifc4x3_rc3::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_rc3::IfcControl Ifc4x3_rc3::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcControl>(); } @@ -13738,7 +13738,7 @@ void Ifc4x3_rc3::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[908]); } -void Ifc4x3_rc3::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_rc3::IfcRelAssignsToControl Ifc4x3_rc3::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_rc3::IfcGroup Ifc4x3_rc3::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcGroup>(); } @@ -13746,7 +13746,7 @@ void Ifc4x3_rc3::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc3::IfcG const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[909]); } -void Ifc4x3_rc3::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_rc3::IfcRelAssignsToGroup Ifc4x3_rc3::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13754,7 +13754,7 @@ void Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[910]); } -void Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_rc3::IfcRelAssignsToGroupByFactor Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_rc3::IfcProcessSelect Ifc4x3_rc3::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcProcessSelect>(); } @@ -13764,7 +13764,7 @@ void Ifc4x3_rc3::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[911]); } -void Ifc4x3_rc3::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_rc3::IfcRelAssignsToProcess Ifc4x3_rc3::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_rc3::IfcProductSelect Ifc4x3_rc3::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcProductSelect>(); } @@ -13772,7 +13772,7 @@ void Ifc4x3_rc3::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[912]); } -void Ifc4x3_rc3::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_rc3::IfcRelAssignsToProduct Ifc4x3_rc3::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_rc3::IfcResourceSelect Ifc4x3_rc3::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc3::IfcResourceSelect>(); } @@ -13780,7 +13780,7 @@ void Ifc4x3_rc3::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[913]); } -void Ifc4x3_rc3::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_rc3::IfcRelAssignsToResource Ifc4x3_rc3::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcDefinitionSelect>(es); } @@ -13788,7 +13788,7 @@ void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[914]); } -void Ifc4x3_rc3::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_rc3::IfcRelAssociates Ifc4x3_rc3::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc3::IfcApproval Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcApproval>(); } @@ -13796,7 +13796,7 @@ void Ifc4x3_rc3::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[915]); } -void Ifc4x3_rc3::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_rc3::IfcRelAssociatesApproval Ifc4x3_rc3::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc3::IfcClassificationSelect Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcClassificationSelect>(); } @@ -13804,7 +13804,7 @@ void Ifc4x3_rc3::IfcRelAssociatesClassification::setRelatingClassification(const const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[916]); } -void Ifc4x3_rc3::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_rc3::IfcRelAssociatesClassification Ifc4x3_rc3::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13814,7 +13814,7 @@ void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[917]); } -void Ifc4x3_rc3::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_rc3::IfcRelAssociatesConstraint Ifc4x3_rc3::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc3::IfcDocumentSelect Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcDocumentSelect>(); } @@ -13822,7 +13822,7 @@ void Ifc4x3_rc3::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[918]); } -void Ifc4x3_rc3::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_rc3::IfcRelAssociatesDocument Ifc4x3_rc3::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc3::IfcLibrarySelect Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcLibrarySelect>(); } @@ -13830,7 +13830,7 @@ void Ifc4x3_rc3::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[919]); } -void Ifc4x3_rc3::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_rc3::IfcRelAssociatesLibrary Ifc4x3_rc3::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc3::IfcMaterialSelect Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcMaterialSelect>(); } @@ -13838,7 +13838,7 @@ void Ifc4x3_rc3::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[920]); } -void Ifc4x3_rc3::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_rc3::IfcRelAssociatesMaterial Ifc4x3_rc3::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -13846,13 +13846,13 @@ void Ifc4x3_rc3::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[921]); } -void Ifc4x3_rc3::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_rc3::IfcRelAssociatesProfileDef Ifc4x3_rc3::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[923]); } -void Ifc4x3_rc3::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcRelConnects Ifc4x3_rc3::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc3::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } @@ -13864,7 +13864,7 @@ void Ifc4x3_rc3::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[924]); } -void Ifc4x3_rc3::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_rc3::IfcRelConnectsElements Ifc4x3_rc3::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_rc3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13878,7 +13878,7 @@ void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatingConnectionType(const ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[925]); } -void Ifc4x3_rc3::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_rc3::IfcRelConnectsPathElements Ifc4x3_rc3::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPort>(); } @@ -13888,7 +13888,7 @@ void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[927]); } -void Ifc4x3_rc3::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_rc3::IfcRelConnectsPortToElement Ifc4x3_rc3::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_rc3::IfcPort Ifc4x3_rc3::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPort>(); } @@ -13900,7 +13900,7 @@ void Ifc4x3_rc3::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[926]); } -void Ifc4x3_rc3::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcPort v6_RelatedPort, ::Ifc4x3_rc3::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_rc3::IfcRelConnectsPorts Ifc4x3_rc3::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcPort v6_RelatedPort, ::Ifc4x3_rc3::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect>(); } @@ -13910,7 +13910,7 @@ void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity( const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[928]); } -void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_rc3::IfcRelConnectsStructuralActivity Ifc4x3_rc3::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_rc3::IfcStructuralMember Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcStructuralMember>(); } @@ -13928,7 +13928,7 @@ void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(co const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[929]); } -void Ifc4x3_rc3::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_rc3::IfcRelConnectsStructuralMember Ifc4x3_rc3::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_rc3::IfcConnectionGeometry Ifc4x3_rc3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcConnectionGeometry>(); } @@ -13936,7 +13936,7 @@ void Ifc4x3_rc3::IfcRelConnectsWithEccentricity::setConnectionConstraint(const : const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[930]); } -void Ifc4x3_rc3::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc3::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_rc3::IfcRelConnectsWithEccentricity Ifc4x3_rc3::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc3::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_rc3::IfcElement > Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc3::IfcElement>(es); } @@ -13946,7 +13946,7 @@ void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setConnectionType(const st const ifcopenshell::entity& Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[931]); } -void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_rc3::IfcRelConnectsWithRealizingElements Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_rc3::IfcProduct > Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcProduct>(es); } @@ -13956,7 +13956,7 @@ void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatingStructure(const : const ifcopenshell::entity& Ifc4x3_rc3::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[932]); } -void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc3::IfcRelContainedInSpatialStructure Ifc4x3_rc3::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcElement>(); } @@ -13966,7 +13966,7 @@ void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector const ifcopenshell::entity& Ifc4x3_rc3::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[933]); } -void Ifc4x3_rc3::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc3::IfcRelCoversBldgElements Ifc4x3_rc3::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_rc3::IfcSpace Ifc4x3_rc3::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSpace>(); } @@ -13976,7 +13976,7 @@ void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[934]); } -void Ifc4x3_rc3::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc3::IfcRelCoversSpaces Ifc4x3_rc3::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_rc3::IfcContext Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcContext>(); } @@ -13986,19 +13986,19 @@ void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[935]); } -void Ifc4x3_rc3::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_rc3::IfcRelDeclares Ifc4x3_rc3::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[936]); } -void Ifc4x3_rc3::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcRelDecomposes Ifc4x3_rc3::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[937]); } -void Ifc4x3_rc3::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcRelDefines Ifc4x3_rc3::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_rc3::IfcObject > Ifc4x3_rc3::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObject>(es); } @@ -14008,7 +14008,7 @@ void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[938]); } -void Ifc4x3_rc3::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_rc3::IfcRelDefinesByObject Ifc4x3_rc3::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > Ifc4x3_rc3::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObjectDefinition>(es); } @@ -14018,7 +14018,7 @@ void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[939]); } -void Ifc4x3_rc3::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_rc3::IfcRelDefinesByProperties Ifc4x3_rc3::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcPropertySetDefinition>(es); } @@ -14028,7 +14028,7 @@ void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[940]); } -void Ifc4x3_rc3::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc3::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_rc3::IfcRelDefinesByTemplate Ifc4x3_rc3::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc3::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_rc3::IfcObject > Ifc4x3_rc3::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcObject>(es); } @@ -14038,7 +14038,7 @@ void Ifc4x3_rc3::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc3::IfcTyp const ifcopenshell::entity& Ifc4x3_rc3::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[941]); } -void Ifc4x3_rc3::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_rc3::IfcRelDefinesByType Ifc4x3_rc3::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_rc3::IfcOpeningElement Ifc4x3_rc3::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcOpeningElement>(); } @@ -14048,7 +14048,7 @@ void Ifc4x3_rc3::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[942]); } -void Ifc4x3_rc3::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_rc3::IfcRelFillsElement Ifc4x3_rc3::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > Ifc4x3_rc3::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcDistributionControlElement>(es); } @@ -14058,7 +14058,7 @@ void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[943]); } -void Ifc4x3_rc3::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_rc3::IfcRelFlowControlElements Ifc4x3_rc3::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_rc3::IfcInterferenceSelect Ifc4x3_rc3::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcInterferenceSelect>(); } @@ -14074,7 +14074,7 @@ void Ifc4x3_rc3::IfcRelInterferesElements::setImpliedOrder(const boost::logic::t const ifcopenshell::entity& Ifc4x3_rc3::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[944]); } -void Ifc4x3_rc3::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder)); } +Ifc4x3_rc3::IfcRelInterferesElements Ifc4x3_rc3::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_rc3::IfcObjectDefinition Ifc4x3_rc3::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcObjectDefinition>(); } @@ -14084,7 +14084,7 @@ void Ifc4x3_rc3::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[945]); } -void Ifc4x3_rc3::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc3::IfcRelNests Ifc4x3_rc3::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_rc3::IfcPositioningElement Ifc4x3_rc3::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcPositioningElement>(); } @@ -14094,7 +14094,7 @@ void Ifc4x3_rc3::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[946]); } -void Ifc4x3_rc3::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc3::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_rc3::IfcRelPositions Ifc4x3_rc3::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc3::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcElement>(); } @@ -14104,7 +14104,7 @@ void Ifc4x3_rc3::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[947]); } -void Ifc4x3_rc3::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_rc3::IfcRelProjectsElement Ifc4x3_rc3::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect > Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc3::IfcSpatialReferenceSelect>(es); } @@ -14114,7 +14114,7 @@ void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[948]); } -void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc3::IfcRelReferencedInSpatialStructure Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_rc3::IfcProcess Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProcess>(); } @@ -14130,7 +14130,7 @@ void Ifc4x3_rc3::IfcRelSequence::setUserDefinedSequenceType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[949]); } -void Ifc4x3_rc3::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_rc3::IfcRelSequence Ifc4x3_rc3::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_rc3::IfcSystem Ifc4x3_rc3::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSystem>(); } @@ -14140,7 +14140,7 @@ void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< const ifcopenshell::entity& Ifc4x3_rc3::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[950]); } -void Ifc4x3_rc3::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc3::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_rc3::IfcRelServicesBuildings Ifc4x3_rc3::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc3::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_rc3::IfcSpaceBoundarySelect Ifc4x3_rc3::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcSpaceBoundarySelect>(); } @@ -14156,7 +14156,7 @@ void Ifc4x3_rc3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[951]); } -void Ifc4x3_rc3::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_rc3::IfcRelSpaceBoundary Ifc4x3_rc3::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel>(); } @@ -14165,7 +14165,7 @@ void Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_r std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[952], 9)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[952]); } -void Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel>(); } @@ -14174,7 +14174,7 @@ void Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::I std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[953], 10)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[953]); } -void Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_rc3::IfcElement Ifc4x3_rc3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcElement>(); } @@ -14184,13 +14184,13 @@ void Ifc4x3_rc3::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[954]); } -void Ifc4x3_rc3::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc3::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_rc3::IfcRelVoidsElement Ifc4x3_rc3::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc3::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_rc3::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[922]); } -void Ifc4x3_rc3::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcRelationship Ifc4x3_rc3::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14198,7 +14198,7 @@ void Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::setParamLength(const do const ifcopenshell::entity& Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[955]); } -void Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_rc3::IfcRepresentationContext Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcRepresentationContext>(); } @@ -14215,7 +14215,7 @@ std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcReprese std::vector<::Ifc4x3_rc3::IfcProductRepresentation> Ifc4x3_rc3::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[810], 2)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[956]); } -void Ifc4x3_rc3::IfcRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc3::IfcRepresentation Ifc4x3_rc3::IfcRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14226,7 +14226,7 @@ void Ifc4x3_rc3::IfcRepresentationContext::setContextType(const std::optional< s std::vector<::Ifc4x3_rc3::IfcRepresentation> Ifc4x3_rc3::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[956], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[957]); } -void Ifc4x3_rc3::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_rc3::IfcRepresentationContext Ifc4x3_rc3::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14234,7 +14234,7 @@ std::vector<::Ifc4x3_rc3::IfcPresentationLayerAssignment> Ifc4x3_rc3::IfcReprese std::vector<::Ifc4x3_rc3::IfcStyledItem> Ifc4x3_rc3::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1122], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[958]); } -void Ifc4x3_rc3::IfcRepresentationItem::initialize() { } +Ifc4x3_rc3::IfcRepresentationItem Ifc4x3_rc3::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } @@ -14246,7 +14246,7 @@ std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcRepresentationMap::HasS std::vector<::Ifc4x3_rc3::IfcMappedItem> Ifc4x3_rc3::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[632], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[959]); } -void Ifc4x3_rc3::IfcRepresentationMap::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc3::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_rc3::IfcRepresentationMap Ifc4x3_rc3::IfcRepresentationMap::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc3::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_rc3::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14257,7 +14257,7 @@ void Ifc4x3_rc3::IfcResource::setLongDescription(const std::optional< std::strin std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[913], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[960]); } -void Ifc4x3_rc3::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc3::IfcResource Ifc4x3_rc3::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcResourceObjectSelect>(es); } @@ -14267,7 +14267,7 @@ void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(const ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[961]); } -void Ifc4x3_rc3::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_rc3::IfcResourceApprovalRelationship Ifc4x3_rc3::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc3::IfcConstraint Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcConstraint>(); } @@ -14277,7 +14277,7 @@ void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[962]); } -void Ifc4x3_rc3::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc3::IfcResourceConstraintRelationship Ifc4x3_rc3::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14287,7 +14287,7 @@ void Ifc4x3_rc3::IfcResourceLevelRelationship::setDescription(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[963]); } -void Ifc4x3_rc3::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc3::IfcResourceLevelRelationship Ifc4x3_rc3::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14323,7 +14323,7 @@ void Ifc4x3_rc3::IfcResourceTime::setCompletion(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc3::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[966]); } -void Ifc4x3_rc3::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_rc3::IfcResourceTime Ifc4x3_rc3::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_rc3::IfcAxis1Placement Ifc4x3_rc3::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis1Placement>(); } @@ -14333,7 +14333,7 @@ void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc3::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[967]); } -void Ifc4x3_rc3::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_rc3::IfcRevolvedAreaSolid Ifc4x3_rc3::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -14341,7 +14341,7 @@ void Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc3 const ifcopenshell::entity& Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[968]); } -void Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc3::IfcRevolvedAreaSolidTapered Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_rc3::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14351,7 +14351,7 @@ void Ifc4x3_rc3::IfcRightCircularCone::setBottomRadius(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[969]); } -void Ifc4x3_rc3::IfcRightCircularCone::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_rc3::IfcRightCircularCone Ifc4x3_rc3::IfcRightCircularCone::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_rc3::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14361,7 +14361,7 @@ void Ifc4x3_rc3::IfcRightCircularCylinder::setRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_rc3::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[970]); } -void Ifc4x3_rc3::IfcRightCircularCylinder::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_rc3::IfcRightCircularCylinder Ifc4x3_rc3::IfcRightCircularCylinder::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoad std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > Ifc4x3_rc3::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } @@ -14369,7 +14369,7 @@ void Ifc4x3_rc3::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[971]); } -void Ifc4x3_rc3::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcRoad Ifc4x3_rc3::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > Ifc4x3_rc3::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14377,7 +14377,7 @@ void Ifc4x3_rc3::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[975]); } -void Ifc4x3_rc3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcRoof Ifc4x3_rc3::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_rc3::IfcRoofTypeEnum::Value Ifc4x3_rc3::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14385,7 +14385,7 @@ void Ifc4x3_rc3::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc3::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[976]); } -void Ifc4x3_rc3::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcRoofType Ifc4x3_rc3::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_rc3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14399,7 +14399,7 @@ void Ifc4x3_rc3::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[978]); } -void Ifc4x3_rc3::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc3::IfcRoot Ifc4x3_rc3::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_rc3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14407,7 +14407,7 @@ void Ifc4x3_rc3::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_rc3::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[983]); } -void Ifc4x3_rc3::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_rc3::IfcRoundedRectangleProfileDef Ifc4x3_rc3::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > Ifc4x3_rc3::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14417,7 +14417,7 @@ void Ifc4x3_rc3::IfcSIUnit::setName(const ::Ifc4x3_rc3::IfcSIUnitName::Value& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1028]); } -void Ifc4x3_rc3::IfcSIUnit::initialize(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc3::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_rc3::IfcSIUnit Ifc4x3_rc3::IfcSIUnit::initialize(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc3::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc3::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14425,7 +14425,7 @@ void Ifc4x3_rc3::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[984]); } -void Ifc4x3_rc3::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSanitaryTerminal Ifc4x3_rc3::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14433,7 +14433,7 @@ void Ifc4x3_rc3::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[985]); } -void Ifc4x3_rc3::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSanitaryTerminalType Ifc4x3_rc3::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14445,13 +14445,13 @@ void Ifc4x3_rc3::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional const ifcopenshell::entity& Ifc4x3_rc3::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[987]); } -void Ifc4x3_rc3::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_rc3::IfcSchedulingTime Ifc4x3_rc3::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_rc3::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[988]); } -void Ifc4x3_rc3::IfcSeamCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc3::IfcSeamCurve Ifc4x3_rc3::IfcSeamCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSecondOrderPolynomialSpiral double Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } @@ -14463,7 +14463,7 @@ void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::opti const ifcopenshell::entity& Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[989]); } -void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_rc3::IfcSectionTypeEnum::Value Ifc4x3_rc3::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14475,7 +14475,7 @@ void Ifc4x3_rc3::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc3::IfcProf const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[996]); } -void Ifc4x3_rc3::IfcSectionProperties::initialize(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc3::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc3::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_rc3::IfcSectionProperties Ifc4x3_rc3::IfcSectionProperties::initialize(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc3::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc3::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_rc3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14493,7 +14493,7 @@ void Ifc4x3_rc3::IfcSectionReinforcementProperties::setCrossSectionReinforcement const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[997]); } -void Ifc4x3_rc3::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_rc3::IfcSectionReinforcementProperties Ifc4x3_rc3::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -14503,7 +14503,7 @@ void Ifc4x3_rc3::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[991]); } -void Ifc4x3_rc3::IfcSectionedSolid::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_rc3::IfcSectionedSolid Ifc4x3_rc3::IfcSectionedSolid::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > Ifc4x3_rc3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(es); } @@ -14513,7 +14513,7 @@ void Ifc4x3_rc3::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[992]); } -void Ifc4x3_rc3::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc3::IfcSectionedSolidHorizontal Ifc4x3_rc3::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_rc3::IfcCompositeCurve Ifc4x3_rc3::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCompositeCurve>(); } @@ -14525,7 +14525,7 @@ void Ifc4x3_rc3::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[993]); } -void Ifc4x3_rc3::IfcSectionedSpine::initialize(::Ifc4x3_rc3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_rc3::IfcSectionedSpine Ifc4x3_rc3::IfcSectionedSpine::initialize(::Ifc4x3_rc3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -14539,7 +14539,7 @@ void Ifc4x3_rc3::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_ const ifcopenshell::entity& Ifc4x3_rc3::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[994]); } -void Ifc4x3_rc3::IfcSectionedSurface::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc3::IfcSectionedSurface Ifc4x3_rc3::IfcSectionedSurface::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSegment ::Ifc4x3_rc3::IfcTransitionCode::Value Ifc4x3_rc3::IfcSegment::Transition() const { return ::Ifc4x3_rc3::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14548,7 +14548,7 @@ void Ifc4x3_rc3::IfcSegment::setTransition(const ::Ifc4x3_rc3::IfcTransitionCode std::vector<::Ifc4x3_rc3::IfcCompositeCurve> Ifc4x3_rc3::IfcSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[194], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[999]); } -void Ifc4x3_rc3::IfcSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3_rc3::IfcSegment Ifc4x3_rc3::IfcSegment::initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3_rc3::IfcBoundedCurve Ifc4x3_rc3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcBoundedCurve>(); } @@ -14558,7 +14558,7 @@ void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1000]); } -void Ifc4x3_rc3::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_rc3::IfcSegmentedReferenceCurve Ifc4x3_rc3::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > Ifc4x3_rc3::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14566,7 +14566,7 @@ void Ifc4x3_rc3::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1002]); } -void Ifc4x3_rc3::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSensor Ifc4x3_rc3::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_rc3::IfcSensorTypeEnum::Value Ifc4x3_rc3::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14574,7 +14574,7 @@ void Ifc4x3_rc3::IfcSensorType::setPredefinedType(const ::Ifc4x3_rc3::IfcSensorT const ifcopenshell::entity& Ifc4x3_rc3::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1003]); } -void Ifc4x3_rc3::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSensorType Ifc4x3_rc3::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14582,7 +14582,7 @@ void Ifc4x3_rc3::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1006]); } -void Ifc4x3_rc3::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcShadingDevice Ifc4x3_rc3::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc3::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14590,7 +14590,7 @@ void Ifc4x3_rc3::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1007]); } -void Ifc4x3_rc3::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcShadingDeviceType Ifc4x3_rc3::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_rc3::IfcShapeModel > Ifc4x3_rc3::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcShapeModel>(es); } @@ -14607,20 +14607,20 @@ void Ifc4x3_rc3::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_ std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1009]); } -void Ifc4x3_rc3::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_rc3::IfcShapeAspect Ifc4x3_rc3::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_rc3::IfcShapeAspect> Ifc4x3_rc3::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1009], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1010]); } -void Ifc4x3_rc3::IfcShapeModel::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc3::IfcShapeModel Ifc4x3_rc3::IfcShapeModel::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_rc3::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1011]); } -void Ifc4x3_rc3::IfcShapeRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc3::IfcShapeRepresentation Ifc4x3_rc3::IfcShapeRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_rc3::IfcShell > Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcShell>(es); } @@ -14628,7 +14628,7 @@ void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1014]); } -void Ifc4x3_rc3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_rc3::IfcShellBasedSurfaceModel Ifc4x3_rc3::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc3::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > Ifc4x3_rc3::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14636,7 +14636,7 @@ void Ifc4x3_rc3::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1015]); } -void Ifc4x3_rc3::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSign Ifc4x3_rc3::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_rc3::IfcSignTypeEnum::Value Ifc4x3_rc3::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14644,7 +14644,7 @@ void Ifc4x3_rc3::IfcSignType::setPredefinedType(const ::Ifc4x3_rc3::IfcSignTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1019]); } -void Ifc4x3_rc3::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSignType Ifc4x3_rc3::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > Ifc4x3_rc3::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14652,7 +14652,7 @@ void Ifc4x3_rc3::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1016]); } -void Ifc4x3_rc3::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSignal Ifc4x3_rc3::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_rc3::IfcSignalTypeEnum::Value Ifc4x3_rc3::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14660,13 +14660,13 @@ void Ifc4x3_rc3::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc3::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc3::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1017]); } -void Ifc4x3_rc3::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSignalType Ifc4x3_rc3::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_rc3::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1021]); } -void Ifc4x3_rc3::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc3::IfcSimpleProperty Ifc4x3_rc3::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14688,7 +14688,7 @@ void Ifc4x3_rc3::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1022]); } -void Ifc4x3_rc3::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc3::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_rc3::IfcSimplePropertyTemplate Ifc4x3_rc3::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc3::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSine double Ifc4x3_rc3::IfcSine::SineTerm() const { double v = get_attribute_value(1); return v; } @@ -14698,7 +14698,7 @@ void Ifc4x3_rc3::IfcSine::setLinearTerm(const double& v) { set_attribute_value(2 const ifcopenshell::entity& Ifc4x3_rc3::IfcSine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1025]); } -void Ifc4x3_rc3::IfcSine::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SineTerm, double v3_LinearTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm));set_attribute_value(2, (v3_LinearTerm)); } +Ifc4x3_rc3::IfcSine Ifc4x3_rc3::IfcSine::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SineTerm, double v3_LinearTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm));set_attribute_value(2, (v3_LinearTerm));; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14714,7 +14714,7 @@ void Ifc4x3_rc3::IfcSite::setSiteAddress(const ::Ifc4x3_rc3::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x3_rc3::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1027]); } -void Ifc4x3_rc3::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc3::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_rc3::IfcSite Ifc4x3_rc3::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc3::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > Ifc4x3_rc3::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14722,19 +14722,19 @@ void Ifc4x3_rc3::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1031]); } -void Ifc4x3_rc3::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSlab Ifc4x3_rc3::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1032]); } -void Ifc4x3_rc3::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSlabElementedCase Ifc4x3_rc3::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1033]); } -void Ifc4x3_rc3::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSlabStandardCase Ifc4x3_rc3::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_rc3::IfcSlabTypeEnum::Value Ifc4x3_rc3::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14742,7 +14742,7 @@ void Ifc4x3_rc3::IfcSlabType::setPredefinedType(const ::Ifc4x3_rc3::IfcSlabTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1034]); } -void Ifc4x3_rc3::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSlabType Ifc4x3_rc3::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14754,7 +14754,7 @@ void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageZ(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1036]); } -void Ifc4x3_rc3::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_rc3::IfcSlippageConnectionCondition Ifc4x3_rc3::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14762,7 +14762,7 @@ void Ifc4x3_rc3::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1037]); } -void Ifc4x3_rc3::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSolarDevice Ifc4x3_rc3::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc3::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14770,19 +14770,19 @@ void Ifc4x3_rc3::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc3::IfcSo const ifcopenshell::entity& Ifc4x3_rc3::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1038]); } -void Ifc4x3_rc3::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSolarDeviceType Ifc4x3_rc3::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_rc3::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1041]); } -void Ifc4x3_rc3::IfcSolidModel::initialize() { } +Ifc4x3_rc3::IfcSolidModel Ifc4x3_rc3::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSolidStratum const ifcopenshell::entity& Ifc4x3_rc3::IfcSolidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1043]); } -void Ifc4x3_rc3::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcSolidStratum Ifc4x3_rc3::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > Ifc4x3_rc3::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14794,7 +14794,7 @@ std::vector<::Ifc4x3_rc3::IfcRelCoversSpaces> Ifc4x3_rc3::IfcSpace::HasCoverings std::vector<::Ifc4x3_rc3::IfcRelSpaceBoundary> Ifc4x3_rc3::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[951], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1048]); } -void Ifc4x3_rc3::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_rc3::IfcSpace Ifc4x3_rc3::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc3::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14802,7 +14802,7 @@ void Ifc4x3_rc3::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1050]); } -void Ifc4x3_rc3::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSpaceHeater Ifc4x3_rc3::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14810,7 +14810,7 @@ void Ifc4x3_rc3::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_rc3::IfcSp const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1051]); } -void Ifc4x3_rc3::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSpaceHeaterType Ifc4x3_rc3::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value Ifc4x3_rc3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14820,7 +14820,7 @@ void Ifc4x3_rc3::IfcSpaceType::setLongName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_rc3::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1053]); } -void Ifc4x3_rc3::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc3::IfcSpaceType Ifc4x3_rc3::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_rc3::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14831,7 +14831,7 @@ std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSpatialElement std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1055]); } -void Ifc4x3_rc3::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc3::IfcSpatialElement Ifc4x3_rc3::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_rc3::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14839,7 +14839,7 @@ void Ifc4x3_rc3::IfcSpatialElementType::setElementType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1056]); } -void Ifc4x3_rc3::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcSpatialElementType Ifc4x3_rc3::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > Ifc4x3_rc3::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14847,13 +14847,13 @@ void Ifc4x3_rc3::IfcSpatialStructureElement::setCompositionType(const std::optio const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1058]); } -void Ifc4x3_rc3::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc3::IfcSpatialStructureElement Ifc4x3_rc3::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1059]); } -void Ifc4x3_rc3::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc3::IfcSpatialStructureElementType Ifc4x3_rc3::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc3::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14861,7 +14861,7 @@ void Ifc4x3_rc3::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1060]); } -void Ifc4x3_rc3::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSpatialZone Ifc4x3_rc3::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14871,7 +14871,7 @@ void Ifc4x3_rc3::IfcSpatialZoneType::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc3::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1061]); } -void Ifc4x3_rc3::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc3::IfcSpatialZoneType Ifc4x3_rc3::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_rc3::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14879,7 +14879,7 @@ void Ifc4x3_rc3::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc3::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1067]); } -void Ifc4x3_rc3::IfcSphere::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc3::IfcSphere Ifc4x3_rc3::IfcSphere::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_rc3::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14887,7 +14887,7 @@ void Ifc4x3_rc3::IfcSphericalSurface::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc3::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1068]); } -void Ifc4x3_rc3::IfcSphericalSurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc3::IfcSphericalSurface Ifc4x3_rc3::IfcSphericalSurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSpiral ::Ifc4x3_rc3::IfcAxis2Placement Ifc4x3_rc3::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcAxis2Placement>(); } @@ -14895,7 +14895,7 @@ void Ifc4x3_rc3::IfcSpiral::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement& v const ifcopenshell::entity& Ifc4x3_rc3::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1069]); } -void Ifc4x3_rc3::IfcSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc3::IfcSpiral Ifc4x3_rc3::IfcSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc3::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14903,7 +14903,7 @@ void Ifc4x3_rc3::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1070]); } -void Ifc4x3_rc3::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcStackTerminal Ifc4x3_rc3::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value Ifc4x3_rc3::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14911,7 +14911,7 @@ void Ifc4x3_rc3::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1071]); } -void Ifc4x3_rc3::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcStackTerminalType Ifc4x3_rc3::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > Ifc4x3_rc3::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14919,7 +14919,7 @@ void Ifc4x3_rc3::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1073]); } -void Ifc4x3_rc3::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcStair Ifc4x3_rc3::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14935,7 +14935,7 @@ void Ifc4x3_rc3::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1074]); } -void Ifc4x3_rc3::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc3::IfcStairFlight Ifc4x3_rc3::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value Ifc4x3_rc3::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14943,7 +14943,7 @@ void Ifc4x3_rc3::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_rc3::IfcSt const ifcopenshell::entity& Ifc4x3_rc3::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1075]); } -void Ifc4x3_rc3::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcStairFlightType Ifc4x3_rc3::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_rc3::IfcStairTypeEnum::Value Ifc4x3_rc3::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14951,7 +14951,7 @@ void Ifc4x3_rc3::IfcStairType::setPredefinedType(const ::Ifc4x3_rc3::IfcStairTyp const ifcopenshell::entity& Ifc4x3_rc3::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1077]); } -void Ifc4x3_rc3::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcStairType Ifc4x3_rc3::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_rc3::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -14959,7 +14959,7 @@ void Ifc4x3_rc3::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1080]); } -void Ifc4x3_rc3::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc3::IfcStructuralAction Ifc4x3_rc3::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_rc3::IfcStructuralLoad Ifc4x3_rc3::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcStructuralLoad>(); } @@ -14970,7 +14970,7 @@ void Ifc4x3_rc3::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc3::Ifc std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[928], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1081]); } -void Ifc4x3_rc3::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc3::IfcStructuralActivity Ifc4x3_rc3::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -14986,7 +14986,7 @@ void Ifc4x3_rc3::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1083]); } -void Ifc4x3_rc3::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_rc3::IfcStructuralAnalysisModel Ifc4x3_rc3::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_rc3::IfcBoundaryCondition Ifc4x3_rc3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc3::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc3::IfcBoundaryCondition>(); } @@ -14995,7 +14995,7 @@ void Ifc4x3_rc3::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc3 std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[929], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1084]); } -void Ifc4x3_rc3::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc3::IfcStructuralConnection Ifc4x3_rc3::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_rc3::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15003,7 +15003,7 @@ void Ifc4x3_rc3::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1085]); } -void Ifc4x3_rc3::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcStructuralConnectionCondition Ifc4x3_rc3::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15013,7 +15013,7 @@ void Ifc4x3_rc3::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1086]); } -void Ifc4x3_rc3::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcStructuralCurveAction Ifc4x3_rc3::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -15021,7 +15021,7 @@ void Ifc4x3_rc3::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc3::IfcDi const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1088]); } -void Ifc4x3_rc3::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc3::IfcStructuralCurveConnection Ifc4x3_rc3::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15031,13 +15031,13 @@ void Ifc4x3_rc3::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc3::IfcDirect const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1089]); } -void Ifc4x3_rc3::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc3::IfcStructuralCurveMember Ifc4x3_rc3::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1091]); } -void Ifc4x3_rc3::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc3::IfcStructuralCurveMemberVarying Ifc4x3_rc3::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15045,20 +15045,20 @@ void Ifc4x3_rc3::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1092]); } -void Ifc4x3_rc3::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcStructuralCurveReaction Ifc4x3_rc3::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralActivity> Ifc4x3_rc3::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[928], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1093]); } -void Ifc4x3_rc3::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcStructuralItem Ifc4x3_rc3::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1094]); } -void Ifc4x3_rc3::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcStructuralLinearAction Ifc4x3_rc3::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_rc3::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15066,7 +15066,7 @@ void Ifc4x3_rc3::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1095]); } -void Ifc4x3_rc3::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcStructuralLoad Ifc4x3_rc3::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -15074,7 +15074,7 @@ void Ifc4x3_rc3::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::opt const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1096]); } -void Ifc4x3_rc3::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_rc3::IfcStructuralLoadCase Ifc4x3_rc3::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > Ifc4x3_rc3::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcStructuralLoadOrResult>(es); } @@ -15084,7 +15084,7 @@ void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setLocations(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1097]); } -void Ifc4x3_rc3::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_rc3::IfcStructuralLoadConfiguration Ifc4x3_rc3::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15102,7 +15102,7 @@ std::vector<::Ifc4x3_rc3::IfcStructuralResultGroup> Ifc4x3_rc3::IfcStructuralLoa std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1083], 7)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1098]); } -void Ifc4x3_rc3::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_rc3::IfcStructuralLoadGroup Ifc4x3_rc3::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15120,13 +15120,13 @@ void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optio const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1099]); } -void Ifc4x3_rc3::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_rc3::IfcStructuralLoadLinearForce Ifc4x3_rc3::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1100]); } -void Ifc4x3_rc3::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcStructuralLoadOrResult Ifc4x3_rc3::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15138,7 +15138,7 @@ void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::option const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1101]); } -void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_rc3::IfcStructuralLoadPlanarForce Ifc4x3_rc3::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15156,7 +15156,7 @@ void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementR const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1102]); } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15164,7 +15164,7 @@ void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(co const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1103]); } -void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15182,7 +15182,7 @@ void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1104]); } -void Ifc4x3_rc3::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_rc3::IfcStructuralLoadSingleForce Ifc4x3_rc3::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15190,13 +15190,13 @@ void Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1105]); } -void Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1106]); } -void Ifc4x3_rc3::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc3::IfcStructuralLoadStatic Ifc4x3_rc3::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15208,26 +15208,26 @@ void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1107]); } -void Ifc4x3_rc3::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_rc3::IfcStructuralLoadTemperature Ifc4x3_rc3::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_rc3::IfcRelConnectsStructuralMember> Ifc4x3_rc3::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[929], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1108]); } -void Ifc4x3_rc3::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc3::IfcStructuralMember Ifc4x3_rc3::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1109]); } -void Ifc4x3_rc3::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcStructuralPlanarAction Ifc4x3_rc3::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1110]); } -void Ifc4x3_rc3::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc3::IfcStructuralPointAction Ifc4x3_rc3::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_rc3::IfcAxis2Placement3D Ifc4x3_rc3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcAxis2Placement3D>(); } @@ -15235,19 +15235,19 @@ void Ifc4x3_rc3::IfcStructuralPointConnection::setConditionCoordinateSystem(cons const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1111]); } -void Ifc4x3_rc3::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_rc3::IfcStructuralPointConnection Ifc4x3_rc3::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1112]); } -void Ifc4x3_rc3::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc3::IfcStructuralPointReaction Ifc4x3_rc3::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1113]); } -void Ifc4x3_rc3::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc3::IfcStructuralReaction Ifc4x3_rc3::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15260,7 +15260,7 @@ void Ifc4x3_rc3::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attr std::vector<::Ifc4x3_rc3::IfcStructuralAnalysisModel> Ifc4x3_rc3::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1083], 8)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1114]); } -void Ifc4x3_rc3::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_rc3::IfcStructuralResultGroup Ifc4x3_rc3::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15270,13 +15270,13 @@ void Ifc4x3_rc3::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1115]); } -void Ifc4x3_rc3::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcStructuralSurfaceAction Ifc4x3_rc3::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1117]); } -void Ifc4x3_rc3::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc3::IfcStructuralSurfaceConnection Ifc4x3_rc3::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15286,13 +15286,13 @@ void Ifc4x3_rc3::IfcStructuralSurfaceMember::setThickness(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1118]); } -void Ifc4x3_rc3::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc3::IfcStructuralSurfaceMember Ifc4x3_rc3::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1120]); } -void Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15300,13 +15300,13 @@ void Ifc4x3_rc3::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1121]); } -void Ifc4x3_rc3::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcStructuralSurfaceReaction Ifc4x3_rc3::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_rc3::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1124]); } -void Ifc4x3_rc3::IfcStyleModel::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc3::IfcStyleModel Ifc4x3_rc3::IfcStyleModel::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_rc3::IfcRepresentationItem Ifc4x3_rc3::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc3::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcRepresentationItem>(); } @@ -15318,13 +15318,13 @@ void Ifc4x3_rc3::IfcStyledItem::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1122]); } -void Ifc4x3_rc3::IfcStyledItem::initialize(::Ifc4x3_rc3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc3::IfcStyledItem Ifc4x3_rc3::IfcStyledItem::initialize(::Ifc4x3_rc3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_rc3::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1123]); } -void Ifc4x3_rc3::IfcStyledRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc3::IfcStyledRepresentation Ifc4x3_rc3::IfcStyledRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc3::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15332,7 +15332,7 @@ void Ifc4x3_rc3::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1125]); } -void Ifc4x3_rc3::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc3::IfcSubContractResource Ifc4x3_rc3::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc3::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15340,7 +15340,7 @@ void Ifc4x3_rc3::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1126]); } -void Ifc4x3_rc3::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc3::IfcSubContractResourceType Ifc4x3_rc3::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_rc3::IfcEdge Ifc4x3_rc3::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcEdge>(); } @@ -15348,13 +15348,13 @@ void Ifc4x3_rc3::IfcSubedge::setParentEdge(const ::Ifc4x3_rc3::IfcEdge& v) { set const ifcopenshell::entity& Ifc4x3_rc3::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1128]); } -void Ifc4x3_rc3::IfcSubedge::initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_rc3::IfcSubedge Ifc4x3_rc3::IfcSubedge::initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_rc3::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1129]); } -void Ifc4x3_rc3::IfcSurface::initialize() { } +Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -15366,7 +15366,7 @@ void Ifc4x3_rc3::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1130]); } -void Ifc4x3_rc3::IfcSurfaceCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc3::IfcSurfaceCurve Ifc4x3_rc3::IfcSurfaceCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_rc3::IfcSurface Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc3::IfcSurface>(); } @@ -15374,7 +15374,7 @@ void Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1131]); } -void Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc3::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15382,7 +15382,7 @@ void Ifc4x3_rc3::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1132]); } -void Ifc4x3_rc3::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSurfaceFeature Ifc4x3_rc3::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -15392,7 +15392,7 @@ void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1134]); } -void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_rc3::IfcAxis1Placement Ifc4x3_rc3::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcAxis1Placement>(); } @@ -15400,7 +15400,7 @@ void Ifc4x3_rc3::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1135]); } -void Ifc4x3_rc3::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_rc3::IfcSurfaceOfRevolution Ifc4x3_rc3::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15412,7 +15412,7 @@ void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setShearReinforcement(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1137]); } -void Ifc4x3_rc3::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_rc3::IfcSurfaceReinforcementArea Ifc4x3_rc3::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc3::IfcSurfaceSide::Value Ifc4x3_rc3::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc3::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15422,7 +15422,7 @@ void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1139]); } -void Ifc4x3_rc3::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_rc3::IfcSurfaceStyle Ifc4x3_rc3::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcColourRgb>(); } @@ -15436,7 +15436,7 @@ void Ifc4x3_rc3::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1141]); } -void Ifc4x3_rc3::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_rc3::IfcSurfaceStyleLighting Ifc4x3_rc3::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15446,7 +15446,7 @@ void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optio const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1142]); } -void Ifc4x3_rc3::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_rc3::IfcSurfaceStyleRefraction Ifc4x3_rc3::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_rc3::IfcColourOrFactor Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc3::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc3::IfcColourOrFactor>(); } @@ -15466,7 +15466,7 @@ void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1143]); } -void Ifc4x3_rc3::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_rc3::IfcSurfaceStyleRendering Ifc4x3_rc3::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_rc3::IfcColourRgb Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcColourRgb>(); } @@ -15476,7 +15476,7 @@ void Ifc4x3_rc3::IfcSurfaceStyleShading::setTransparency(const std::optional< do const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1144]); } -void Ifc4x3_rc3::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_rc3::IfcSurfaceStyleShading Ifc4x3_rc3::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcSurfaceTexture>(es); } @@ -15484,7 +15484,7 @@ void Ifc4x3_rc3::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1145]); } -void Ifc4x3_rc3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_rc3::IfcSurfaceStyleWithTextures Ifc4x3_rc3::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15502,7 +15502,7 @@ std::vector<::Ifc4x3_rc3::IfcTextureCoordinate> Ifc4x3_rc3::IfcSurfaceTexture::I std::vector<::Ifc4x3_rc3::IfcSurfaceStyleWithTextures> Ifc4x3_rc3::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[1145], 0)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1146]); } -void Ifc4x3_rc3::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_rc3::IfcSurfaceTexture Ifc4x3_rc3::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -15512,7 +15512,7 @@ void Ifc4x3_rc3::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc3::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1147]); } -void Ifc4x3_rc3::IfcSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc3::IfcSweptAreaSolid Ifc4x3_rc3::IfcSweptAreaSolid::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -15528,7 +15528,7 @@ void Ifc4x3_rc3::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1148]); } -void Ifc4x3_rc3::IfcSweptDiskSolid::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_rc3::IfcSweptDiskSolid Ifc4x3_rc3::IfcSweptDiskSolid::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15536,7 +15536,7 @@ void Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1149]); } -void Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_rc3::IfcSweptDiskSolidPolygonal Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_rc3::IfcProfileDef Ifc4x3_rc3::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcProfileDef>(); } @@ -15546,7 +15546,7 @@ void Ifc4x3_rc3::IfcSweptSurface::setPosition(const ::Ifc4x3_rc3::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_rc3::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1150]); } -void Ifc4x3_rc3::IfcSweptSurface::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc3::IfcSweptSurface Ifc4x3_rc3::IfcSweptSurface::initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15554,7 +15554,7 @@ void Ifc4x3_rc3::IfcSwitchingDevice::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1151]); } -void Ifc4x3_rc3::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSwitchingDevice Ifc4x3_rc3::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15562,7 +15562,7 @@ void Ifc4x3_rc3::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1152]); } -void Ifc4x3_rc3::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcSwitchingDeviceType Ifc4x3_rc3::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15570,7 +15570,7 @@ std::vector<::Ifc4x3_rc3::IfcRelServicesBuildings> Ifc4x3_rc3::IfcSystem::Servic std::vector<::Ifc4x3_rc3::IfcRelReferencedInSpatialStructure> Ifc4x3_rc3::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[948], 4)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1154]); } -void Ifc4x3_rc3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc3::IfcSystem Ifc4x3_rc3::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15578,7 +15578,7 @@ void Ifc4x3_rc3::IfcSystemFurnitureElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc3::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1155]); } -void Ifc4x3_rc3::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcSystemFurnitureElement Ifc4x3_rc3::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15586,7 +15586,7 @@ void Ifc4x3_rc3::IfcSystemFurnitureElementType::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc3::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1156]); } -void Ifc4x3_rc3::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcSystemFurnitureElementType Ifc4x3_rc3::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_rc3::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15610,7 +15610,7 @@ void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc3::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1240]); } -void Ifc4x3_rc3::IfcTShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_rc3::IfcTShapeProfileDef Ifc4x3_rc3::IfcTShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_rc3::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15622,7 +15622,7 @@ void Ifc4x3_rc3::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1158]); } -void Ifc4x3_rc3::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_rc3::IfcTable Ifc4x3_rc3::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15638,7 +15638,7 @@ void Ifc4x3_rc3::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc3::IfcReferen const ifcopenshell::entity& Ifc4x3_rc3::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1159]); } -void Ifc4x3_rc3::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit v4_Unit, ::Ifc4x3_rc3::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_rc3::IfcTableColumn Ifc4x3_rc3::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit v4_Unit, ::Ifc4x3_rc3::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } @@ -15648,7 +15648,7 @@ void Ifc4x3_rc3::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_rc3::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1160]); } -void Ifc4x3_rc3::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_rc3::IfcTableRow Ifc4x3_rc3::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > Ifc4x3_rc3::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15656,7 +15656,7 @@ void Ifc4x3_rc3::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1161]); } -void Ifc4x3_rc3::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcTank Ifc4x3_rc3::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_rc3::IfcTankTypeEnum::Value Ifc4x3_rc3::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15664,7 +15664,7 @@ void Ifc4x3_rc3::IfcTankType::setPredefinedType(const ::Ifc4x3_rc3::IfcTankTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1162]); } -void Ifc4x3_rc3::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTankType Ifc4x3_rc3::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_rc3::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15682,7 +15682,7 @@ void Ifc4x3_rc3::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1164]); } -void Ifc4x3_rc3::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc3::IfcTask Ifc4x3_rc3::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > Ifc4x3_rc3::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15722,7 +15722,7 @@ void Ifc4x3_rc3::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1166]); } -void Ifc4x3_rc3::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_rc3::IfcTaskTime Ifc4x3_rc3::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_rc3::IfcRecurrencePattern Ifc4x3_rc3::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_rc3::IfcRecurrencePattern>(); } @@ -15730,7 +15730,7 @@ void Ifc4x3_rc3::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc3::IfcRecu const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1167]); } -void Ifc4x3_rc3::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc3::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_rc3::IfcTaskTimeRecurring Ifc4x3_rc3::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc3::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_rc3::IfcTaskTypeEnum::Value Ifc4x3_rc3::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15740,7 +15740,7 @@ void Ifc4x3_rc3::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc3::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1168]); } -void Ifc4x3_rc3::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_rc3::IfcTaskType Ifc4x3_rc3::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15758,7 +15758,7 @@ void Ifc4x3_rc3::IfcTelecomAddress::setMessagingIDs(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc3::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1170]); } -void Ifc4x3_rc3::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_rc3::IfcTelecomAddress Ifc4x3_rc3::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > Ifc4x3_rc3::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15780,7 +15780,7 @@ void Ifc4x3_rc3::IfcTendon::setMinCurvatureRadius(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc3::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1173]); } -void Ifc4x3_rc3::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_rc3::IfcTendon Ifc4x3_rc3::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc3::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15788,7 +15788,7 @@ void Ifc4x3_rc3::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1174]); } -void Ifc4x3_rc3::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcTendonAnchor Ifc4x3_rc3::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc3::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15796,7 +15796,7 @@ void Ifc4x3_rc3::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_rc3::IfcT const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1175]); } -void Ifc4x3_rc3::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTendonAnchorType Ifc4x3_rc3::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15804,7 +15804,7 @@ void Ifc4x3_rc3::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_rc3::IfcTend const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1177]); } -void Ifc4x3_rc3::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTendonConduit Ifc4x3_rc3::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15812,7 +15812,7 @@ void Ifc4x3_rc3::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1178]); } -void Ifc4x3_rc3::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTendonConduitType Ifc4x3_rc3::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_rc3::IfcTendonTypeEnum::Value Ifc4x3_rc3::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15826,7 +15826,7 @@ void Ifc4x3_rc3::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc3::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1180]); } -void Ifc4x3_rc3::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_rc3::IfcTendonType Ifc4x3_rc3::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_rc3::IfcCartesianPointList3D Ifc4x3_rc3::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCartesianPointList3D>(); } @@ -15836,13 +15836,13 @@ std::vector<::Ifc4x3_rc3::IfcIndexedColourMap> Ifc4x3_rc3::IfcTessellatedFaceSet std::vector<::Ifc4x3_rc3::IfcIndexedTextureMap> Ifc4x3_rc3::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[553], 1)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1182]); } -void Ifc4x3_rc3::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc3::IfcTessellatedFaceSet Ifc4x3_rc3::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_rc3::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1183]); } -void Ifc4x3_rc3::IfcTessellatedItem::initialize() { } +Ifc4x3_rc3::IfcTessellatedItem Ifc4x3_rc3::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_rc3::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15854,7 +15854,7 @@ void Ifc4x3_rc3::IfcTextLiteral::setPath(const ::Ifc4x3_rc3::IfcTextPath::Value& const ifcopenshell::entity& Ifc4x3_rc3::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1189]); } -void Ifc4x3_rc3::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_rc3::IfcTextLiteral Ifc4x3_rc3::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_rc3::IfcPlanarExtent Ifc4x3_rc3::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcPlanarExtent>(); } @@ -15864,7 +15864,7 @@ void Ifc4x3_rc3::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1190]); } -void Ifc4x3_rc3::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_rc3::IfcTextLiteralWithExtent Ifc4x3_rc3::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_rc3::IfcTextStyleForDefinedFont Ifc4x3_rc3::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc3::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc3::IfcTextStyleForDefinedFont>(); } @@ -15878,7 +15878,7 @@ void Ifc4x3_rc3::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1192]); } -void Ifc4x3_rc3::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc3::IfcTextStyle Ifc4x3_rc3::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_rc3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15894,7 +15894,7 @@ void Ifc4x3_rc3::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc3::IfcSizeS const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1193]); } -void Ifc4x3_rc3::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_rc3::IfcTextStyleFontModel Ifc4x3_rc3::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_rc3::IfcColour Ifc4x3_rc3::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcColour>(); } @@ -15904,7 +15904,7 @@ void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1194]); } -void Ifc4x3_rc3::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc3::IfcColour v1_Colour, ::Ifc4x3_rc3::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_rc3::IfcTextStyleForDefinedFont Ifc4x3_rc3::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc3::IfcColour v1_Colour, ::Ifc4x3_rc3::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_rc3::IfcSizeSelect Ifc4x3_rc3::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc3::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcSizeSelect>(); } @@ -15924,7 +15924,7 @@ void Ifc4x3_rc3::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc3::IfcSiz const ifcopenshell::entity& Ifc4x3_rc3::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1195]); } -void Ifc4x3_rc3::IfcTextStyleTextModel::initialize(::Ifc4x3_rc3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc3::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_rc3::IfcTextStyleTextModel Ifc4x3_rc3::IfcTextStyleTextModel::initialize(::Ifc4x3_rc3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc3::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > Ifc4x3_rc3::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcSurfaceTexture>(es); } @@ -15932,7 +15932,7 @@ void Ifc4x3_rc3::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1197]); } -void Ifc4x3_rc3::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_rc3::IfcTextureCoordinate Ifc4x3_rc3::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_rc3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15942,7 +15942,7 @@ void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1198]); } -void Ifc4x3_rc3::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_rc3::IfcTextureCoordinateGenerator Ifc4x3_rc3::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_rc3::IfcTextureVertex > Ifc4x3_rc3::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc3::IfcTextureVertex>(es); } @@ -15952,7 +15952,7 @@ void Ifc4x3_rc3::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc3::IfcFace& v) { se const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1199]); } -void Ifc4x3_rc3::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc3::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc3::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_rc3::IfcTextureMap Ifc4x3_rc3::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc3::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc3::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_rc3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -15960,7 +15960,7 @@ void Ifc4x3_rc3::IfcTextureVertex::setCoordinates(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1200]); } -void Ifc4x3_rc3::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc3::IfcTextureVertex Ifc4x3_rc3::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_rc3::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -15968,7 +15968,7 @@ void Ifc4x3_rc3::IfcTextureVertexList::setTexCoordsList(const std::vector< std:: const ifcopenshell::entity& Ifc4x3_rc3::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1201]); } -void Ifc4x3_rc3::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_rc3::IfcTextureVertexList Ifc4x3_rc3::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcThirdOrderPolynomialSpiral double Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QubicTerm() const { double v = get_attribute_value(1); return v; } @@ -15982,7 +15982,7 @@ void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::optio const ifcopenshell::entity& Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1208]); } -void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); } } +Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_rc3::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -15992,7 +15992,7 @@ void Ifc4x3_rc3::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc3::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1212]); } -void Ifc4x3_rc3::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_rc3::IfcTimePeriod Ifc4x3_rc3::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_rc3::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -16015,7 +16015,7 @@ void Ifc4x3_rc3::IfcTimeSeries::setUnit(const ::Ifc4x3_rc3::IfcUnit& v) { set_at std::vector<::Ifc4x3_rc3::IfcExternalReferenceRelationship> Ifc4x3_rc3::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[434], 3)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1213]); } -void Ifc4x3_rc3::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_rc3::IfcTimeSeries Ifc4x3_rc3::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_rc3::IfcValue > Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcValue>(es); } @@ -16023,19 +16023,19 @@ void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc3::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1215]); } -void Ifc4x3_rc3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_rc3::IfcTimeSeriesValue Ifc4x3_rc3::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc3::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_rc3::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1217]); } -void Ifc4x3_rc3::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_rc3::IfcTopologicalRepresentationItem Ifc4x3_rc3::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_rc3::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1218]); } -void Ifc4x3_rc3::IfcTopologyRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc3::IfcTopologyRepresentation Ifc4x3_rc3::IfcTopologyRepresentation::initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_rc3::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -16045,7 +16045,7 @@ void Ifc4x3_rc3::IfcToroidalSurface::setMinorRadius(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc3::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1219]); } -void Ifc4x3_rc3::IfcToroidalSurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_rc3::IfcToroidalSurface Ifc4x3_rc3::IfcToroidalSurface::initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > Ifc4x3_rc3::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16053,7 +16053,7 @@ void Ifc4x3_rc3::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1221]); } -void Ifc4x3_rc3::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcTrackElement Ifc4x3_rc3::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value Ifc4x3_rc3::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16061,7 +16061,7 @@ void Ifc4x3_rc3::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_rc3::IfcT const ifcopenshell::entity& Ifc4x3_rc3::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1222]); } -void Ifc4x3_rc3::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTrackElementType Ifc4x3_rc3::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > Ifc4x3_rc3::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -16069,7 +16069,7 @@ void Ifc4x3_rc3::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc3::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1224]); } -void Ifc4x3_rc3::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcTransformer Ifc4x3_rc3::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value Ifc4x3_rc3::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16077,7 +16077,7 @@ void Ifc4x3_rc3::IfcTransformerType::setPredefinedType(const ::Ifc4x3_rc3::IfcTr const ifcopenshell::entity& Ifc4x3_rc3::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1225]); } -void Ifc4x3_rc3::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTransformerType Ifc4x3_rc3::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement ::Ifc4x3_rc3::IfcTransportElementTypeSelect Ifc4x3_rc3::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc3::IfcTransportElementTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(); } @@ -16085,7 +16085,7 @@ void Ifc4x3_rc3::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc3::IfcT const ifcopenshell::entity& Ifc4x3_rc3::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1229]); } -void Ifc4x3_rc3::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc3::IfcTransportElement Ifc4x3_rc3::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_rc3::IfcTransportElementTypeSelect Ifc4x3_rc3::IfcTransportElementType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(); } @@ -16093,7 +16093,7 @@ void Ifc4x3_rc3::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1232]); } -void Ifc4x3_rc3::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc3::IfcTransportElementType Ifc4x3_rc3::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_rc3::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16107,7 +16107,7 @@ void Ifc4x3_rc3::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc3::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1234]); } -void Ifc4x3_rc3::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_rc3::IfcTrapeziumProfileDef Ifc4x3_rc3::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16121,7 +16121,7 @@ void Ifc4x3_rc3::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc3::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1235]); } -void Ifc4x3_rc3::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_rc3::IfcTriangulatedFaceSet Ifc4x3_rc3::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16129,7 +16129,7 @@ void Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< in const ifcopenshell::entity& Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1236]); } -void Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_rc3::IfcTriangulatedIrregularNetwork Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc3::IfcCurve Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcCurve>(); } @@ -16145,7 +16145,7 @@ void Ifc4x3_rc3::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1237]); } -void Ifc4x3_rc3::IfcTrimmedCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_rc3::IfcTrimmedCurve Ifc4x3_rc3::IfcTrimmedCurve::initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc3::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16153,7 +16153,7 @@ void Ifc4x3_rc3::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1241]); } -void Ifc4x3_rc3::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcTubeBundle Ifc4x3_rc3::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value Ifc4x3_rc3::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16161,7 +16161,7 @@ void Ifc4x3_rc3::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc3::IfcTub const ifcopenshell::entity& Ifc4x3_rc3::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1242]); } -void Ifc4x3_rc3::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcTubeBundleType Ifc4x3_rc3::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_rc3::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16172,7 +16172,7 @@ void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(const std::optional< std::vec std::vector<::Ifc4x3_rc3::IfcRelDefinesByType> Ifc4x3_rc3::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[941], 5)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1244]); } -void Ifc4x3_rc3::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_rc3::IfcTypeObject Ifc4x3_rc3::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16185,7 +16185,7 @@ void Ifc4x3_rc3::IfcTypeProcess::setProcessType(const std::optional< std::string std::vector<::Ifc4x3_rc3::IfcRelAssignsToProcess> Ifc4x3_rc3::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[911], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1245]); } -void Ifc4x3_rc3::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_rc3::IfcTypeProcess Ifc4x3_rc3::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > Ifc4x3_rc3::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcRepresentationMap>(es); } @@ -16196,7 +16196,7 @@ void Ifc4x3_rc3::IfcTypeProduct::setTag(const std::optional< std::string >& v) { std::vector<::Ifc4x3_rc3::IfcRelAssignsToProduct> Ifc4x3_rc3::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[912], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1246]); } -void Ifc4x3_rc3::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcTypeProduct Ifc4x3_rc3::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_rc3::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16209,7 +16209,7 @@ void Ifc4x3_rc3::IfcTypeResource::setResourceType(const std::optional< std::stri std::vector<::Ifc4x3_rc3::IfcRelAssignsToResource> Ifc4x3_rc3::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC3_types[913], 6)); } const ifcopenshell::entity& Ifc4x3_rc3::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1247]); } -void Ifc4x3_rc3::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_rc3::IfcTypeResource Ifc4x3_rc3::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_rc3::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16229,7 +16229,7 @@ void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc3::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1258]); } -void Ifc4x3_rc3::IfcUShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc3::IfcUShapeProfileDef Ifc4x3_rc3::IfcUShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_rc3::IfcUnit > Ifc4x3_rc3::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcUnit>(es); } @@ -16237,7 +16237,7 @@ void Ifc4x3_rc3::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc3::If const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1255]); } -void Ifc4x3_rc3::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_rc3::IfcUnitAssignment Ifc4x3_rc3::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc3::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16245,7 +16245,7 @@ void Ifc4x3_rc3::IfcUnitaryControlElement::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1249]); } -void Ifc4x3_rc3::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcUnitaryControlElement Ifc4x3_rc3::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc3::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16253,7 +16253,7 @@ void Ifc4x3_rc3::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1250]); } -void Ifc4x3_rc3::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcUnitaryControlElementType Ifc4x3_rc3::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16261,7 +16261,7 @@ void Ifc4x3_rc3::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1252]); } -void Ifc4x3_rc3::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcUnitaryEquipment Ifc4x3_rc3::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16269,7 +16269,7 @@ void Ifc4x3_rc3::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1253]); } -void Ifc4x3_rc3::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcUnitaryEquipmentType Ifc4x3_rc3::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > Ifc4x3_rc3::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16277,7 +16277,7 @@ void Ifc4x3_rc3::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_rc3:: const ifcopenshell::entity& Ifc4x3_rc3::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1260]); } -void Ifc4x3_rc3::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcValve Ifc4x3_rc3::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_rc3::IfcValveTypeEnum::Value Ifc4x3_rc3::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16285,7 +16285,7 @@ void Ifc4x3_rc3::IfcValveType::setPredefinedType(const ::Ifc4x3_rc3::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc3::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1261]); } -void Ifc4x3_rc3::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcValveType Ifc4x3_rc3::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_rc3::IfcDirection Ifc4x3_rc3::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcDirection>(); } @@ -16295,13 +16295,13 @@ void Ifc4x3_rc3::IfcVector::setMagnitude(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc3::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1264]); } -void Ifc4x3_rc3::IfcVector::initialize(::Ifc4x3_rc3::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_rc3::IfcVector Ifc4x3_rc3::IfcVector::initialize(::Ifc4x3_rc3::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_rc3::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1266]); } -void Ifc4x3_rc3::IfcVertex::initialize() { } +Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_rc3::IfcVertex Ifc4x3_rc3::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcVertex>(); } @@ -16309,7 +16309,7 @@ void Ifc4x3_rc3::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc3::IfcVertex& v) const ifcopenshell::entity& Ifc4x3_rc3::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1267]); } -void Ifc4x3_rc3::IfcVertexLoop::initialize(::Ifc4x3_rc3::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_rc3::IfcVertexLoop Ifc4x3_rc3::IfcVertexLoop::initialize(::Ifc4x3_rc3::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_rc3::IfcPoint Ifc4x3_rc3::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc3::IfcPoint>(); } @@ -16317,7 +16317,7 @@ void Ifc4x3_rc3::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc3::IfcPoint& const ifcopenshell::entity& Ifc4x3_rc3::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1268]); } -void Ifc4x3_rc3::IfcVertexPoint::initialize(::Ifc4x3_rc3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_rc3::IfcVertexPoint Ifc4x3_rc3::IfcVertexPoint::initialize(::Ifc4x3_rc3::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16325,7 +16325,7 @@ void Ifc4x3_rc3::IfcVibrationDamper::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1269]); } -void Ifc4x3_rc3::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcVibrationDamper Ifc4x3_rc3::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16333,7 +16333,7 @@ void Ifc4x3_rc3::IfcVibrationDamperType::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1270]); } -void Ifc4x3_rc3::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc3::IfcVibrationDamperType Ifc4x3_rc3::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc3::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16341,7 +16341,7 @@ void Ifc4x3_rc3::IfcVibrationIsolator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1272]); } -void Ifc4x3_rc3::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcVibrationIsolator Ifc4x3_rc3::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16349,7 +16349,7 @@ void Ifc4x3_rc3::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc3: const ifcopenshell::entity& Ifc4x3_rc3::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1273]); } -void Ifc4x3_rc3::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcVibrationIsolatorType Ifc4x3_rc3::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVienneseBend double Ifc4x3_rc3::IfcVienneseBend::StartCurvature() const { double v = get_attribute_value(0); return v; } @@ -16363,13 +16363,13 @@ void Ifc4x3_rc3::IfcVienneseBend::setSegmentLength(const double& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc3::IfcVienneseBend::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1275]); } -void Ifc4x3_rc3::IfcVienneseBend::initialize(double v1_StartCurvature, double v2_EndCurvature, double v3_GravityCenterHeight, double v4_SegmentLength) { set_attribute_value(0, (v1_StartCurvature));set_attribute_value(1, (v2_EndCurvature));set_attribute_value(2, (v3_GravityCenterHeight));set_attribute_value(3, (v4_SegmentLength)); } +Ifc4x3_rc3::IfcVienneseBend Ifc4x3_rc3::IfcVienneseBend::initialize(double v1_StartCurvature, double v2_EndCurvature, double v3_GravityCenterHeight, double v4_SegmentLength) { set_attribute_value(0, (v1_StartCurvature));set_attribute_value(1, (v2_EndCurvature));set_attribute_value(2, (v3_GravityCenterHeight));set_attribute_value(3, (v4_SegmentLength));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4x3_rc3::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1276]); } -void Ifc4x3_rc3::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcVirtualElement Ifc4x3_rc3::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_rc3::IfcGridAxis > Ifc4x3_rc3::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc3::IfcGridAxis>(es); } @@ -16379,13 +16379,13 @@ void Ifc4x3_rc3::IfcVirtualGridIntersection::setOffsetDistances(const std::vecto const ifcopenshell::entity& Ifc4x3_rc3::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1277]); } -void Ifc4x3_rc3::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_rc3::IfcVirtualGridIntersection Ifc4x3_rc3::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidStratum const ifcopenshell::entity& Ifc4x3_rc3::IfcVoidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1280]); } -void Ifc4x3_rc3::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcVoidStratum Ifc4x3_rc3::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc3::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16393,7 +16393,7 @@ void Ifc4x3_rc3::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1278]); } -void Ifc4x3_rc3::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcVoidingFeature Ifc4x3_rc3::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > Ifc4x3_rc3::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16401,19 +16401,19 @@ void Ifc4x3_rc3::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_rc3::I const ifcopenshell::entity& Ifc4x3_rc3::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1283]); } -void Ifc4x3_rc3::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcWall Ifc4x3_rc3::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4x3_rc3::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1284]); } -void Ifc4x3_rc3::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcWallElementedCase Ifc4x3_rc3::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1285]); } -void Ifc4x3_rc3::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcWallStandardCase Ifc4x3_rc3::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_rc3::IfcWallTypeEnum::Value Ifc4x3_rc3::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16421,7 +16421,7 @@ void Ifc4x3_rc3::IfcWallType::setPredefinedType(const ::Ifc4x3_rc3::IfcWallTypeE const ifcopenshell::entity& Ifc4x3_rc3::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1286]); } -void Ifc4x3_rc3::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcWallType Ifc4x3_rc3::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc3::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16429,7 +16429,7 @@ void Ifc4x3_rc3::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc3::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1291]); } -void Ifc4x3_rc3::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcWasteTerminal Ifc4x3_rc3::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16437,13 +16437,13 @@ void Ifc4x3_rc3::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc3::Ifc const ifcopenshell::entity& Ifc4x3_rc3::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1292]); } -void Ifc4x3_rc3::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc3::IfcWasteTerminalType Ifc4x3_rc3::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWaterStratum const ifcopenshell::entity& Ifc4x3_rc3::IfcWaterStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1294]); } -void Ifc4x3_rc3::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc3::IfcWaterStratum Ifc4x3_rc3::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_rc3::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16459,7 +16459,7 @@ void Ifc4x3_rc3::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc3::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1295]); } -void Ifc4x3_rc3::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc3::IfcWindow Ifc4x3_rc3::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16489,7 +16489,7 @@ void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::o const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1296]); } -void Ifc4x3_rc3::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_rc3::IfcWindowLiningProperties Ifc4x3_rc3::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value Ifc4x3_rc3::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16505,13 +16505,13 @@ void Ifc4x3_rc3::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1299]); } -void Ifc4x3_rc3::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc3::IfcWindowPanelProperties Ifc4x3_rc3::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1300]); } -void Ifc4x3_rc3::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc3::IfcWindowStandardCase Ifc4x3_rc3::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc3::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -16525,7 +16525,7 @@ void Ifc4x3_rc3::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1301]); } -void Ifc4x3_rc3::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc3::IfcWindowStyle Ifc4x3_rc3::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_rc3::IfcWindowTypeEnum::Value Ifc4x3_rc3::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16539,7 +16539,7 @@ void Ifc4x3_rc3::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc3::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1304]); } -void Ifc4x3_rc3::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc3::IfcWindowType Ifc4x3_rc3::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > Ifc4x3_rc3::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc3::IfcWorkTime>(es); } @@ -16551,7 +16551,7 @@ void Ifc4x3_rc3::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1307]); } -void Ifc4x3_rc3::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc3::IfcWorkCalendar Ifc4x3_rc3::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_rc3::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16571,7 +16571,7 @@ void Ifc4x3_rc3::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1309]); } -void Ifc4x3_rc3::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_rc3::IfcWorkControl Ifc4x3_rc3::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc3::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16579,7 +16579,7 @@ void Ifc4x3_rc3::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1310]); } -void Ifc4x3_rc3::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc3::IfcWorkPlan Ifc4x3_rc3::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc3::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16587,7 +16587,7 @@ void Ifc4x3_rc3::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1312]); } -void Ifc4x3_rc3::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc3::IfcWorkSchedule Ifc4x3_rc3::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_rc3::IfcRecurrencePattern Ifc4x3_rc3::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc3::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc3::IfcRecurrencePattern>(); } @@ -16599,7 +16599,7 @@ void Ifc4x3_rc3::IfcWorkTime::setFinish(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc3::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1314]); } -void Ifc4x3_rc3::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4x3_rc3::IfcWorkTime Ifc4x3_rc3::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_rc3::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16617,7 +16617,7 @@ void Ifc4x3_rc3::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc3::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1316]); } -void Ifc4x3_rc3::IfcZShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_rc3::IfcZShapeProfileDef Ifc4x3_rc3::IfcZShapeProfileDef::initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_rc3::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16625,5 +16625,5 @@ void Ifc4x3_rc3::IfcZone::setLongName(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4x3_rc3::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC3_types[1315]); } -void Ifc4x3_rc3::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_rc3::IfcZone Ifc4x3_rc3::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_rc3.h b/src/ifcparse/schemas/Ifc4x3_rc3.h index 4700a95baf..3c1bcc3154 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc3.h +++ b/src/ifcparse/schemas/Ifc4x3_rc3.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1105,8 +1092,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1138,8 +1124,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1162,8 +1147,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1188,8 +1172,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1281,8 +1264,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1742,8 +1723,7 @@ public: class IFC_PARSE_API IfcFacilityPartTypeSelect : public express::Select { public: - IfcFacilityPartTypeSelect() {} - explicit IfcFacilityPartTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1785,8 +1765,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1833,8 +1812,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1866,8 +1844,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1888,8 +1865,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1908,8 +1884,7 @@ public: class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public express::Select { public: - IfcImpactProtectionDeviceTypeSelect() {} - explicit IfcImpactProtectionDeviceTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1934,8 +1909,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1960,8 +1934,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1989,8 +1962,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2030,8 +2002,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2075,8 +2046,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2109,8 +2079,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2266,8 +2235,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2978,8 +2946,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3000,8 +2967,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3022,8 +2988,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3044,8 +3009,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3112,8 +3076,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3141,8 +3104,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3161,8 +3123,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3189,8 +3150,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3209,8 +3169,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3231,8 +3190,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3349,8 +3307,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3371,8 +3328,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3391,8 +3347,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3421,8 +3376,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3459,8 +3413,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3562,8 +3515,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3612,8 +3564,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3643,8 +3594,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3663,8 +3613,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3692,8 +3641,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3720,8 +3668,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3748,8 +3695,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3782,8 +3728,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3826,8 +3771,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3847,8 +3791,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3869,8 +3812,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3889,8 +3831,7 @@ public: class IFC_PARSE_API IfcTransportElementTypeSelect : public express::Select { public: - IfcTransportElementTypeSelect() {} - explicit IfcTransportElementTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3913,8 +3854,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3945,8 +3885,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3980,8 +3919,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4661,8 +4599,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4683,8 +4620,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4713,16 +4649,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4732,16 +4667,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4753,16 +4687,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4783,16 +4716,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4808,16 +4740,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4833,16 +4764,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4860,16 +4790,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4890,16 +4819,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4918,76 +4846,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CUBICSPIRAL, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_PARABOLICARC, IfcAlignmentVerticalSegmentType_CLOTHOID} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4998,16 +4921,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -5019,31 +4941,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -5060,16 +4980,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5086,16 +5005,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5114,16 +5032,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_RAILWAY_COMMUNICATION_TERMINAL, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5142,31 +5059,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5210,46 +5125,43 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_DIAPHRAGM, IfcBeamType_PIERCAP, IfcBeamType_HATSTONE, IfcBeamType_CORNICE, IfcBeamType_EDGEBEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { public: - IfcBearingTypeDisplacementEnum() {} - explicit IfcBearingTypeDisplacementEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeDisplacementEnum initialize(Value v); + IfcBearingTypeDisplacementEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_SPHERICAL, IfcBearingType_ELASTOMERIC, IfcBearingType_POT, IfcBearingType_GUIDE, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_DISK, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5294,16 +5206,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5317,16 +5228,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5340,46 +5250,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5392,16 +5299,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5417,16 +5323,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5445,31 +5350,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_REINFORCING, IfcBuildingSystemType_PRESTRESSING, IfcBuildingSystemType_EROSIONPREVENTION, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_MOORINGSYSTEM, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5481,16 +5384,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5505,16 +5407,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5529,16 +5430,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5554,16 +5454,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_FANOUT, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5580,31 +5479,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5620,16 +5517,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5644,16 +5540,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5668,16 +5563,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5704,16 +5598,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5732,16 +5625,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5762,16 +5654,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_INTELLIGENT_PERIPHERAL, IfcCommunicationsApplianceType_IP_NETWORK_EQUIPMENT, IfcCommunicationsApplianceType_OPTICAL_NETWORK_UNIT, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5784,16 +5675,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5820,16 +5710,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5847,16 +5736,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5881,16 +5769,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5912,16 +5799,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5940,16 +5826,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5969,16 +5854,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5991,16 +5875,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -6019,31 +5902,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -6067,16 +5948,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -6093,16 +5973,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6113,16 +5992,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6140,31 +6018,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_FILTER, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6212,16 +6088,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_COPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6234,16 +6109,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6257,16 +6131,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6288,16 +6161,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6319,16 +6191,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6341,16 +6212,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6412,16 +6282,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6434,16 +6303,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6457,31 +6325,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_POINTMACHINEMOUNTINGDEVICE, IfcDiscreteAccessoryType_POINT_MACHINE_LOCKING_DEVICE, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6502,31 +6368,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6578,16 +6442,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6604,16 +6467,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6621,16 +6483,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6668,16 +6529,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6689,16 +6549,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6710,16 +6569,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6893,16 +6751,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6923,16 +6780,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_BOOM_BARRIER, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -7117,16 +6973,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_FOLDING, IfcDoorTypeOperation_REVOLVING_HORIZONTAL, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_LIFTING_VERTICAL, IfcDoorTypeOperation_LIFTING_HORIZONTAL, IfcDoorTypeOperation_LIFTING_VERTICAL_LEFT, IfcDoorTypeOperation_LIFTING_VERTICAL_RIGHT, IfcDoorTypeOperation_REVOLVING_VERTICAL, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -7164,16 +7019,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -7193,16 +7047,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -7217,46 +7070,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_CUT, IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7290,16 +7140,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7314,16 +7163,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7338,31 +7186,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7377,16 +7223,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7402,16 +7247,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7425,16 +7269,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7458,16 +7301,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_MAST, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_GRID, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7484,16 +7326,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7506,16 +7347,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7536,16 +7376,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7563,16 +7402,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7589,16 +7427,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7614,16 +7451,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7644,46 +7480,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7702,16 +7535,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7725,16 +7557,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7752,16 +7583,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7779,16 +7609,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_FIREMONITOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7801,16 +7630,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7831,16 +7659,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7860,16 +7687,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7888,16 +7714,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7915,31 +7740,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7985,16 +7808,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -8005,31 +7827,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -8043,16 +7863,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -8077,31 +7896,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -8116,16 +7933,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8185,16 +8001,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -8208,16 +8023,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -8229,31 +8043,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8282,16 +8094,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8313,16 +8124,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8336,16 +8146,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8364,16 +8173,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8395,16 +8203,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8420,31 +8227,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8470,16 +8275,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8728,46 +8532,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_CANAL, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_REVETMENT, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_CREST, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_CORE, IfcMarinePartType_WATERFIELD, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CHAMBER, IfcMarinePartType_STORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_PROTECTION, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8789,16 +8590,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8816,16 +8616,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8873,46 +8672,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_STIFFENING_RIB, IfcMemberType_ARCH_SEGMENT, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_SUSPENDER, IfcMemberType_STAY_CABLE, IfcMemberType_STRUCTURALCABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_REMOTE_RADIO_UNIT, IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8926,31 +8722,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -8958,16 +8752,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -9001,16 +8794,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -9028,16 +8820,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9062,16 +8853,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -9089,31 +8879,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPavementTypeEnum : public express::DeclaredType { public: - IfcPavementTypeEnum() {} - explicit IfcPavementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPavementType_FLEXIBLE, IfcPavementType_RIGID, IfcPavementType_USERDEFINED, IfcPavementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPavementTypeEnum initialize(Value v); + IfcPavementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -9124,16 +8912,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -9160,16 +8947,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -9183,16 +8969,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9220,16 +9005,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -9256,16 +9040,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -9283,16 +9066,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9328,16 +9110,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9357,16 +9138,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9389,31 +9169,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_FLANGE_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_SPLICE_PLATE, IfcPlateType_BASE_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9432,16 +9210,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9454,16 +9231,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9479,16 +9255,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9499,16 +9274,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9525,16 +9299,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9577,16 +9350,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9598,16 +9370,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9627,16 +9398,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9669,31 +9439,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_RACKRAIL, IfcRailType_BLADE, IfcRailType_GUARDRAIL, IfcRailType_STOCKRAIL, IfcRailType_CHECKRAIL, IfcRailType_RAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9718,46 +9486,43 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_PLAINTRACKSUPESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayTypeEnum : public express::DeclaredType { public: - IfcRailwayTypeEnum() {} - explicit IfcRailwayTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayType_USERDEFINED, IfcRailwayType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayTypeEnum initialize(Value v); + IfcRailwayTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9773,16 +9538,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9835,16 +9599,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9870,31 +9633,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_REFERENCEMARKER, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9915,31 +9676,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9963,16 +9722,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9986,76 +9744,71 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_BUS_STOP, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROADSIDE, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_SIDEWALK, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_SHOULDER, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_LAYBY, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadTypeEnum : public express::DeclaredType { public: - IfcRoadTypeEnum() {} - explicit IfcRoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadType_USERDEFINED, IfcRoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadTypeEnum initialize(Value v); + IfcRoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -10089,16 +9842,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -10169,16 +9921,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -10210,16 +9961,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -10263,16 +10013,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10296,16 +10045,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10320,16 +10068,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10362,16 +10109,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10381,16 +10127,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10405,46 +10150,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_PICTORAL, IfcSignType_MIRROR, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_VISUAL, IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10467,16 +10209,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10513,16 +10254,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_APPROACH_SLAB, IfcSlabType_PAVING, IfcSlabType_WEARING, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10536,16 +10276,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10562,16 +10301,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10611,16 +10349,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_BERTH, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10650,16 +10387,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10673,16 +10409,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10702,16 +10437,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10809,16 +10543,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_LADDER, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10836,16 +10569,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10865,16 +10597,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10897,16 +10628,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10923,16 +10653,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10951,16 +10680,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10973,16 +10701,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10998,16 +10725,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -11023,16 +10749,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -11053,16 +10778,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -11075,16 +10799,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -11112,16 +10835,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_OILRETENTIONTRAY, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -11133,16 +10855,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -11165,61 +10886,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_DUCT, IfcTendonConduitType_COUPLER, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -11231,16 +10948,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -11256,31 +10972,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_SLEEPER, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11296,16 +11010,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11326,46 +11039,43 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementFixedTypeEnum() {} - explicit IfcTransportElementFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementFixedType_ELEVATOR, IfcTransportElementFixedType_ESCALATOR, IfcTransportElementFixedType_MOVINGWALKWAY, IfcTransportElementFixedType_CRANEWAY, IfcTransportElementFixedType_LIFTINGGEAR, IfcTransportElementFixedType_HAULINGGEAR, IfcTransportElementFixedType_USERDEFINED, IfcTransportElementFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementFixedTypeEnum initialize(Value v); + IfcTransportElementFixedTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementNonFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementNonFixedTypeEnum() {} - explicit IfcTransportElementNonFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementNonFixedType_VEHICLE, IfcTransportElementNonFixedType_VEHICLETRACKED, IfcTransportElementNonFixedType_ROLLINGSTOCK, IfcTransportElementNonFixedType_VEHICLEWHEELED, IfcTransportElementNonFixedType_VEHICLEAIR, IfcTransportElementNonFixedType_CARGO, IfcTransportElementNonFixedType_VEHICLEMARINE, IfcTransportElementNonFixedType_USERDEFINED, IfcTransportElementNonFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementNonFixedTypeEnum initialize(Value v); + IfcTransportElementNonFixedTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11381,16 +11091,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11403,16 +11112,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11453,16 +11161,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11483,16 +11190,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11509,16 +11215,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11566,31 +11271,29 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11604,16 +11307,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11632,16 +11334,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11683,16 +11384,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_RETAININGWALL, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11711,16 +11411,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11809,16 +11508,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11887,16 +11585,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11908,16 +11605,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -11996,16 +11692,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -12026,16 +11721,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -12111,16 +11805,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -12136,16 +11829,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -12161,16 +11853,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -12186,16 +11877,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -12205,11 +11895,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -12219,11 +11908,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -12236,11 +11924,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -12250,31 +11937,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -12286,21 +11970,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -12310,11 +11992,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12362,11 +12043,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12382,11 +12062,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12439,11 +12118,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12454,11 +12132,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12469,11 +12146,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12485,11 +12161,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12500,11 +12175,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12527,11 +12201,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12548,11 +12221,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12591,11 +12263,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12606,11 +12277,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12622,11 +12292,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12636,11 +12305,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12650,11 +12318,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12665,11 +12332,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12679,11 +12345,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12693,11 +12358,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12707,11 +12371,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12723,11 +12386,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12737,11 +12399,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12751,11 +12412,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12765,11 +12425,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12788,11 +12447,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12809,11 +12467,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12841,11 +12498,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12855,11 +12511,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12869,11 +12524,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12891,11 +12545,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12905,11 +12558,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12917,11 +12569,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12940,11 +12591,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12954,11 +12604,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12968,11 +12617,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12984,11 +12632,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -13000,11 +12647,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -13012,11 +12658,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -13026,11 +12671,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -13040,11 +12684,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -13063,11 +12706,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -13082,11 +12724,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -13098,21 +12739,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -13122,11 +12761,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -13136,11 +12774,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -13150,11 +12787,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -13164,11 +12800,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -13192,11 +12826,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -13208,11 +12841,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -13224,11 +12856,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -13238,11 +12869,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -13252,11 +12882,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -13266,11 +12895,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -13280,11 +12908,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -13296,11 +12923,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -13312,11 +12938,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -13326,11 +12951,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -13340,11 +12964,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -13354,11 +12977,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13372,11 +12994,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13386,11 +13007,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13400,11 +13020,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13414,11 +13033,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13427,11 +13045,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13492,11 +13109,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13506,11 +13122,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13521,11 +13136,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13533,11 +13147,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13549,11 +13162,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13563,11 +13175,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13583,21 +13194,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13608,11 +13217,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13623,11 +13231,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13637,11 +13244,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13655,11 +13261,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13669,21 +13274,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13693,11 +13296,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13712,11 +13314,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13728,11 +13329,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13742,11 +13342,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13757,11 +13356,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13771,11 +13369,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13785,11 +13382,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13799,11 +13395,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13813,11 +13408,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13829,21 +13423,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13853,21 +13445,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13877,11 +13467,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13891,11 +13480,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13907,11 +13495,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13925,11 +13512,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13939,11 +13525,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13953,11 +13538,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13973,11 +13557,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13992,11 +13575,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -14014,11 +13596,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -14042,11 +13623,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -14061,11 +13641,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -14075,11 +13654,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -14089,11 +13667,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -14102,11 +13679,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -14115,11 +13691,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -14129,11 +13704,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -14145,11 +13719,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -14162,11 +13735,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -14178,11 +13750,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -14191,11 +13762,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -14205,11 +13775,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -14221,11 +13790,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -14235,11 +13803,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -14251,11 +13818,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -14265,11 +13831,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -14279,11 +13844,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -14293,11 +13857,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -14327,11 +13890,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14341,11 +13903,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14356,11 +13917,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14377,8 +13937,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14396,7 +13955,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14405,8 +13964,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Purpose() const; @@ -14424,13 +13982,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14438,13 +13995,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14462,15 +14018,14 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc3::IfcOrganization ApplicationDeveloper() const; @@ -14486,7 +14041,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_rc3::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14504,8 +14059,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14544,7 +14098,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14553,8 +14107,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14596,7 +14149,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14615,15 +14168,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14637,8 +14189,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14660,7 +14211,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14674,8 +14225,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14688,7 +14238,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14702,8 +14252,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14725,7 +14274,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_rc3::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14738,15 +14287,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_rc3::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_rc3::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc3::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc3::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14764,12 +14312,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14789,8 +14336,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14800,7 +14346,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_rc3::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14812,8 +14358,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14823,7 +14368,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14833,8 +14378,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14844,7 +14388,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_rc3::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc3::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_rc3::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc3::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14860,8 +14404,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14891,7 +14434,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14941,8 +14484,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14952,7 +14494,7 @@ public: void setTargetCRS(const ::Ifc4x3_rc3::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14978,8 +14520,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -15004,7 +14545,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -15050,12 +14591,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -15066,8 +14606,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > Elements() const; @@ -15079,7 +14618,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_rc3::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -15092,8 +14631,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc3::IfcNamedUnit Unit() const; @@ -15103,7 +14641,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_rc3::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -15124,8 +14662,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -15150,7 +14687,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -15160,12 +14697,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -15178,8 +14714,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -15203,7 +14738,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -15215,12 +14750,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -15231,12 +14765,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -15247,12 +14780,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -15279,8 +14811,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -15297,15 +14828,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15315,7 +14845,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc3::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc3::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -15327,8 +14857,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15355,7 +14884,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc3::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15366,8 +14895,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15385,7 +14913,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc3::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc3::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15404,8 +14932,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15420,15 +14947,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15438,7 +14964,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_rc3::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc3::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc3::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15453,8 +14979,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15487,7 +15012,7 @@ public: void setScaleZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); + IfcMapConversion initialize(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15496,8 +15021,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > MaterialClassifications() const; @@ -15507,7 +15031,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_rc3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_rc3::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15535,15 +15059,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15570,8 +15093,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_rc3::IfcMaterial Material() const; @@ -15605,7 +15127,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15642,8 +15164,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > MaterialLayers() const; @@ -15658,7 +15179,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_rc3::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15705,8 +15226,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15716,7 +15236,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_rc3::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15737,15 +15257,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc3::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_rc3::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_rc3::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15754,8 +15273,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15778,7 +15296,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15787,8 +15305,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15807,7 +15324,7 @@ public: void setCompositeProfile(const ::Ifc4x3_rc3::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15816,15 +15333,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, ::Ifc4x3_rc3::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15859,13 +15375,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15879,8 +15394,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc3::IfcValue ValueComponent() const; @@ -15890,7 +15404,7 @@ public: void setUnitComponent(const ::Ifc4x3_rc3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcValue v1_ValueComponent, ::Ifc4x3_rc3::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_rc3::IfcValue v1_ValueComponent, ::Ifc4x3_rc3::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15946,8 +15460,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc3::IfcBenchmarkEnum::Value Benchmark() const; @@ -15962,7 +15475,7 @@ public: void setReferencePath(const ::Ifc4x3_rc3::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc3::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc3::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc3::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc3::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15971,15 +15484,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15988,8 +15500,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc3::IfcDimensionalExponents Dimensions() const; @@ -15999,7 +15510,7 @@ public: void setUnitType(const ::Ifc4x3_rc3::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -16014,15 +15525,14 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_rc3::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc3::IfcObjectPlacement& v); std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -16035,8 +15545,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > > BenchmarkValues() const; @@ -16051,7 +15560,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc3::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -16063,8 +15572,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -16087,7 +15595,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -16101,8 +15609,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_rc3::IfcPersonAndOrganization OwningUser() const; @@ -16130,7 +15637,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_rc3::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc3::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -16143,8 +15650,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -16179,7 +15685,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc3::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -16188,8 +15694,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_rc3::IfcPerson ThePerson() const; @@ -16202,7 +15707,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPerson v1_ThePerson, ::Ifc4x3_rc3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_rc3::IfcPerson v1_ThePerson, ::Ifc4x3_rc3::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -16211,8 +15716,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -16224,7 +15728,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -16237,23 +15741,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_rc3::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_rc3::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -16284,17 +15786,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -16313,8 +15814,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16330,7 +15830,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16347,8 +15847,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16368,7 +15867,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_rc3::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16377,15 +15876,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16406,8 +15904,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16420,7 +15917,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_rc3::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16594,8 +16091,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_rc3::IfcProfileTypeEnum::Value ProfileType() const; @@ -16607,7 +16103,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16634,8 +16130,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16655,18 +16150,17 @@ public: void setMapUnit(const ::Ifc4x3_rc3::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc3::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc3::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16716,8 +16210,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16730,7 +16223,7 @@ public: void setUnit(const ::Ifc4x3_rc3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc3::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc3::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16739,8 +16232,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16752,7 +16244,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16761,8 +16253,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16774,7 +16265,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16783,8 +16274,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16796,7 +16286,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16805,8 +16295,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16818,7 +16307,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16827,8 +16316,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16840,7 +16328,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16849,8 +16337,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16862,7 +16349,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16872,8 +16359,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16914,13 +16400,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc3::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16934,7 +16419,7 @@ public: void setInnerReference(const ::Ifc4x3_rc3::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc3::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc3::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16984,8 +16469,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc3::IfcRepresentationContext ContextOfItems() const; @@ -17005,7 +16489,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -17019,8 +16503,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -17031,7 +16514,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -17067,14 +16550,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -17089,8 +16571,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -17103,15 +16584,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc3::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc3::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -17121,7 +16601,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -17134,8 +16614,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -17155,7 +16634,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -17166,8 +16645,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > Prefix() const; @@ -17179,15 +16657,14 @@ public: void setName(const ::Ifc4x3_rc3::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc3::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc3::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -17201,7 +16678,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -17242,8 +16719,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -17267,7 +16743,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_rc3::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc3::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17289,13 +16765,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17434,42 +16909,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17484,8 +16956,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > Values() const; @@ -17495,31 +16966,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17528,8 +16997,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17548,7 +17016,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17557,12 +17025,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17594,8 +17061,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17615,7 +17081,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_rc3::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc3::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17626,12 +17092,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17640,8 +17105,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17654,7 +17118,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17665,8 +17129,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc3::IfcSurfaceSide::Value Side() const; @@ -17676,7 +17139,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17691,8 +17154,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17712,7 +17174,7 @@ public: void setReflectanceColour(const ::Ifc4x3_rc3::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_rc3::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc3::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc3::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17721,8 +17183,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17732,7 +17193,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17743,8 +17204,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc3::IfcColourRgb SurfaceColour() const; @@ -17753,7 +17213,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17775,15 +17235,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17879,8 +17338,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17912,7 +17370,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17931,8 +17389,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17945,7 +17402,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc3::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17954,8 +17411,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17973,7 +17429,7 @@ public: void setReferencePath(const ::Ifc4x3_rc3::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit v4_Unit, ::Ifc4x3_rc3::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit v4_Unit, ::Ifc4x3_rc3::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17990,8 +17446,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > RowCells() const; @@ -18001,7 +17456,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -18013,8 +17468,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -18123,21 +17577,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_rc3::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_rc3::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc3::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc3::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -18147,8 +17600,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -18173,7 +17625,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -18205,8 +17657,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_rc3::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -18227,7 +17678,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc3::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc3::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -18248,8 +17699,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc3::IfcColour Colour() const; @@ -18259,7 +17709,7 @@ public: void setBackgroundColour(const ::Ifc4x3_rc3::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcColour v1_Colour, ::Ifc4x3_rc3::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_rc3::IfcColour v1_Colour, ::Ifc4x3_rc3::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -18270,8 +17720,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18303,7 +17752,7 @@ public: void setLineHeight(const ::Ifc4x3_rc3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc3::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_rc3::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc3::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc3::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc3::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18318,14 +17767,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18355,8 +17803,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18370,7 +17817,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18425,8 +17872,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18437,7 +17883,7 @@ public: void setMappedTo(const ::Ifc4x3_rc3::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc3::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc3::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc3::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc3::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18468,27 +17914,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18498,8 +17942,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18509,7 +17952,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18518,8 +17961,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18548,7 +17990,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18561,15 +18003,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc3::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_rc3::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_rc3::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18578,12 +18019,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18621,12 +18061,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_rc3::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc3::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18635,15 +18074,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc3::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_rc3::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_rc3::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18657,12 +18095,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18675,15 +18112,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc3::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_rc3::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_rc3::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18746,8 +18182,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_rc3::IfcGridAxis > IntersectingAxes() const; @@ -18757,7 +18192,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_rc3::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18769,8 +18204,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18787,13 +18221,12 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18811,13 +18244,12 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3_rc3::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_rc3::IfcCartesianPoint& v); @@ -18835,7 +18267,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc3::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18846,8 +18278,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_rc3::IfcApproval RelatingApproval() const; @@ -18857,7 +18288,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_rc3::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc3::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc3::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18879,15 +18310,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc3::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_rc3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18906,15 +18336,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_rc3::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_rc3::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18937,15 +18366,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_rc3::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_rc3::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc3::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc3::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18958,8 +18386,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18969,7 +18396,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -19002,15 +18429,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -19029,8 +18455,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -19084,7 +18509,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -19109,8 +18534,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_rc3::IfcClassificationReferenceSelect ReferencedSource() const; @@ -19126,19 +18550,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc3::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -19147,8 +18570,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -19158,7 +18580,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -19198,8 +18620,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_rc3::IfcProfileDef > Profiles() const; @@ -19209,7 +18630,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -19222,15 +18643,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_rc3::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_rc3::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -19247,8 +18667,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc3::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19258,7 +18677,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_rc3::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_rc3::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc3::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19281,8 +18700,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19295,7 +18713,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_rc3::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19306,8 +18724,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19315,7 +18732,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19366,8 +18783,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19378,7 +18794,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19400,15 +18816,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_rc3::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19423,8 +18838,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_rc3::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19445,7 +18859,7 @@ public: void setRateSource(const ::Ifc4x3_rc3::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc3::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc3::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc3::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19466,8 +18880,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19482,7 +18895,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc3::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc3::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19491,8 +18904,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19502,7 +18914,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19517,8 +18929,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19531,7 +18942,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19540,8 +18951,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19555,7 +18965,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19643,8 +19053,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc3::IfcProfileDef ParentProfile() const; @@ -19657,15 +19066,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19737,7 +19145,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc3::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19749,8 +19157,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc3::IfcDocumentInformation RelatingDocument() const; @@ -19763,7 +19170,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc3::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19778,8 +19185,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19792,7 +19198,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19845,8 +19251,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_rc3::IfcVertex EdgeStart() const; @@ -19856,7 +19261,7 @@ public: void setEdgeEnd(const ::Ifc4x3_rc3::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19893,8 +19298,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_rc3::IfcCurve EdgeGeometry() const; @@ -19904,7 +19308,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19931,8 +19335,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19950,13 +19353,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19966,7 +19368,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19977,8 +19379,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19990,7 +19391,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -20038,8 +19439,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_rc3::IfcFaceBound > Bounds() const; @@ -20047,7 +19447,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -20056,8 +19456,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_rc3::IfcLoop Bound() const; @@ -20067,7 +19466,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -20076,12 +19475,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_rc3::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -20121,8 +19519,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_rc3::IfcSurface FaceSurface() const; @@ -20132,7 +19529,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -20143,8 +19540,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -20166,7 +19562,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -20204,8 +19600,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > FillStyles() const; @@ -20214,7 +19609,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc3::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20265,8 +19660,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20286,7 +19680,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc3::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc3::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc3::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20309,12 +19703,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20331,8 +19724,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc3::IfcGeometricRepresentationContext ParentContext() const; @@ -20358,7 +19750,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20369,15 +19761,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20426,8 +19817,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc3::IfcVirtualGridIntersection PlacementLocation() const; @@ -20439,7 +19829,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20458,8 +19848,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_rc3::IfcSurface BaseSurface() const; @@ -20469,7 +19858,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20508,21 +19897,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_rc3::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc3::IfcTessellatedFaceSet& v); @@ -20534,13 +19921,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_rc3::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_rc3::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc3::IfcTessellatedFaceSet& v); @@ -20548,19 +19934,18 @@ public: void setTexCoords(const ::Ifc4x3_rc3::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_rc3::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20569,15 +19954,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20618,8 +20002,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20631,7 +20014,7 @@ public: void setDurationType(const ::Ifc4x3_rc3::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc3::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc3::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20642,8 +20025,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20660,7 +20042,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20671,12 +20053,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20689,8 +20070,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20698,7 +20078,7 @@ public: void setOrientation(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20709,8 +20089,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc3::IfcAxis2Placement3D Position() const; @@ -20732,7 +20111,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc3::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20751,8 +20130,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20773,7 +20151,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20792,8 +20170,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20812,13 +20189,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_rc3::IfcAxis2PlacementLinear RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_rc3::IfcAxis2PlacementLinear& v); @@ -20826,7 +20202,7 @@ public: void setCartesianPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20882,15 +20258,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_rc3::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_rc3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_rc3::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20920,12 +20295,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20948,8 +20322,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_rc3::IfcRepresentationMap MappingSource() const; @@ -20959,7 +20332,7 @@ public: void setMappingTarget(const ::Ifc4x3_rc3::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc3::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_rc3::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc3::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20990,8 +20363,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -21017,7 +20389,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -21026,8 +20398,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -21047,7 +20418,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -21065,8 +20436,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -21079,7 +20449,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -21113,15 +20483,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_rc3::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_rc3::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations, ::Ifc4x3_rc3::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations, ::Ifc4x3_rc3::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -21225,8 +20594,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc3::IfcMaterialLayerSet ForLayerSet() const; @@ -21257,7 +20625,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_rc3::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21268,8 +20636,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc3::IfcMaterialProfileSet ForProfileSet() const; @@ -21287,7 +20654,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21316,8 +20683,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc3::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21327,7 +20693,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_rc3::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21353,8 +20719,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21363,15 +20728,14 @@ public: void setMaterial(const ::Ifc4x3_rc3::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_rc3::IfcMaterial RelatingMaterial() const; @@ -21384,7 +20748,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc3::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21415,12 +20779,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21474,8 +20837,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21486,13 +20848,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21504,7 +20865,7 @@ public: void setTags(const std::optional< std::vector< std::string > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); + IfcOpenCrossProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21567,12 +20928,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21582,8 +20942,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc3::IfcOrganization RelatingOrganization() const; @@ -21593,7 +20952,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_rc3::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc3::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc3::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21604,8 +20963,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc3::IfcEdge EdgeElement() const; @@ -21615,7 +20973,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_rc3::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21661,15 +21019,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc3::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21687,15 +21044,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21708,8 +21064,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > HasQuantities() const; @@ -21725,7 +21080,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21747,8 +21102,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21766,7 +21120,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21779,15 +21133,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc3::IfcPoint Location() const; void setLocation(const ::Ifc4x3_rc3::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_rc3::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21796,8 +21149,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21807,7 +21159,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21816,18 +21168,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3_rc3::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v); @@ -21841,7 +21191,7 @@ public: void setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3_rc3::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21854,8 +21204,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_rc3::IfcCurve BasisCurve() const; @@ -21865,7 +21214,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21878,8 +21227,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_rc3::IfcSurface BasisSurface() const; @@ -21892,7 +21240,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21935,15 +21283,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -22003,8 +21350,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc3::IfcAxis2Placement3D Position() const; @@ -22016,7 +21362,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_rc3::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc3::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc3::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -22027,25 +21373,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -22060,12 +21404,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -22081,14 +21424,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -22103,23 +21445,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_rc3::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_rc3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v3_Properties, ::Ifc4x3_rc3::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -22135,7 +21475,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -22189,14 +21529,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -22208,8 +21547,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_rc3::IfcProperty DependingProperty() const; @@ -22222,7 +21560,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22268,15 +21606,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22305,22 +21642,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22358,8 +21693,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22369,7 +21703,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22378,8 +21712,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22389,7 +21722,7 @@ public: void setValues(const std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc3::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22398,8 +21731,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22421,7 +21753,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22433,12 +21765,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22448,8 +21779,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22459,7 +21789,7 @@ public: void setRelatingApproval(const ::Ifc4x3_rc3::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22483,8 +21813,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_rc3::IfcConstraint RelatingConstraint() const; @@ -22494,14 +21823,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc3::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22550,7 +21878,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22591,15 +21919,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22608,8 +21935,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc3::IfcSectionTypeEnum::Value SectionType() const; @@ -22622,7 +21948,7 @@ public: void setEndProfile(const ::Ifc4x3_rc3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc3::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc3::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc3::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc3::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22633,8 +21959,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22656,7 +21981,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc3::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22713,8 +22038,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_rc3::IfcCompositeCurve SpineCurve() const; @@ -22727,20 +22051,19 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_rc3::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_rc3::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3_rc3::IfcTransitionCode::Value& v); std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22756,26 +22079,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_rc3::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_rc3::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc3::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22788,8 +22109,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22802,7 +22122,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22811,12 +22131,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22825,8 +22144,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22848,7 +22166,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22857,8 +22175,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22871,7 +22188,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22880,8 +22197,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22903,22 +22219,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22928,8 +22243,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22951,7 +22265,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22963,15 +22277,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22985,15 +22298,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc3::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_rc3::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_rc3::IfcVertex v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc3::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -23007,12 +22319,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -23061,8 +22372,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -23097,7 +22407,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_rc3::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -23119,8 +22429,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_rc3::IfcProfileDef SweptArea() const; @@ -23130,7 +22439,7 @@ public: void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -23187,8 +22496,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc3::IfcCurve Directrix() const; @@ -23211,7 +22519,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -23225,15 +22533,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -23242,8 +22549,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_rc3::IfcProfileDef SweptCurve() const; @@ -23253,7 +22559,7 @@ public: void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23285,8 +22591,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23317,17 +22622,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23341,8 +22645,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23356,7 +22659,7 @@ public: void setPath(const ::Ifc4x3_rc3::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23369,8 +22672,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc3::IfcPlanarExtent Extent() const; @@ -23380,7 +22682,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23449,8 +22751,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23472,7 +22773,7 @@ public: void setFontSize(const ::Ifc4x3_rc3::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23514,8 +22815,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23531,7 +22831,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23566,8 +22866,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23586,7 +22885,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23618,8 +22917,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23635,7 +22933,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23705,8 +23003,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > RepresentationMaps() const; @@ -23717,7 +23014,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23733,8 +23030,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23750,7 +23046,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23782,8 +23078,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23808,7 +23103,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23819,8 +23114,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_rc3::IfcDirection Orientation() const; @@ -23830,7 +23124,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_rc3::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23846,15 +23140,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_rc3::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_rc3::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_rc3::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -23876,8 +23169,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -23893,7 +23185,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23922,8 +23214,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23945,7 +23236,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23962,12 +23253,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_rc3::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc3::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23991,8 +23281,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -24006,7 +23295,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_rc3::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc3::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -24047,8 +23336,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -24079,7 +23367,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -24092,15 +23380,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_rc3::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -24115,15 +23402,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_rc3::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -24140,8 +23426,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_rc3::IfcDirection Axis() const; @@ -24151,13 +23436,12 @@ public: void setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3_rc3::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc3::IfcDirection& v); @@ -24165,7 +23449,7 @@ public: void setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3_rc3::IfcPoint v1_Location, ::Ifc4x3_rc3::IfcDirection v2_Axis, ::Ifc4x3_rc3::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -24195,8 +23479,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc3::IfcBooleanOperator::Value Operator() const; @@ -24209,7 +23492,7 @@ public: void setSecondOperand(const ::Ifc4x3_rc3::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -24225,12 +23508,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -24256,8 +23538,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc3::IfcCartesianPoint Corner() const; @@ -24273,7 +23554,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24307,15 +23588,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc3::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_rc3::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_rc3::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24341,8 +23621,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24361,7 +23640,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24372,31 +23651,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24404,13 +23680,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24418,7 +23693,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24452,8 +23727,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc3::IfcDirection Axis1() const; @@ -24469,7 +23743,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24478,12 +23752,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24497,15 +23770,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24514,15 +23786,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc3::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24537,8 +23808,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24548,7 +23818,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_rc3::IfcDirection v1_Axis1, ::Ifc4x3_rc3::IfcDirection v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24564,15 +23834,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24625,12 +23894,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_rc3::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24642,8 +23910,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24662,7 +23929,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24671,8 +23938,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24683,7 +23949,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc3::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc3::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24694,8 +23960,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24707,7 +23972,7 @@ public: void setParentCurve(const ::Ifc4x3_rc3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24726,8 +23991,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > >& v); @@ -24735,7 +23999,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc3::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24752,8 +24016,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24778,7 +24041,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24792,15 +24055,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24809,15 +24071,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc3::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24862,15 +24123,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_rc3::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_rc3::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_rc3::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24884,12 +24144,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24906,8 +24165,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_rc3::IfcPlane BasisSurface() const; @@ -24920,7 +24178,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_rc3::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPlane v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc3::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_rc3::IfcPlane v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc3::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24945,8 +24203,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_rc3::IfcSurface BasisSurface() const; @@ -24958,13 +24215,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc3::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3_rc3::IfcPlacement Placement() const; void setPlacement(const ::Ifc4x3_rc3::IfcPlacement& v); @@ -24976,7 +24232,7 @@ public: void setParentCurve(const ::Ifc4x3_rc3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve v5_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve v5_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24987,21 +24243,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v); @@ -25011,13 +24265,12 @@ public: void setEndParam(const ::Ifc4x3_rc3::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam); }; class IFC_PARSE_API IfcDirectrixDistanceSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixDistanceSweptAreaSolid() {} - explicit IfcDirectrixDistanceSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v); @@ -25027,7 +24280,7 @@ public: void setEndDistance(const ::Ifc4x3_rc3::IfcPointByDistanceExpression& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance); + IfcDirectrixDistanceSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -25057,8 +24310,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -25074,7 +24326,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -25089,15 +24341,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc3::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_rc3::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -25178,8 +24429,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -25191,7 +24441,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -25217,15 +24467,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -25234,15 +24483,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc3::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -25262,8 +24510,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -25273,7 +24520,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -25283,8 +24530,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -25301,7 +24547,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25373,8 +24619,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc3::IfcDirection ExtrudedDirection() const; @@ -25385,7 +24630,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25487,15 +24732,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_rc3::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25511,15 +24755,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc3::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25570,8 +24813,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc3::IfcCurveStyle HatchLineAppearance() const; @@ -25598,7 +24840,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_rc3::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc3::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25607,8 +24849,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_rc3::IfcVector > TilingPattern() const; @@ -25621,7 +24862,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc3::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_rc3::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc3::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25683,15 +24924,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc3::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25723,12 +24963,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25769,8 +25008,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25779,7 +25017,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25844,15 +25082,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25863,12 +25100,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_rc3::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25935,8 +25171,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25959,44 +25194,41 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcInclinedReferenceSweptAreaSolid : public IfcDirectrixDistanceSweptAreaSolid { public: - IfcInclinedReferenceSweptAreaSolid() {} - explicit IfcInclinedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixDistanceSweptAreaSolid(data) {} + using IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid; std::optional< bool > FixedAxisVertical() const; void setFixedAxisVertical(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical); + IfcInclinedReferenceSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression v5_EndDistance, std::optional< bool > v6_FixedAxisVertical); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -26051,8 +25283,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -26074,7 +25305,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -26089,15 +25320,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -26114,8 +25344,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_rc3::IfcCartesianPoint Pnt() const; @@ -26125,7 +25354,7 @@ public: void setDir(const ::Ifc4x3_rc3::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc3::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_rc3::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc3::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -26192,15 +25421,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_rc3::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_rc3::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -26286,8 +25514,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -26298,19 +25525,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc3::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_rc3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -26325,8 +25551,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -26336,7 +25561,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -26355,8 +25580,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26369,13 +25593,12 @@ public: void setRefDirection(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc3::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc3::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression >& v); @@ -26383,7 +25606,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26394,8 +25617,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc3::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_rc3::IfcSurface& v); @@ -26403,7 +25625,7 @@ public: void setReferenceCurve(const ::Ifc4x3_rc3::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26413,8 +25635,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26422,7 +25643,7 @@ public: void setPlacement(const ::Ifc4x3_rc3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc3::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc3::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26462,18 +25683,16 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position); }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: - IfcPolynomialCurve() {} - explicit IfcPolynomialCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc3::IfcPlacement Position() const; void setPosition(const ::Ifc4x3_rc3::IfcPlacement& v); @@ -26485,7 +25704,7 @@ public: void setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); + IfcPolynomialCurve initialize(::Ifc4x3_rc3::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26494,12 +25713,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26510,12 +25728,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26539,12 +25756,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26561,8 +25777,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26570,7 +25785,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26614,8 +25829,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26633,7 +25847,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26728,8 +25942,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_rc3::IfcObjectPlacement ObjectPlacement() const; @@ -26742,7 +25955,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26790,12 +26003,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26823,12 +26035,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26936,8 +26147,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_rc3::IfcValue UpperBoundValue() const; @@ -26955,7 +26165,7 @@ public: void setSetPointValue(const ::Ifc4x3_rc3::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc3::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc3::IfcUnit v5_Unit, ::Ifc4x3_rc3::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc3::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc3::IfcUnit v5_Unit, ::Ifc4x3_rc3::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -27036,8 +26246,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -27049,7 +26258,7 @@ public: void setEnumerationReference(const ::Ifc4x3_rc3::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -27118,8 +26327,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -27131,7 +26339,7 @@ public: void setUnit(const ::Ifc4x3_rc3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_ListValues, ::Ifc4x3_rc3::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_ListValues, ::Ifc4x3_rc3::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -27150,8 +26358,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -27163,7 +26370,7 @@ public: void setPropertyReference(const ::Ifc4x3_rc3::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc3::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc3::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -27220,15 +26427,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_rc3::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_rc3::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -27263,8 +26469,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -27288,7 +26493,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -27336,8 +26541,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -27351,7 +26555,7 @@ public: void setUnit(const ::Ifc4x3_rc3::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_NominalValue, ::Ifc4x3_rc3::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue v3_NominalValue, ::Ifc4x3_rc3::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27471,8 +26675,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27500,7 +26703,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27528,14 +26731,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -27555,8 +26757,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x3_rc3::IfcObjectTypeEnum::Value ProxyType() const; @@ -27566,7 +26767,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27590,8 +26791,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27604,7 +26804,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27696,8 +26896,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27710,7 +26909,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27729,8 +26928,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_rc3::IfcSurface BasisSurface() const; @@ -27755,7 +26953,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_rc3::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27785,8 +26983,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27796,7 +26993,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc3::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27811,8 +27008,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > RelatedObjects() const; @@ -27823,7 +27019,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27836,8 +27032,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc3::IfcActor RelatingActor() const; @@ -27847,7 +27042,7 @@ public: void setActingRole(const ::Ifc4x3_rc3::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27856,15 +27051,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc3::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_rc3::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27881,15 +27075,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_rc3::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_rc3::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27902,15 +27095,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27936,8 +27128,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27949,7 +27140,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_rc3::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27961,8 +27152,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27971,7 +27161,7 @@ public: void setRelatingProduct(const ::Ifc4x3_rc3::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27981,8 +27171,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27991,7 +27180,7 @@ public: void setRelatingResource(const ::Ifc4x3_rc3::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -28036,8 +27225,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -28046,22 +27234,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc3::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_rc3::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -28095,23 +27282,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_rc3::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_rc3::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -28121,7 +27306,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_rc3::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -28132,15 +27317,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_rc3::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_rc3::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -28151,15 +27335,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc3::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_rc3::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -28257,39 +27440,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_rc3::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_rc3::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_rc3::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_rc3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -28315,8 +27495,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_rc3::IfcConnectionGeometry ConnectionGeometry() const; @@ -28329,7 +27508,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -28363,8 +27542,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -28380,7 +27558,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28409,8 +27587,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc3::IfcPort RelatingPort() const; @@ -28422,7 +27599,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc3::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28439,8 +27616,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc3::IfcPort RelatingPort() const; @@ -28453,15 +27629,14 @@ public: void setRealizingElement(const ::Ifc4x3_rc3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcPort v6_RelatedPort, ::Ifc4x3_rc3::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort v5_RelatingPort, ::Ifc4x3_rc3::IfcPort v6_RelatedPort, ::Ifc4x3_rc3::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28471,7 +27646,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_rc3::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28499,8 +27674,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc3::IfcStructuralMember RelatingStructuralMember() const; @@ -28522,7 +27696,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28543,15 +27717,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_rc3::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_rc3::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc3::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc3::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28578,8 +27751,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_rc3::IfcElement > RealizingElements() const; @@ -28589,7 +27761,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement v6_RelatingElement, ::Ifc4x3_rc3::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc3::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28653,8 +27825,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28666,7 +27837,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc3::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28686,8 +27857,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28699,7 +27869,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc3::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28729,8 +27899,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28742,7 +27911,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc3::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc3::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28757,8 +27926,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc3::IfcContext RelatingContext() const; @@ -28768,7 +27936,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc3::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28802,12 +27970,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28838,12 +28005,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28862,8 +28028,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_rc3::IfcObject > RelatedObjects() const; @@ -28873,7 +28038,7 @@ public: void setRelatingObject(const ::Ifc4x3_rc3::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28892,8 +28057,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > RelatedObjects() const; @@ -28903,7 +28067,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28919,8 +28083,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28930,7 +28093,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_rc3::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc3::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc3::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -29003,8 +28166,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_rc3::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObject >& v); @@ -29013,7 +28175,7 @@ public: void setRelatingType(const ::Ifc4x3_rc3::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -29026,8 +28188,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc3::IfcOpeningElement RelatingOpeningElement() const; @@ -29039,7 +28200,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_rc3::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -29050,8 +28211,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > RelatedControlElements() const; @@ -29061,7 +28221,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_rc3::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -29112,8 +28272,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_rc3::IfcInterferenceSelect RelatingElement() const; @@ -29132,7 +28291,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -29161,8 +28320,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -29176,13 +28334,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_rc3::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_rc3::IfcPositioningElement& v); @@ -29190,7 +28347,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_rc3::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc3::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc3::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -29226,8 +28383,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc3::IfcElement RelatingElement() const; @@ -29237,7 +28393,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_rc3::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -29290,8 +28446,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -29304,7 +28459,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc3::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc3::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -29362,8 +28517,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_rc3::IfcProcess RelatingProcess() const; @@ -29392,7 +28546,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29417,8 +28571,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_rc3::IfcSystem RelatingSystem() const; @@ -29432,7 +28585,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_rc3::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc3::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc3::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29598,8 +28751,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc3::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29624,7 +28776,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29675,8 +28827,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29684,7 +28835,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29720,8 +28871,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29729,7 +28879,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29740,8 +28890,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_rc3::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_rc3::IfcElement& v); @@ -29749,7 +28898,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_rc3::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc3::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc3::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29776,14 +28925,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29800,8 +28948,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29817,7 +28964,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29897,8 +29044,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_rc3::IfcAxis1Placement Axis() const; @@ -29908,7 +29054,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29970,14 +29116,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_rc3::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc3::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc3::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30046,8 +29191,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -30057,7 +29201,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30142,8 +29286,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -30153,13 +29296,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_rc3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v); @@ -30167,13 +29309,12 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_rc3::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >& v); @@ -30181,13 +29322,12 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc3::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_rc3::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc3::IfcCurve& v); @@ -30199,7 +29339,7 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); + IfcSectionedSurface initialize(::Ifc4x3_rc3::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc3::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc3::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -30248,8 +29388,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -30300,7 +29439,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc3::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc3::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc3::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc3::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -30335,8 +29474,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -30348,7 +29486,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -30383,15 +29521,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30469,8 +29606,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30480,7 +29616,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30518,12 +29654,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30576,15 +29711,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30618,8 +29752,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30628,7 +29761,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30682,39 +29815,36 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - IfcSpiral() {} - explicit IfcSpiral (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc3::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position); + IfcSpiral initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30811,8 +29941,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30841,7 +29970,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30932,13 +30061,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30946,13 +30074,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30976,12 +30103,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -31005,8 +30131,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -31016,7 +30141,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -31038,12 +30163,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -31069,15 +30193,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -31092,21 +30215,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc3::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_rc3::IfcCurve& v); @@ -31116,7 +30237,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -31182,15 +30303,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_rc3::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_rc3::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -31207,8 +30327,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_rc3::IfcDirection ExtrudedDirection() const; @@ -31218,7 +30337,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -31239,15 +30358,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc3::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_rc3::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -31281,14 +30399,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31537,8 +30654,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31581,7 +30697,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc3::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31625,8 +30741,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31637,13 +30752,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_rc3::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_rc3::IfcCartesianPointList3D& v); @@ -31651,13 +30765,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - IfcThirdOrderPolynomialSpiral() {} - explicit IfcThirdOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QubicTerm() const; void setQubicTerm(const double& v); @@ -31669,13 +30782,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31683,7 +30795,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -31750,21 +30862,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcTransportElementTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31776,19 +30886,18 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31890,8 +30999,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31939,7 +31047,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc3::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31988,8 +31096,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -32010,7 +31117,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -32029,8 +31136,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_rc3::IfcActorSelect TheActor() const; @@ -32038,7 +31144,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -32075,12 +31181,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -32105,14 +31210,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_rc3::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc3::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -32289,15 +31393,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -32370,8 +31473,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -32396,7 +31498,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -32407,8 +31509,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -32427,7 +31528,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc3::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32528,8 +31629,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32542,7 +31642,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32553,12 +31653,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32572,12 +31671,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32758,25 +31856,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32805,15 +31901,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32835,37 +31930,34 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double ClothoidConstant() const; void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32967,15 +32059,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc3::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32987,8 +32078,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32999,7 +32089,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -33069,8 +32159,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_rc3::IfcSegment > Segments() const; @@ -33080,7 +32169,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -33095,12 +32184,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -33109,15 +32197,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_rc3::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc3::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -33134,15 +32221,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -33159,15 +32245,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -33184,15 +32269,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -33268,8 +32352,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_rc3::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_rc3::IfcResourceTime& v); @@ -33279,7 +32362,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc3::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -33293,8 +32376,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -33305,13 +32387,12 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; class IFC_PARSE_API IfcCosine : public IfcSpiral { public: - IfcCosine() {} - explicit IfcCosine (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CosineTerm() const; void setCosineTerm(const double& v); @@ -33319,7 +32400,7 @@ public: void setConstantTerm(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_CosineTerm, double v3_ConstantTerm); + IfcCosine initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_CosineTerm, double v3_ConstantTerm); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -33359,8 +32440,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -33383,7 +32463,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc3::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc3::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -33410,8 +32490,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -33439,19 +32518,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33534,15 +32612,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33556,8 +32633,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33565,7 +32641,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33590,15 +32666,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33656,35 +32731,32 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_rc3::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: - IfcDirectrixDerivedReferenceSweptAreaSolid() {} - explicit IfcDirectrixDerivedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcFixedReferenceSweptAreaSolid(data) {} + using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference); + IfcDirectrixDerivedReferenceSweptAreaSolid initialize(::Ifc4x3_rc3::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc3::IfcCurve v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc3::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33716,12 +32788,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33790,12 +32861,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33894,8 +32964,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33944,7 +33013,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc3::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33993,8 +33062,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -34015,7 +33083,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -34147,8 +33215,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc3::IfcDoorTypeEnum::Value PredefinedType() const; @@ -34162,7 +33229,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -34238,12 +33305,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -34260,12 +33326,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -34322,8 +33387,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -34341,7 +33405,7 @@ public: std::vector< IfcRelCoversBldgElements > HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34439,8 +33503,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34452,7 +33515,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34478,15 +33541,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34567,12 +33629,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34585,12 +33646,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34621,8 +33681,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34632,7 +33691,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34659,12 +33718,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34694,14 +33752,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc3::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34731,15 +33788,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34769,15 +33825,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34858,8 +33913,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34879,7 +33933,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_rc3::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc3::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc3::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34888,12 +33942,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34921,12 +33974,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34954,31 +34006,28 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_rc3::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc3::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_rc3::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc3::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_rc3::IfcFacilityPartTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFacilityPartTypeSelect& v); @@ -34986,7 +34035,7 @@ public: void setUsageType(const ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc3::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v11_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc3::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v11_UsageType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34998,15 +34047,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -35033,15 +34081,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -35139,12 +34186,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -35203,13 +34249,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -35263,13 +34308,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -35295,12 +34339,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -35327,12 +34370,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -35368,15 +34410,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -35402,12 +34443,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35442,12 +34482,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35458,12 +34497,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35474,12 +34512,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35491,12 +34528,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35509,15 +34545,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_rc3::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35625,12 +34660,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35665,14 +34699,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35816,41 +34849,37 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_rc3::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_rc3::IfcBoundedCurve& v); @@ -35858,7 +34887,7 @@ public: void setEndPoint(const ::Ifc4x3_rc3::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint); + IfcGradientCurve initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35892,13 +34921,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35931,15 +34959,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35969,45 +34996,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc3::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_rc3::IfcCartesianPointList& v); @@ -36017,7 +35040,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_rc3::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc3::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -36054,24 +35077,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -36086,8 +35107,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -36113,7 +35133,7 @@ public: void setOriginalValue(const ::Ifc4x3_rc3::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc3::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc3::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc3::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -36144,27 +35164,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -36192,8 +35210,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -36201,7 +35218,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -36234,15 +35251,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc3::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -36277,49 +35293,45 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -36352,8 +35364,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -36364,7 +35375,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -36403,8 +35414,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36417,7 +35427,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36447,14 +35457,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36559,39 +35568,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc3::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36622,27 +35628,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36653,8 +35657,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36663,7 +35666,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36869,8 +35872,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36880,7 +35882,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -36977,12 +35979,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -37015,27 +36016,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc3::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcPavementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -37044,8 +36043,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -37057,7 +36055,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -37092,8 +36090,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -37112,7 +36109,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc3::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -37153,8 +36150,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -37173,7 +36169,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -37184,15 +36180,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_rc3::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -37225,15 +36220,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -37270,25 +36264,23 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: - IfcPlant() {} - explicit IfcPlant (const std::weak_ptr& data) : IfcGeographicElement(data) {} + using IfcGeographicElement::IfcGeographicElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcPlant initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -37369,21 +36361,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc3::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -37393,7 +36383,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_rc3::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc3::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -37411,15 +36401,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_rc3::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -37476,27 +36465,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37604,8 +36591,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37613,7 +36599,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37660,8 +36646,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37684,7 +36669,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37795,8 +36780,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37805,7 +36789,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37844,15 +36828,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37884,27 +36867,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_rc3::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37928,27 +36909,25 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc3::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v10_PredefinedType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37972,15 +36951,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -38017,15 +36995,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc3::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -38042,21 +37019,19 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value >& v); @@ -38064,7 +37039,7 @@ public: void setRestartDistance(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -38076,26 +37051,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38123,8 +37096,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -38147,7 +37119,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38162,8 +37134,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -38198,7 +37169,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v20_BendingParameters); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -38224,8 +37195,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -38239,19 +37209,18 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc3::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc3::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v10_PredefinedType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -38287,15 +37256,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc3::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -38336,31 +37304,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_rc3::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc3::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: - IfcSecondOrderPolynomialSpiral() {} - explicit IfcSecondOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QuadraticTerm() const; void setQuadraticTerm(const double& v); @@ -38370,13 +37335,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSecondOrderPolynomialSpiral initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_rc3::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_rc3::IfcBoundedCurve& v); @@ -38384,7 +37348,7 @@ public: void setEndPoint(const ::Ifc4x3_rc3::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint); + IfcSegmentedReferenceCurve initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement v4_EndPoint); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -38409,57 +37373,52 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc3::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc3::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSine : public IfcSpiral { public: - IfcSine() {} - explicit IfcSine (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SineTerm() const; void setSineTerm(const double& v); @@ -38467,7 +37426,7 @@ public: void setLinearTerm(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SineTerm, double v3_LinearTerm); + IfcSine initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_SineTerm, double v3_LinearTerm); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38660,8 +37619,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38683,7 +37641,7 @@ public: void setSiteAddress(const ::Ifc4x3_rc3::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc3::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc3::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38764,15 +37722,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc3::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38802,24 +37759,22 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: - IfcSolidStratum() {} - explicit IfcSolidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcSolidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -39073,8 +38028,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39090,7 +38044,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -39124,15 +38078,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -39217,8 +38170,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -39227,7 +38179,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -39257,15 +38209,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -39289,15 +38240,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -39334,15 +38284,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc3::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -39365,23 +38314,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_rc3::IfcBoundaryCondition AppliedCondition() const; @@ -39389,7 +38336,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -39449,8 +38396,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39460,7 +38406,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39481,8 +38427,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -39491,7 +38436,7 @@ public: void setAxis(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39532,8 +38477,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39545,7 +38489,7 @@ public: void setAxis(const ::Ifc4x3_rc3::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39569,12 +38513,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39628,15 +38571,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39647,12 +38589,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39689,8 +38630,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39711,7 +38651,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39760,12 +38700,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39782,15 +38721,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_rc3::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_rc3::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc3::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39837,12 +38775,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39850,8 +38787,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39865,7 +38801,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc3::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39921,8 +38857,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39932,7 +38867,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39948,12 +38883,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39981,8 +38915,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -39990,7 +38923,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -40026,15 +38959,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -40078,15 +39010,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -40107,14 +39038,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -40142,14 +39072,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -40185,21 +39114,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_rc3::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value >& v); @@ -40219,61 +39146,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc3::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTendonTypeEnum::Value& v); @@ -40285,19 +39207,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -40328,15 +39249,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -40456,8 +39376,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -40466,7 +39385,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc3::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40548,8 +39467,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_rc3::IfcCurve BasisCurve() const; @@ -40568,7 +39486,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc3::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_rc3::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc3::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40601,15 +39519,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40641,15 +39558,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40691,39 +39607,36 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_rc3::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40761,14 +39674,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40794,21 +39706,19 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVienneseBend : public IfcBoundedCurve { public: - IfcVienneseBend() {} - explicit IfcVienneseBend (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; double StartCurvature() const; void setStartCurvature(const double& v); @@ -40820,7 +39730,7 @@ public: void setSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_StartCurvature, double v2_EndCurvature, double v3_GravityCenterHeight, double v4_SegmentLength); + IfcVienneseBend initialize(double v1_StartCurvature, double v2_EndCurvature, double v3_GravityCenterHeight, double v4_SegmentLength); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40910,22 +39820,20 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: - IfcVoidStratum() {} - explicit IfcVoidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVoidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40961,15 +39869,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -41057,15 +39964,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc3::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -41105,25 +40011,23 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: - IfcWaterStratum() {} - explicit IfcWaterStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcWaterStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -41248,8 +40152,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc3::IfcWindowTypeEnum::Value PredefinedType() const; @@ -41263,7 +40166,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -41280,8 +40183,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -41301,7 +40203,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc3::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -41349,8 +40251,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -41375,7 +40276,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -41404,8 +40305,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -41413,7 +40313,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -41457,8 +40357,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -41466,7 +40365,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc3::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41555,8 +40454,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41567,7 +40465,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41609,8 +40507,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41633,7 +40530,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41663,15 +40560,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41701,14 +40597,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41738,59 +40633,54 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3_rc3::IfcAlignmentParameterSegment DesignParameters() const; void setDesignParameters(const ::Ifc4x3_rc3::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcAlignmentParameterSegment v8_DesignParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcAlignmentParameterSegment v8_DesignParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41818,8 +40708,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41855,7 +40744,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_rc3::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc3::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc3::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc3::IfcActorSelect v10_Owner, ::Ifc4x3_rc3::IfcActorSelect v11_User, ::Ifc4x3_rc3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc3::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc3::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc3::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc3::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc3::IfcActorSelect v10_Owner, ::Ifc4x3_rc3::IfcActorSelect v11_User, ::Ifc4x3_rc3::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc3::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41901,15 +40790,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41962,8 +40850,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41982,7 +40869,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -42003,8 +40890,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -42017,7 +40903,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc3::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -42119,27 +41005,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc3::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc3::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -42172,15 +41056,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -42191,24 +41074,22 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -42386,8 +41267,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -42400,7 +41280,7 @@ public: void setBuildingAddress(const ::Ifc4x3_rc3::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc3::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc3::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -42421,15 +41301,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -42437,15 +41316,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -42483,15 +41361,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42531,8 +41408,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42541,23 +41417,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value >& v); @@ -42565,7 +41439,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42596,14 +41470,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42633,15 +41506,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42677,15 +41549,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42717,15 +41588,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42770,27 +41640,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42826,15 +41694,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc3::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42879,8 +41746,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42888,7 +41754,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42919,25 +41785,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_rc3::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42968,15 +41832,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc3::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -43251,8 +42114,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -43262,7 +42124,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -43511,12 +42373,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -43552,15 +42413,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -43591,15 +42451,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43630,15 +42489,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43664,8 +42522,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43673,7 +42530,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43703,8 +42560,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43712,7 +42568,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43731,8 +42587,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43740,19 +42595,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc3::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43785,15 +42639,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43830,27 +42683,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -44078,8 +42929,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -44088,7 +42938,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -44230,8 +43080,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -44241,7 +43090,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -44279,25 +43128,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_rc3::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -44474,15 +43321,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44674,27 +43520,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44735,15 +43579,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44801,12 +43644,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44972,13 +43814,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -45050,13 +43891,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -45142,8 +43982,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -45155,7 +43994,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -45199,8 +44038,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -45212,7 +44050,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -45572,8 +44410,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -45602,7 +44439,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -45710,12 +44547,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45748,15 +44584,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45789,15 +44624,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -45827,49 +44661,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45902,15 +44732,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45941,15 +44770,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45980,27 +44808,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -46036,15 +44862,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -46075,15 +44900,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -46114,15 +44938,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -46135,12 +44958,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -46185,14 +45007,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -46240,14 +45061,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -46315,14 +45135,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -46341,8 +45160,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -46350,7 +45168,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -46382,15 +45200,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_rc3::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -46423,15 +45240,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_rc3::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -46468,15 +45284,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -46489,12 +45304,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -46503,12 +45317,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -46542,15 +45355,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -46634,14 +45446,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -46650,12 +45461,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -46682,12 +45492,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46700,12 +45509,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46720,12 +45528,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46734,12 +45541,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46765,8 +45571,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -46775,17 +45580,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46885,8 +45689,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_rc3::IfcGridAxis > UAxes() const; @@ -46901,7 +45704,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc3::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc3::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46955,14 +45758,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -47009,14 +45811,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -47077,14 +45878,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -47154,26 +45954,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -47224,14 +46022,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -47301,36 +46098,33 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -47378,14 +46172,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -47639,8 +46432,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -47650,7 +46442,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -47893,36 +46685,33 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -47967,26 +46756,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -47995,12 +46782,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_rc3::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -48070,26 +46856,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v9_PredefinedType); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -48111,8 +46895,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -48126,7 +46909,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -48215,14 +46998,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -48286,14 +47068,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -48525,8 +47306,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -48536,7 +47316,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -48693,12 +47473,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -48778,14 +47557,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -48829,15 +47607,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -48890,26 +47667,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -49045,8 +47820,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -49055,7 +47829,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -49192,8 +47966,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -49204,7 +47977,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -49396,8 +48169,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -49407,7 +48179,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -49447,27 +48219,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc3::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -49499,8 +48269,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -49515,7 +48284,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -49535,8 +48304,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -49559,7 +48327,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc3::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -49708,8 +48476,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -49718,7 +48485,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -49848,14 +48615,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -49907,15 +48673,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc3::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -49933,8 +48698,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -49942,19 +48706,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -50218,8 +48981,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -50229,7 +48991,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -50316,12 +49078,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -50484,12 +49245,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -50540,14 +49300,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -50613,14 +49372,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -50674,14 +49432,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -50850,8 +49607,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -50860,7 +49616,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -51031,8 +49787,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -51059,7 +49814,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -51086,8 +49841,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -51119,15 +49873,14 @@ public: void setSharedPlacement(const ::Ifc4x3_rc3::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc3::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -51138,7 +49891,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -51149,12 +49902,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -51246,14 +49998,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -51317,26 +50068,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -51382,14 +50131,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -51440,14 +50188,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -51477,15 +50224,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -51561,14 +50307,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -51758,14 +50503,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -52011,8 +50755,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -52022,7 +50765,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -52124,12 +50867,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -52335,12 +51077,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -52448,14 +51189,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -52817,8 +51557,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -52847,7 +51586,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -52965,12 +51704,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -53005,15 +51743,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -53074,14 +51811,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -53127,14 +51863,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -53183,14 +51918,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -53220,27 +51954,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v8_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v8_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -53422,14 +52154,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -53670,8 +52401,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -53681,7 +52411,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -53936,24 +52666,22 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -54026,24 +52754,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -54237,14 +52963,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -54289,14 +53014,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -54361,15 +53085,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -54432,15 +53155,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -54518,15 +53240,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -54617,27 +53338,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -54710,14 +53429,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -54787,14 +53505,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54900,14 +53617,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -54957,14 +53673,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -55034,14 +53749,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -55081,27 +53795,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc3::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc3::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc3::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc3::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -55154,14 +53866,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -55222,14 +53933,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -55304,26 +54014,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -55358,24 +54066,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -55457,13 +54163,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -55542,14 +54247,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -55602,14 +54306,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -55655,14 +54358,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -55764,14 +54466,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -55832,14 +54533,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -55884,26 +54584,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -55954,14 +54652,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -56006,14 +54703,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -56058,14 +54754,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -56123,14 +54818,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -56221,14 +54915,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -56298,14 +54991,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -56361,34 +55053,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -56444,14 +55133,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -56589,14 +55277,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -56655,14 +55342,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -56728,14 +55414,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -56781,14 +55466,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -56898,14 +55582,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_rc4.cpp b/src/ifcparse/schemas/Ifc4x3_rc4.cpp index ae2af37bf0..f070bc8f84 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc4.cpp +++ b/src/ifcparse/schemas/Ifc4x3_rc4.cpp @@ -7304,652 +7304,652 @@ const ifcopenshell::select_type& Ifc4x3_rc4::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[0]); } -void Ifc4x3_rc4::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcAbsorbedDoseMeasure Ifc4x3_rc4::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1]); } -void Ifc4x3_rc4::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcAccelerationMeasure Ifc4x3_rc4::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[42]); } -void Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcAmountOfSubstanceMeasure Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[45]); } -void Ifc4x3_rc4::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcAngularVelocityMeasure Ifc4x3_rc4::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[57]); } -void Ifc4x3_rc4::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcArcIndex Ifc4x3_rc4::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[58]); } -void Ifc4x3_rc4::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcAreaDensityMeasure Ifc4x3_rc4::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[59]); } -void Ifc4x3_rc4::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcAreaMeasure Ifc4x3_rc4::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[82]); } -void Ifc4x3_rc4::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcBinary Ifc4x3_rc4::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[88]); } -void Ifc4x3_rc4::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcBoolean Ifc4x3_rc4::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[103]); } -void Ifc4x3_rc4::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcBoxAlignment Ifc4x3_rc4::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[146]); } -void Ifc4x3_rc4::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcCardinalPointReference Ifc4x3_rc4::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[190]); } -void Ifc4x3_rc4::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcComplexNumber Ifc4x3_rc4::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[198]); } -void Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[228]); } -void Ifc4x3_rc4::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcContextDependentMeasure Ifc4x3_rc4::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[254]); } -void Ifc4x3_rc4::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcCountMeasure Ifc4x3_rc4::IfcCountMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[272]); } -void Ifc4x3_rc4::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcCurvatureMeasure Ifc4x3_rc4::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[292]); } -void Ifc4x3_rc4::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDate Ifc4x3_rc4::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[293]); } -void Ifc4x3_rc4::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDateTime Ifc4x3_rc4::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[294]); } -void Ifc4x3_rc4::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDayInMonthNumber Ifc4x3_rc4::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[295]); } -void Ifc4x3_rc4::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDayInWeekNumber Ifc4x3_rc4::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[304]); } -void Ifc4x3_rc4::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDescriptiveMeasure Ifc4x3_rc4::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[306]); } -void Ifc4x3_rc4::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDimensionCount Ifc4x3_rc4::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[349]); } -void Ifc4x3_rc4::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDoseEquivalentMeasure Ifc4x3_rc4::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[361]); } -void Ifc4x3_rc4::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDuration Ifc4x3_rc4::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[362]); } -void Ifc4x3_rc4::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcDynamicViscosityMeasure Ifc4x3_rc4::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[374]); } -void Ifc4x3_rc4::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcElectricCapacitanceMeasure Ifc4x3_rc4::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[375]); } -void Ifc4x3_rc4::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcElectricChargeMeasure Ifc4x3_rc4::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[376]); } -void Ifc4x3_rc4::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcElectricConductanceMeasure Ifc4x3_rc4::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[377]); } -void Ifc4x3_rc4::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcElectricCurrentMeasure Ifc4x3_rc4::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[393]); } -void Ifc4x3_rc4::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcElectricResistanceMeasure Ifc4x3_rc4::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[397]); } -void Ifc4x3_rc4::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcElectricVoltageMeasure Ifc4x3_rc4::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[412]); } -void Ifc4x3_rc4::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcEnergyMeasure Ifc4x3_rc4::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[493]); } -void Ifc4x3_rc4::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcFontStyle Ifc4x3_rc4::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[494]); } -void Ifc4x3_rc4::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcFontVariant Ifc4x3_rc4::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[495]); } -void Ifc4x3_rc4::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcFontWeight Ifc4x3_rc4::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[499]); } -void Ifc4x3_rc4::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcForceMeasure Ifc4x3_rc4::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[500]); } -void Ifc4x3_rc4::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcFrequencyMeasure Ifc4x3_rc4::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[521]); } -void Ifc4x3_rc4::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcGloballyUniqueId Ifc4x3_rc4::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[535]); } -void Ifc4x3_rc4::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcHeatFluxDensityMeasure Ifc4x3_rc4::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[536]); } -void Ifc4x3_rc4::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcHeatingValueMeasure Ifc4x3_rc4::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[540]); } -void Ifc4x3_rc4::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcIdentifier Ifc4x3_rc4::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[541]); } -void Ifc4x3_rc4::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcIlluminanceMeasure Ifc4x3_rc4::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[553]); } -void Ifc4x3_rc4::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcInductanceMeasure Ifc4x3_rc4::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[554]); } -void Ifc4x3_rc4::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcInteger Ifc4x3_rc4::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[555]); } -void Ifc4x3_rc4::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcIntegerCountRateMeasure Ifc4x3_rc4::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[564]); } -void Ifc4x3_rc4::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcIonConcentrationMeasure Ifc4x3_rc4::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[568]); } -void Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[574]); } -void Ifc4x3_rc4::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcKinematicViscosityMeasure Ifc4x3_rc4::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[576]); } -void Ifc4x3_rc4::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLabel Ifc4x3_rc4::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[584]); } -void Ifc4x3_rc4::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLanguageId Ifc4x3_rc4::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[587]); } -void Ifc4x3_rc4::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLengthMeasure Ifc4x3_rc4::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[613]); } -void Ifc4x3_rc4::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLineIndex Ifc4x3_rc4::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[607]); } -void Ifc4x3_rc4::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLinearForceMeasure Ifc4x3_rc4::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[608]); } -void Ifc4x3_rc4::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLinearMomentMeasure Ifc4x3_rc4::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[611]); } -void Ifc4x3_rc4::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLinearStiffnessMeasure Ifc4x3_rc4::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[612]); } -void Ifc4x3_rc4::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLinearVelocityMeasure Ifc4x3_rc4::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[619]); } -void Ifc4x3_rc4::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLogical Ifc4x3_rc4::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[623]); } -void Ifc4x3_rc4::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLuminousFluxMeasure Ifc4x3_rc4::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[624]); } -void Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[625]); } -void Ifc4x3_rc4::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcLuminousIntensityMeasure Ifc4x3_rc4::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[626]); } -void Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMagneticFluxDensityMeasure Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[627]); } -void Ifc4x3_rc4::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMagneticFluxMeasure Ifc4x3_rc4::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[634]); } -void Ifc4x3_rc4::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMassDensityMeasure Ifc4x3_rc4::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[635]); } -void Ifc4x3_rc4::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMassFlowRateMeasure Ifc4x3_rc4::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[636]); } -void Ifc4x3_rc4::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMassMeasure Ifc4x3_rc4::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[637]); } -void Ifc4x3_rc4::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMassPerLengthMeasure Ifc4x3_rc4::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[676]); } -void Ifc4x3_rc4::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcModulusOfElasticityMeasure Ifc4x3_rc4::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[677]); } -void Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[678]); } -void Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[680]); } -void Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[683]); } -void Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMoistureDiffusivityMeasure Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[684]); } -void Ifc4x3_rc4::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMolecularWeightMeasure Ifc4x3_rc4::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[685]); } -void Ifc4x3_rc4::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMomentOfInertiaMeasure Ifc4x3_rc4::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[686]); } -void Ifc4x3_rc4::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMonetaryMeasure Ifc4x3_rc4::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[688]); } -void Ifc4x3_rc4::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcMonthInYearNumber Ifc4x3_rc4::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[699]); } -void Ifc4x3_rc4::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcNonNegativeLengthMeasure Ifc4x3_rc4::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[700]); } -void Ifc4x3_rc4::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcNormalisedRatioMeasure Ifc4x3_rc4::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[701]); } -void Ifc4x3_rc4::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcNumericMeasure Ifc4x3_rc4::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[743]); } -void Ifc4x3_rc4::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPHMeasure Ifc4x3_rc4::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[729]); } -void Ifc4x3_rc4::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcParameterValue Ifc4x3_rc4::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[762]); } -void Ifc4x3_rc4::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPlanarForceMeasure Ifc4x3_rc4::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[764]); } -void Ifc4x3_rc4::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPlaneAngleMeasure Ifc4x3_rc4::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[782]); } -void Ifc4x3_rc4::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPositiveInteger Ifc4x3_rc4::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[783]); } -void Ifc4x3_rc4::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPositiveLengthMeasure Ifc4x3_rc4::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[784]); } -void Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPositivePlaneAngleMeasure Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[785]); } -void Ifc4x3_rc4::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPositiveRatioMeasure Ifc4x3_rc4::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[787]); } -void Ifc4x3_rc4::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPowerMeasure Ifc4x3_rc4::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[795]); } -void Ifc4x3_rc4::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPresentableText Ifc4x3_rc4::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[800]); } -void Ifc4x3_rc4::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcPressureMeasure Ifc4x3_rc4::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[834]); } -void Ifc4x3_rc4::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_rc4::IfcPropertySetDefinitionSet Ifc4x3_rc4::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_rc4::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[858]); } -void Ifc4x3_rc4::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcRadioActivityMeasure Ifc4x3_rc4::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[874]); } -void Ifc4x3_rc4::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcRatioMeasure Ifc4x3_rc4::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[877]); } -void Ifc4x3_rc4::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcReal Ifc4x3_rc4::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[978]); } -void Ifc4x3_rc4::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcRotationalFrequencyMeasure Ifc4x3_rc4::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[979]); } -void Ifc4x3_rc4::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcRotationalMassMeasure Ifc4x3_rc4::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[980]); } -void Ifc4x3_rc4::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcRotationalStiffnessMeasure Ifc4x3_rc4::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[994]); } -void Ifc4x3_rc4::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSectionModulusMeasure Ifc4x3_rc4::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[989]); } -void Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1012]); } -void Ifc4x3_rc4::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcShearModulusMeasure Ifc4x3_rc4::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1040]); } -void Ifc4x3_rc4::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSolidAngleMeasure Ifc4x3_rc4::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1044]); } -void Ifc4x3_rc4::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSoundPowerLevelMeasure Ifc4x3_rc4::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1045]); } -void Ifc4x3_rc4::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSoundPowerMeasure Ifc4x3_rc4::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1046]); } -void Ifc4x3_rc4::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSoundPressureLevelMeasure Ifc4x3_rc4::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1047]); } -void Ifc4x3_rc4::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSoundPressureMeasure Ifc4x3_rc4::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1063]); } -void Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1064]); } -void Ifc4x3_rc4::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSpecularExponent Ifc4x3_rc4::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1066]); } -void Ifc4x3_rc4::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcSpecularRoughness Ifc4x3_rc4::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1171]); } -void Ifc4x3_rc4::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTemperatureGradientMeasure Ifc4x3_rc4::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1172]); } -void Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1184]); } -void Ifc4x3_rc4::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcText Ifc4x3_rc4::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1185]); } -void Ifc4x3_rc4::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTextAlignment Ifc4x3_rc4::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1186]); } -void Ifc4x3_rc4::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTextDecoration Ifc4x3_rc4::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1187]); } -void Ifc4x3_rc4::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTextFontName Ifc4x3_rc4::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1196]); } -void Ifc4x3_rc4::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTextTransformation Ifc4x3_rc4::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1202]); } -void Ifc4x3_rc4::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcThermalAdmittanceMeasure Ifc4x3_rc4::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1203]); } -void Ifc4x3_rc4::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcThermalConductivityMeasure Ifc4x3_rc4::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1204]); } -void Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1205]); } -void Ifc4x3_rc4::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcThermalResistanceMeasure Ifc4x3_rc4::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1206]); } -void Ifc4x3_rc4::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcThermalTransmittanceMeasure Ifc4x3_rc4::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1207]); } -void Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1209]); } -void Ifc4x3_rc4::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTime Ifc4x3_rc4::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1210]); } -void Ifc4x3_rc4::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTimeMeasure Ifc4x3_rc4::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1216]); } -void Ifc4x3_rc4::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTimeStamp Ifc4x3_rc4::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1220]); } -void Ifc4x3_rc4::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcTorqueMeasure Ifc4x3_rc4::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1257]); } -void Ifc4x3_rc4::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcURIReference Ifc4x3_rc4::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1263]); } -void Ifc4x3_rc4::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcVaporPermeabilityMeasure Ifc4x3_rc4::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1280]); } -void Ifc4x3_rc4::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcVolumeMeasure Ifc4x3_rc4::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1281]); } -void Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcVolumetricFlowRateMeasure Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1287]); } -void Ifc4x3_rc4::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcWarpingConstantMeasure Ifc4x3_rc4::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_rc4::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_RC4_types[1288]); } -void Ifc4x3_rc4::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_rc4::IfcWarpingMomentMeasure Ifc4x3_rc4::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_rc4::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -7963,7 +7963,7 @@ void Ifc4x3_rc4::IfcActionRequest::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[2]); } -void Ifc4x3_rc4::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc4::IfcActionRequest Ifc4x3_rc4::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_rc4::IfcActorSelect Ifc4x3_rc4::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcActorSelect>(); } @@ -7972,7 +7972,7 @@ void Ifc4x3_rc4::IfcActor::setTheActor(const ::Ifc4x3_rc4::IfcActorSelect& v) { std::vector<::Ifc4x3_rc4::IfcRelAssignsToActor> Ifc4x3_rc4::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[906], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[6]); } -void Ifc4x3_rc4::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_rc4::IfcActor Ifc4x3_rc4::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcActorRole::Role() const { return ::Ifc4x3_rc4::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7985,7 +7985,7 @@ void Ifc4x3_rc4::IfcActorRole::setDescription(const std::optional< std::string > std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[7]); } -void Ifc4x3_rc4::IfcActorRole::initialize(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc4::IfcActorRole Ifc4x3_rc4::IfcActorRole::initialize(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > Ifc4x3_rc4::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7993,7 +7993,7 @@ void Ifc4x3_rc4::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[9]); } -void Ifc4x3_rc4::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcActuator Ifc4x3_rc4::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -8001,7 +8001,7 @@ void Ifc4x3_rc4::IfcActuatorType::setPredefinedType(const ::Ifc4x3_rc4::IfcActua const ifcopenshell::entity& Ifc4x3_rc4::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[10]); } -void Ifc4x3_rc4::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcActuatorType Ifc4x3_rc4::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Ifc4x3_rc4::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -8015,13 +8015,13 @@ std::vector<::Ifc4x3_rc4::IfcPerson> Ifc4x3_rc4::IfcAddress::OfPerson() const { std::vector<::Ifc4x3_rc4::IfcOrganization> Ifc4x3_rc4::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[720], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[12]); } -void Ifc4x3_rc4::IfcAddress::initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_rc4::IfcAddress Ifc4x3_rc4::IfcAddress::initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_rc4::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[14]); } -void Ifc4x3_rc4::IfcAdvancedBrep::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc4::IfcAdvancedBrep Ifc4x3_rc4::IfcAdvancedBrep::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_rc4::IfcClosedShell > Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcClosedShell>(es); } @@ -8029,13 +8029,13 @@ void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[15]); } -void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc4::IfcAdvancedBrepWithVoids Ifc4x3_rc4::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_rc4::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[16]); } -void Ifc4x3_rc4::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc4::IfcAdvancedFace Ifc4x3_rc4::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -8043,7 +8043,7 @@ void Ifc4x3_rc4::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[17]); } -void Ifc4x3_rc4::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcAirTerminal Ifc4x3_rc4::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -8051,7 +8051,7 @@ void Ifc4x3_rc4::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[18]); } -void Ifc4x3_rc4::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcAirTerminalBox Ifc4x3_rc4::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -8059,7 +8059,7 @@ void Ifc4x3_rc4::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[19]); } -void Ifc4x3_rc4::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcAirTerminalBoxType Ifc4x3_rc4::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -8067,7 +8067,7 @@ void Ifc4x3_rc4::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_rc4::IfcAi const ifcopenshell::entity& Ifc4x3_rc4::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[21]); } -void Ifc4x3_rc4::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcAirTerminalType Ifc4x3_rc4::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -8075,7 +8075,7 @@ void Ifc4x3_rc4::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[23]); } -void Ifc4x3_rc4::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcAirToAirHeatRecovery Ifc4x3_rc4::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -8083,7 +8083,7 @@ void Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[24]); } -void Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcAirToAirHeatRecoveryType Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > Ifc4x3_rc4::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8091,7 +8091,7 @@ void Ifc4x3_rc4::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[26]); } -void Ifc4x3_rc4::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcAlarm Ifc4x3_rc4::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8099,7 +8099,7 @@ void Ifc4x3_rc4::IfcAlarmType::setPredefinedType(const ::Ifc4x3_rc4::IfcAlarmTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[27]); } -void Ifc4x3_rc4::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcAlarmType Ifc4x3_rc4::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > Ifc4x3_rc4::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } @@ -8107,7 +8107,7 @@ void Ifc4x3_rc4::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[29]); } -void Ifc4x3_rc4::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc4::IfcAlignment Ifc4x3_rc4::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3_rc4::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8115,7 +8115,7 @@ void Ifc4x3_rc4::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[30]); } -void Ifc4x3_rc4::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance)); } +Ifc4x3_rc4::IfcAlignmentCant Ifc4x3_rc4::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3_rc4::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8135,13 +8135,13 @@ void Ifc4x3_rc4::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[31]); } -void Ifc4x3_rc4::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc4::IfcAlignmentCantSegment Ifc4x3_rc4::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[33]); } -void Ifc4x3_rc4::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcAlignmentHorizontal Ifc4x3_rc4::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } @@ -8161,7 +8161,7 @@ void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[34]); } -void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc4::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc4::IfcAlignmentHorizontalSegment Ifc4x3_rc4::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc4::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8171,7 +8171,7 @@ void Ifc4x3_rc4::IfcAlignmentParameterSegment::setEndTag(const std::optional< st const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[36]); } -void Ifc4x3_rc4::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3_rc4::IfcAlignmentParameterSegment Ifc4x3_rc4::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3_rc4::IfcAlignmentParameterSegment Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcAlignmentParameterSegment>(); } @@ -8179,13 +8179,13 @@ void Ifc4x3_rc4::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[37]); } -void Ifc4x3_rc4::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters)); } +Ifc4x3_rc4::IfcAlignmentSegment Ifc4x3_rc4::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters));; return *this; } // Function implementations for IfcAlignmentVertical const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[39]); } -void Ifc4x3_rc4::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcAlignmentVertical Ifc4x3_rc4::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8205,7 +8205,7 @@ void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[40]); } -void Ifc4x3_rc4::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_rc4::IfcAlignmentVerticalSegment Ifc4x3_rc4::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8214,7 +8214,7 @@ void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_ std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[931], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[46]); } -void Ifc4x3_rc4::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc4::IfcAnnotation Ifc4x3_rc4::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -8224,7 +8224,7 @@ void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[47]); } -void Ifc4x3_rc4::IfcAnnotationFillArea::initialize(::Ifc4x3_rc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_rc4::IfcAnnotationFillArea Ifc4x3_rc4::IfcAnnotationFillArea::initialize(::Ifc4x3_rc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcOrganization>(); } @@ -8238,7 +8238,7 @@ void Ifc4x3_rc4::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[49]); } -void Ifc4x3_rc4::IfcApplication::initialize(::Ifc4x3_rc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_rc4::IfcApplication Ifc4x3_rc4::IfcApplication::initialize(::Ifc4x3_rc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8265,7 +8265,7 @@ void Ifc4x3_rc4::IfcAppliedValue::setComponents(const std::optional< std::vector std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[50]); } -void Ifc4x3_rc4::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc4::IfcAppliedValue Ifc4x3_rc4::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_rc4::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8294,7 +8294,7 @@ std::vector<::Ifc4x3_rc4::IfcApprovalRelationship> Ifc4x3_rc4::IfcApproval::IsRe std::vector<::Ifc4x3_rc4::IfcApprovalRelationship> Ifc4x3_rc4::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[53], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[52]); } -void Ifc4x3_rc4::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc4::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc4::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc4::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc4::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcApproval>(); } @@ -8304,7 +8304,7 @@ void Ifc4x3_rc4::IfcApprovalRelationship::setRelatedApprovals(const std::vector< const ifcopenshell::entity& Ifc4x3_rc4::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[53]); } -void Ifc4x3_rc4::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc4::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_rc4::IfcApprovalRelationship Ifc4x3_rc4::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc4::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -8312,7 +8312,7 @@ void Ifc4x3_rc4::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[54]); } -void Ifc4x3_rc4::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_rc4::IfcArbitraryClosedProfileDef Ifc4x3_rc4::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } @@ -8320,7 +8320,7 @@ void Ifc4x3_rc4::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_rc4::IfcBou const ifcopenshell::entity& Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[55]); } -void Ifc4x3_rc4::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_rc4::IfcArbitraryOpenProfileDef Ifc4x3_rc4::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_rc4::IfcCurve > Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_rc4::IfcCurve>(es); } @@ -8328,7 +8328,7 @@ void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vect const ifcopenshell::entity& Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[56]); } -void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc4::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc4::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_rc4::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8352,7 +8352,7 @@ void Ifc4x3_rc4::IfcAsset::setDepreciatedValue(const ::Ifc4x3_rc4::IfcCostValue& const ifcopenshell::entity& Ifc4x3_rc4::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[62]); } -void Ifc4x3_rc4::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc4::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc4::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc4::IfcActorSelect v10_Owner, ::Ifc4x3_rc4::IfcActorSelect v11_User, ::Ifc4x3_rc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc4::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_rc4::IfcAsset Ifc4x3_rc4::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc4::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc4::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc4::IfcActorSelect v10_Owner, ::Ifc4x3_rc4::IfcActorSelect v11_User, ::Ifc4x3_rc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc4::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8382,7 +8382,7 @@ void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[63]); } -void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc4::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8390,7 +8390,7 @@ void Ifc4x3_rc4::IfcAudioVisualAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[64]); } -void Ifc4x3_rc4::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcAudioVisualAppliance Ifc4x3_rc4::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8398,7 +8398,7 @@ void Ifc4x3_rc4::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[65]); } -void Ifc4x3_rc4::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcAudioVisualApplianceType Ifc4x3_rc4::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -8406,7 +8406,7 @@ void Ifc4x3_rc4::IfcAxis1Placement::setAxis(const ::Ifc4x3_rc4::IfcDirection& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[67]); } -void Ifc4x3_rc4::IfcAxis1Placement::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_rc4::IfcAxis1Placement Ifc4x3_rc4::IfcAxis1Placement::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -8414,7 +8414,7 @@ void Ifc4x3_rc4::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_rc4::IfcDir const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[69]); } -void Ifc4x3_rc4::IfcAxis2Placement2D::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_rc4::IfcAxis2Placement2D Ifc4x3_rc4::IfcAxis2Placement2D::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -8424,7 +8424,7 @@ void Ifc4x3_rc4::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_rc4::IfcDir const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[70]); } -void Ifc4x3_rc4::IfcAxis2Placement3D::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcAxis2Placement3D::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -8434,7 +8434,7 @@ void Ifc4x3_rc4::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[71]); } -void Ifc4x3_rc4::IfcAxis2PlacementLinear::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_rc4::IfcAxis2PlacementLinear Ifc4x3_rc4::IfcAxis2PlacementLinear::initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_rc4::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8450,7 +8450,7 @@ void Ifc4x3_rc4::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc4::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[108]); } -void Ifc4x3_rc4::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_rc4::IfcBSplineCurve Ifc4x3_rc4::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8462,7 +8462,7 @@ void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_rc4::IfcKn const ifcopenshell::entity& Ifc4x3_rc4::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[110]); } -void Ifc4x3_rc4::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_rc4::IfcBSplineCurveWithKnots Ifc4x3_rc4::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_rc4::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8482,7 +8482,7 @@ void Ifc4x3_rc4::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc4::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[111]); } -void Ifc4x3_rc4::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_rc4::IfcBSplineSurface Ifc4x3_rc4::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8498,7 +8498,7 @@ void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[113]); } -void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_rc4::IfcBSplineSurfaceWithKnots Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > Ifc4x3_rc4::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8506,13 +8506,13 @@ void Ifc4x3_rc4::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[72]); } -void Ifc4x3_rc4::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBeam Ifc4x3_rc4::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcBeamStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[73]); } -void Ifc4x3_rc4::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBeamStandardCase Ifc4x3_rc4::IfcBeamStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8520,7 +8520,7 @@ void Ifc4x3_rc4::IfcBeamType::setPredefinedType(const ::Ifc4x3_rc4::IfcBeamTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[74]); } -void Ifc4x3_rc4::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcBeamType Ifc4x3_rc4::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > Ifc4x3_rc4::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8528,7 +8528,7 @@ void Ifc4x3_rc4::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[76]); } -void Ifc4x3_rc4::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBearing Ifc4x3_rc4::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8536,7 +8536,7 @@ void Ifc4x3_rc4::IfcBearingType::setPredefinedType(const ::Ifc4x3_rc4::IfcBearin const ifcopenshell::entity& Ifc4x3_rc4::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[77]); } -void Ifc4x3_rc4::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcBearingType Ifc4x3_rc4::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_rc4::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8546,7 +8546,7 @@ void Ifc4x3_rc4::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[83]); } -void Ifc4x3_rc4::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_rc4::IfcBlobTexture Ifc4x3_rc4::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_rc4::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8558,7 +8558,7 @@ void Ifc4x3_rc4::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc4::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[84]); } -void Ifc4x3_rc4::IfcBlock::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_rc4::IfcBlock Ifc4x3_rc4::IfcBlock::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > Ifc4x3_rc4::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8566,7 +8566,7 @@ void Ifc4x3_rc4::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[85]); } -void Ifc4x3_rc4::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBoiler Ifc4x3_rc4::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8574,13 +8574,13 @@ void Ifc4x3_rc4::IfcBoilerType::setPredefinedType(const ::Ifc4x3_rc4::IfcBoilerT const ifcopenshell::entity& Ifc4x3_rc4::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[86]); } -void Ifc4x3_rc4::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcBoilerType Ifc4x3_rc4::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_rc4::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[89]); } -void Ifc4x3_rc4::IfcBooleanClippingResult::initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc4::IfcBooleanClippingResult Ifc4x3_rc4::IfcBooleanClippingResult::initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc4::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8592,13 +8592,13 @@ void Ifc4x3_rc4::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_rc4::IfcBoole const ifcopenshell::entity& Ifc4x3_rc4::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[92]); } -void Ifc4x3_rc4::IfcBooleanResult::initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_rc4::IfcBooleanResult Ifc4x3_rc4::IfcBooleanResult::initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_rc4::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[93]); } -void Ifc4x3_rc4::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcBorehole Ifc4x3_rc4::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_rc4::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8606,13 +8606,13 @@ void Ifc4x3_rc4::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[94]); } -void Ifc4x3_rc4::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcBoundaryCondition Ifc4x3_rc4::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[95]); } -void Ifc4x3_rc4::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc4::IfcBoundaryCurve Ifc4x3_rc4::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8630,7 +8630,7 @@ void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[96]); } -void Ifc4x3_rc4::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_rc4::IfcBoundaryEdgeCondition Ifc4x3_rc4::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(); } @@ -8642,7 +8642,7 @@ void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(cons const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[97]); } -void Ifc4x3_rc4::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_rc4::IfcBoundaryFaceCondition Ifc4x3_rc4::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(); } @@ -8660,7 +8660,7 @@ void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[98]); } -void Ifc4x3_rc4::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_rc4::IfcBoundaryNodeCondition Ifc4x3_rc4::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_rc4::IfcWarpingStiffnessSelect Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcWarpingStiffnessSelect>(); } @@ -8668,19 +8668,19 @@ void Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[99]); } -void Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc4::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_rc4::IfcBoundaryNodeConditionWarping Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc4::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[100]); } -void Ifc4x3_rc4::IfcBoundedCurve::initialize() { } +Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[101]); } -void Ifc4x3_rc4::IfcBoundedSurface::initialize() { } +Ifc4x3_rc4::IfcBoundedSurface Ifc4x3_rc4::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } @@ -8694,7 +8694,7 @@ void Ifc4x3_rc4::IfcBoundingBox::setZDim(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc4::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[102]); } -void Ifc4x3_rc4::IfcBoundingBox::initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_rc4::IfcBoundingBox Ifc4x3_rc4::IfcBoundingBox::initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_rc4::IfcBoundingBox Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundingBox>(); } @@ -8702,7 +8702,7 @@ void Ifc4x3_rc4::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_rc4::IfcBounding const ifcopenshell::entity& Ifc4x3_rc4::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[104]); } -void Ifc4x3_rc4::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_rc4::IfcBoxedHalfSpace Ifc4x3_rc4::IfcBoxedHalfSpace::initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > Ifc4x3_rc4::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8710,7 +8710,7 @@ void Ifc4x3_rc4::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[105]); } -void Ifc4x3_rc4::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcBridge Ifc4x3_rc4::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8722,7 +8722,7 @@ void Ifc4x3_rc4::IfcBuilding::setBuildingAddress(const ::Ifc4x3_rc4::IfcPostalAd const ifcopenshell::entity& Ifc4x3_rc4::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[114]); } -void Ifc4x3_rc4::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc4::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_rc4::IfcBuilding Ifc4x3_rc4::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc4::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8730,7 +8730,7 @@ void Ifc4x3_rc4::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[115]); } -void Ifc4x3_rc4::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBuildingElementPart Ifc4x3_rc4::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8738,7 +8738,7 @@ void Ifc4x3_rc4::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[116]); } -void Ifc4x3_rc4::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcBuildingElementPartType Ifc4x3_rc4::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8746,7 +8746,7 @@ void Ifc4x3_rc4::IfcBuildingElementProxy::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[118]); } -void Ifc4x3_rc4::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBuildingElementProxy Ifc4x3_rc4::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8754,7 +8754,7 @@ void Ifc4x3_rc4::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[119]); } -void Ifc4x3_rc4::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcBuildingElementProxyType Ifc4x3_rc4::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_rc4::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8762,7 +8762,7 @@ void Ifc4x3_rc4::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc4::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[121]); } -void Ifc4x3_rc4::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_rc4::IfcBuildingStorey Ifc4x3_rc4::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8772,19 +8772,19 @@ void Ifc4x3_rc4::IfcBuildingSystem::setLongName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[122]); } -void Ifc4x3_rc4::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc4::IfcBuildingSystem Ifc4x3_rc4::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_rc4::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[124]); } -void Ifc4x3_rc4::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcBuiltElement Ifc4x3_rc4::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[125]); } -void Ifc4x3_rc4::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcBuiltElementType Ifc4x3_rc4::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8794,7 +8794,7 @@ void Ifc4x3_rc4::IfcBuiltSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc4::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[126]); } -void Ifc4x3_rc4::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_rc4::IfcBuiltSystem Ifc4x3_rc4::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > Ifc4x3_rc4::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8802,7 +8802,7 @@ void Ifc4x3_rc4::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[128]); } -void Ifc4x3_rc4::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcBurner Ifc4x3_rc4::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8810,7 +8810,7 @@ void Ifc4x3_rc4::IfcBurnerType::setPredefinedType(const ::Ifc4x3_rc4::IfcBurnerT const ifcopenshell::entity& Ifc4x3_rc4::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[129]); } -void Ifc4x3_rc4::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcBurnerType Ifc4x3_rc4::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_rc4::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8826,7 +8826,7 @@ void Ifc4x3_rc4::IfcCShapeProfileDef::setInternalFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[267]); } -void Ifc4x3_rc4::IfcCShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_rc4::IfcCShapeProfileDef Ifc4x3_rc4::IfcCShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8834,7 +8834,7 @@ void Ifc4x3_rc4::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[131]); } -void Ifc4x3_rc4::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCableCarrierFitting Ifc4x3_rc4::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8842,7 +8842,7 @@ void Ifc4x3_rc4::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[132]); } -void Ifc4x3_rc4::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCableCarrierFittingType Ifc4x3_rc4::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8850,7 +8850,7 @@ void Ifc4x3_rc4::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[134]); } -void Ifc4x3_rc4::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCableCarrierSegment Ifc4x3_rc4::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8858,7 +8858,7 @@ void Ifc4x3_rc4::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[135]); } -void Ifc4x3_rc4::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCableCarrierSegmentType Ifc4x3_rc4::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8866,7 +8866,7 @@ void Ifc4x3_rc4::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[137]); } -void Ifc4x3_rc4::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCableFitting Ifc4x3_rc4::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8874,7 +8874,7 @@ void Ifc4x3_rc4::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_rc4::IfcC const ifcopenshell::entity& Ifc4x3_rc4::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[138]); } -void Ifc4x3_rc4::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCableFittingType Ifc4x3_rc4::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8882,7 +8882,7 @@ void Ifc4x3_rc4::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[140]); } -void Ifc4x3_rc4::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCableSegment Ifc4x3_rc4::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8890,7 +8890,7 @@ void Ifc4x3_rc4::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_rc4::IfcC const ifcopenshell::entity& Ifc4x3_rc4::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[141]); } -void Ifc4x3_rc4::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCableSegmentType Ifc4x3_rc4::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc4::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8898,7 +8898,7 @@ void Ifc4x3_rc4::IfcCaissonFoundation::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[143]); } -void Ifc4x3_rc4::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCaissonFoundation Ifc4x3_rc4::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8906,7 +8906,7 @@ void Ifc4x3_rc4::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[144]); } -void Ifc4x3_rc4::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCaissonFoundationType Ifc4x3_rc4::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_rc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8914,13 +8914,13 @@ void Ifc4x3_rc4::IfcCartesianPoint::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[147]); } -void Ifc4x3_rc4::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[148]); } -void Ifc4x3_rc4::IfcCartesianPointList::initialize() { } +Ifc4x3_rc4::IfcCartesianPointList Ifc4x3_rc4::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8930,7 +8930,7 @@ void Ifc4x3_rc4::IfcCartesianPointList2D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[149]); } -void Ifc4x3_rc4::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc4::IfcCartesianPointList2D Ifc4x3_rc4::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8940,7 +8940,7 @@ void Ifc4x3_rc4::IfcCartesianPointList3D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[150]); } -void Ifc4x3_rc4::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_rc4::IfcCartesianPointList3D Ifc4x3_rc4::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -8954,13 +8954,13 @@ void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[151]); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc4::IfcCartesianTransformationOperator Ifc4x3_rc4::IfcCartesianTransformationOperator::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[152]); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_rc4::IfcCartesianTransformationOperator2D Ifc4x3_rc4::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8968,7 +8968,7 @@ void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(const const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[153]); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -8976,7 +8976,7 @@ void Ifc4x3_rc4::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[154]); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_rc4::IfcCartesianTransformationOperator3D Ifc4x3_rc4::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8986,7 +8986,7 @@ void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(const const ifcopenshell::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[155]); } -void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_rc4::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8994,7 +8994,7 @@ void Ifc4x3_rc4::IfcCenterLineProfileDef::setThickness(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[156]); } -void Ifc4x3_rc4::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_rc4::IfcCenterLineProfileDef Ifc4x3_rc4::IfcCenterLineProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > Ifc4x3_rc4::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -9002,7 +9002,7 @@ void Ifc4x3_rc4::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[158]); } -void Ifc4x3_rc4::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcChiller Ifc4x3_rc4::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -9010,7 +9010,7 @@ void Ifc4x3_rc4::IfcChillerType::setPredefinedType(const ::Ifc4x3_rc4::IfcChille const ifcopenshell::entity& Ifc4x3_rc4::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[159]); } -void Ifc4x3_rc4::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcChillerType Ifc4x3_rc4::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > Ifc4x3_rc4::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -9018,7 +9018,7 @@ void Ifc4x3_rc4::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[161]); } -void Ifc4x3_rc4::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcChimney Ifc4x3_rc4::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -9026,7 +9026,7 @@ void Ifc4x3_rc4::IfcChimneyType::setPredefinedType(const ::Ifc4x3_rc4::IfcChimne const ifcopenshell::entity& Ifc4x3_rc4::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[162]); } -void Ifc4x3_rc4::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcChimneyType Ifc4x3_rc4::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_rc4::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -9034,7 +9034,7 @@ void Ifc4x3_rc4::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc4::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[164]); } -void Ifc4x3_rc4::IfcCircle::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc4::IfcCircle Ifc4x3_rc4::IfcCircle::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_rc4::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -9042,7 +9042,7 @@ void Ifc4x3_rc4::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[165]); } -void Ifc4x3_rc4::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_rc4::IfcCircleHollowProfileDef Ifc4x3_rc4::IfcCircleHollowProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_rc4::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -9050,19 +9050,19 @@ void Ifc4x3_rc4::IfcCircleProfileDef::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc4::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[166]); } -void Ifc4x3_rc4::IfcCircleProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_rc4::IfcCircleProfileDef Ifc4x3_rc4::IfcCircleProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_rc4::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[167]); } -void Ifc4x3_rc4::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcCivilElement Ifc4x3_rc4::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[168]); } -void Ifc4x3_rc4::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcCivilElementType Ifc4x3_rc4::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_rc4::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9084,7 +9084,7 @@ std::vector<::Ifc4x3_rc4::IfcRelAssociatesClassification> Ifc4x3_rc4::IfcClassif std::vector<::Ifc4x3_rc4::IfcClassificationReference> Ifc4x3_rc4::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[170], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[169]); } -void Ifc4x3_rc4::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_rc4::IfcClassification Ifc4x3_rc4::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_rc4::IfcClassificationReferenceSelect Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcClassificationReferenceSelect>(); } @@ -9098,13 +9098,13 @@ std::vector<::Ifc4x3_rc4::IfcRelAssociatesClassification> Ifc4x3_rc4::IfcClassif std::vector<::Ifc4x3_rc4::IfcClassificationReference> Ifc4x3_rc4::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[170], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[170]); } -void Ifc4x3_rc4::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_rc4::IfcClassificationReference Ifc4x3_rc4::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_rc4::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[173]); } -void Ifc4x3_rc4::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc4::IfcClosedShell Ifc4x3_rc4::IfcClosedShell::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid double Ifc4x3_rc4::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } @@ -9112,7 +9112,7 @@ void Ifc4x3_rc4::IfcClothoid::setClothoidConstant(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc4::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[174]); } -void Ifc4x3_rc4::IfcClothoid::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3_rc4::IfcClothoid Ifc4x3_rc4::IfcClothoid::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > Ifc4x3_rc4::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9120,7 +9120,7 @@ void Ifc4x3_rc4::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[175]); } -void Ifc4x3_rc4::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCoil Ifc4x3_rc4::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9128,7 +9128,7 @@ void Ifc4x3_rc4::IfcCoilType::setPredefinedType(const ::Ifc4x3_rc4::IfcCoilTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[176]); } -void Ifc4x3_rc4::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCoilType Ifc4x3_rc4::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_rc4::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9140,7 +9140,7 @@ void Ifc4x3_rc4::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_rc4::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[180]); } -void Ifc4x3_rc4::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_rc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9148,7 +9148,7 @@ void Ifc4x3_rc4::IfcColourRgbList::setColourList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4x3_rc4::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[181]); } -void Ifc4x3_rc4::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_rc4::IfcColourRgbList Ifc4x3_rc4::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_rc4::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9156,7 +9156,7 @@ void Ifc4x3_rc4::IfcColourSpecification::setName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc4::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[182]); } -void Ifc4x3_rc4::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcColourSpecification Ifc4x3_rc4::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > Ifc4x3_rc4::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9164,13 +9164,13 @@ void Ifc4x3_rc4::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[183]); } -void Ifc4x3_rc4::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcColumn Ifc4x3_rc4::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcColumnStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[184]); } -void Ifc4x3_rc4::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcColumnStandardCase Ifc4x3_rc4::IfcColumnStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9178,7 +9178,7 @@ void Ifc4x3_rc4::IfcColumnType::setPredefinedType(const ::Ifc4x3_rc4::IfcColumnT const ifcopenshell::entity& Ifc4x3_rc4::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[185]); } -void Ifc4x3_rc4::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcColumnType Ifc4x3_rc4::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9186,7 +9186,7 @@ void Ifc4x3_rc4::IfcCommunicationsAppliance::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc4::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[187]); } -void Ifc4x3_rc4::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCommunicationsAppliance Ifc4x3_rc4::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9194,7 +9194,7 @@ void Ifc4x3_rc4::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[188]); } -void Ifc4x3_rc4::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCommunicationsApplianceType Ifc4x3_rc4::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_rc4::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9204,7 +9204,7 @@ void Ifc4x3_rc4::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[191]); } -void Ifc4x3_rc4::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc4::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_rc4::IfcComplexProperty Ifc4x3_rc4::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc4::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_rc4::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9216,7 +9216,7 @@ void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[192]); } -void Ifc4x3_rc4::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_rc4::IfcComplexPropertyTemplate Ifc4x3_rc4::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_rc4::IfcSegment > Ifc4x3_rc4::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcSegment>(es); } @@ -9226,13 +9226,13 @@ void Ifc4x3_rc4::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[194]); } -void Ifc4x3_rc4::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc4::IfcCompositeCurve Ifc4x3_rc4::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[195]); } -void Ifc4x3_rc4::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc4::IfcCompositeCurveOnSurface Ifc4x3_rc4::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_rc4::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9242,7 +9242,7 @@ void Ifc4x3_rc4::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[196]); } -void Ifc4x3_rc4::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_rc4::IfcCompositeCurveSegment Ifc4x3_rc4::IfcCompositeCurveSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_rc4::IfcProfileDef > Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcProfileDef>(es); } @@ -9252,7 +9252,7 @@ void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_rc4::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[197]); } -void Ifc4x3_rc4::IfcCompositeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_rc4::IfcCompositeProfileDef Ifc4x3_rc4::IfcCompositeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > Ifc4x3_rc4::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9260,7 +9260,7 @@ void Ifc4x3_rc4::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[199]); } -void Ifc4x3_rc4::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCompressor Ifc4x3_rc4::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9268,7 +9268,7 @@ void Ifc4x3_rc4::IfcCompressorType::setPredefinedType(const ::Ifc4x3_rc4::IfcCom const ifcopenshell::entity& Ifc4x3_rc4::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[200]); } -void Ifc4x3_rc4::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCompressorType Ifc4x3_rc4::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > Ifc4x3_rc4::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9276,7 +9276,7 @@ void Ifc4x3_rc4::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[202]); } -void Ifc4x3_rc4::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCondenser Ifc4x3_rc4::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9284,7 +9284,7 @@ void Ifc4x3_rc4::IfcCondenserType::setPredefinedType(const ::Ifc4x3_rc4::IfcCond const ifcopenshell::entity& Ifc4x3_rc4::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[203]); } -void Ifc4x3_rc4::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCondenserType Ifc4x3_rc4::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } @@ -9292,7 +9292,7 @@ void Ifc4x3_rc4::IfcConic::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[205]); } -void Ifc4x3_rc4::IfcConic::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc4::IfcConic Ifc4x3_rc4::IfcConic::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_rc4::IfcFace > Ifc4x3_rc4::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcFace>(es); } @@ -9300,7 +9300,7 @@ void Ifc4x3_rc4::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[206]); } -void Ifc4x3_rc4::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc4::IfcConnectedFaceSet Ifc4x3_rc4::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_rc4::IfcCurveOrEdgeCurve Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(); } @@ -9310,13 +9310,13 @@ void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[207]); } -void Ifc4x3_rc4::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_rc4::IfcConnectionCurveGeometry Ifc4x3_rc4::IfcConnectionCurveGeometry::initialize(::Ifc4x3_rc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[208]); } -void Ifc4x3_rc4::IfcConnectionGeometry::initialize() { } +Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9328,7 +9328,7 @@ void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInZ(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[209]); } -void Ifc4x3_rc4::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_rc4::IfcConnectionPointEccentricity Ifc4x3_rc4::IfcConnectionPointEccentricity::initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_rc4::IfcPointOrVertexPoint Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(); } @@ -9338,7 +9338,7 @@ void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[210]); } -void Ifc4x3_rc4::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_rc4::IfcConnectionPointGeometry Ifc4x3_rc4::IfcConnectionPointGeometry::initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(); } @@ -9348,7 +9348,7 @@ void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[211]); } -void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_rc4::IfcConnectionSurfaceGeometry Ifc4x3_rc4::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_rc4::IfcSolidOrShell Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSolidOrShell>(); } @@ -9358,7 +9358,7 @@ void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const :: const ifcopenshell::entity& Ifc4x3_rc4::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[213]); } -void Ifc4x3_rc4::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_rc4::IfcConnectionVolumeGeometry Ifc4x3_rc4::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_rc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_rc4::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9380,7 +9380,7 @@ std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcConst std::vector<::Ifc4x3_rc4::IfcResourceConstraintRelationship> Ifc4x3_rc4::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[961], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[214]); } -void Ifc4x3_rc4::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_rc4::IfcConstraint Ifc4x3_rc4::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9388,7 +9388,7 @@ void Ifc4x3_rc4::IfcConstructionEquipmentResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[216]); } -void Ifc4x3_rc4::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcConstructionEquipmentResource Ifc4x3_rc4::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9396,7 +9396,7 @@ void Ifc4x3_rc4::IfcConstructionEquipmentResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[217]); } -void Ifc4x3_rc4::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcConstructionEquipmentResourceType Ifc4x3_rc4::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9404,7 +9404,7 @@ void Ifc4x3_rc4::IfcConstructionMaterialResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[219]); } -void Ifc4x3_rc4::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcConstructionMaterialResource Ifc4x3_rc4::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9412,7 +9412,7 @@ void Ifc4x3_rc4::IfcConstructionMaterialResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[220]); } -void Ifc4x3_rc4::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcConstructionMaterialResourceType Ifc4x3_rc4::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9420,7 +9420,7 @@ void Ifc4x3_rc4::IfcConstructionProductResource::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[222]); } -void Ifc4x3_rc4::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcConstructionProductResource Ifc4x3_rc4::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9428,7 +9428,7 @@ void Ifc4x3_rc4::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[223]); } -void Ifc4x3_rc4::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcConstructionProductResourceType Ifc4x3_rc4::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_rc4::IfcResourceTime Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcResourceTime>(); } @@ -9440,7 +9440,7 @@ void Ifc4x3_rc4::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[225]); } -void Ifc4x3_rc4::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_rc4::IfcConstructionResource Ifc4x3_rc4::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > Ifc4x3_rc4::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_rc4::IfcAppliedValue>(es); } @@ -9450,7 +9450,7 @@ void Ifc4x3_rc4::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[226]); } -void Ifc4x3_rc4::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_rc4::IfcConstructionResourceType Ifc4x3_rc4::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_rc4::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9468,7 +9468,7 @@ std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcContext::IsD std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[934], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[227]); } -void Ifc4x3_rc4::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc4::IfcContext Ifc4x3_rc4::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_rc4::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9477,7 +9477,7 @@ void Ifc4x3_rc4::IfcContextDependentUnit::setName(const std::string& v) { set_at std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[229]); } -void Ifc4x3_rc4::IfcContextDependentUnit::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_rc4::IfcContextDependentUnit Ifc4x3_rc4::IfcContextDependentUnit::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_rc4::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9486,7 +9486,7 @@ void Ifc4x3_rc4::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_rc4::IfcRelAssignsToControl> Ifc4x3_rc4::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[907], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[230]); } -void Ifc4x3_rc4::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_rc4::IfcControl Ifc4x3_rc4::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > Ifc4x3_rc4::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9494,7 +9494,7 @@ void Ifc4x3_rc4::IfcController::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[231]); } -void Ifc4x3_rc4::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcController Ifc4x3_rc4::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9502,7 +9502,7 @@ void Ifc4x3_rc4::IfcControllerType::setPredefinedType(const ::Ifc4x3_rc4::IfcCon const ifcopenshell::entity& Ifc4x3_rc4::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[232]); } -void Ifc4x3_rc4::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcControllerType Ifc4x3_rc4::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_rc4::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9513,7 +9513,7 @@ void Ifc4x3_rc4::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_rc4: std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[234]); } -void Ifc4x3_rc4::IfcConversionBasedUnit::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_rc4::IfcConversionBasedUnit Ifc4x3_rc4::IfcConversionBasedUnit::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9521,7 +9521,7 @@ void Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::setConversionOffset(const dou const ifcopenshell::entity& Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[235]); } -void Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_rc4::IfcConversionBasedUnitWithOffset Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc4::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9529,7 +9529,7 @@ void Ifc4x3_rc4::IfcConveyorSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[236]); } -void Ifc4x3_rc4::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcConveyorSegment Ifc4x3_rc4::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9537,7 +9537,7 @@ void Ifc4x3_rc4::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[237]); } -void Ifc4x3_rc4::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcConveyorSegmentType Ifc4x3_rc4::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc4::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9545,7 +9545,7 @@ void Ifc4x3_rc4::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[239]); } -void Ifc4x3_rc4::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCooledBeam Ifc4x3_rc4::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9553,7 +9553,7 @@ void Ifc4x3_rc4::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_rc4::IfcCoo const ifcopenshell::entity& Ifc4x3_rc4::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[240]); } -void Ifc4x3_rc4::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCooledBeamType Ifc4x3_rc4::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc4::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9561,7 +9561,7 @@ void Ifc4x3_rc4::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[242]); } -void Ifc4x3_rc4::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCoolingTower Ifc4x3_rc4::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9569,7 +9569,7 @@ void Ifc4x3_rc4::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_rc4::IfcC const ifcopenshell::entity& Ifc4x3_rc4::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[243]); } -void Ifc4x3_rc4::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCoolingTowerType Ifc4x3_rc4::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect>(); } @@ -9579,7 +9579,7 @@ void Ifc4x3_rc4::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_rc4::IfcCoo const ifcopenshell::entity& Ifc4x3_rc4::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[245]); } -void Ifc4x3_rc4::IfcCoordinateOperation::initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_rc4::IfcCoordinateOperation Ifc4x3_rc4::IfcCoordinateOperation::initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9594,7 +9594,7 @@ void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optio std::vector<::Ifc4x3_rc4::IfcCoordinateOperation> Ifc4x3_rc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[245], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[246]); } -void Ifc4x3_rc4::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x3_rc4::IfcCoordinateReferenceSystem Ifc4x3_rc4::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCosine double Ifc4x3_rc4::IfcCosine::CosineTerm() const { double v = get_attribute_value(1); return v; } @@ -9604,7 +9604,7 @@ void Ifc4x3_rc4::IfcCosine::setConstantTerm(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcCosine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[248]); } -void Ifc4x3_rc4::IfcCosine::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); } } +Ifc4x3_rc4::IfcCosine Ifc4x3_rc4::IfcCosine::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > Ifc4x3_rc4::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9616,7 +9616,7 @@ void Ifc4x3_rc4::IfcCostItem::setCostQuantities(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3_rc4::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[249]); } -void Ifc4x3_rc4::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_rc4::IfcCostItem Ifc4x3_rc4::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc4::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9630,13 +9630,13 @@ void Ifc4x3_rc4::IfcCostSchedule::setUpdateDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[251]); } -void Ifc4x3_rc4::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_rc4::IfcCostSchedule Ifc4x3_rc4::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_rc4::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[253]); } -void Ifc4x3_rc4::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_rc4::IfcCostValue Ifc4x3_rc4::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > Ifc4x3_rc4::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9644,7 +9644,7 @@ void Ifc4x3_rc4::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[255]); } -void Ifc4x3_rc4::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCourse Ifc4x3_rc4::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9652,7 +9652,7 @@ void Ifc4x3_rc4::IfcCourseType::setPredefinedType(const ::Ifc4x3_rc4::IfcCourseT const ifcopenshell::entity& Ifc4x3_rc4::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[256]); } -void Ifc4x3_rc4::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCourseType Ifc4x3_rc4::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > Ifc4x3_rc4::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9662,7 +9662,7 @@ std::vector<::Ifc4x3_rc4::IfcRelCoversSpaces> Ifc4x3_rc4::IfcCovering::CoversSpa std::vector<::Ifc4x3_rc4::IfcRelCoversBldgElements> Ifc4x3_rc4::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[932], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[258]); } -void Ifc4x3_rc4::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCovering Ifc4x3_rc4::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9670,7 +9670,7 @@ void Ifc4x3_rc4::IfcCoveringType::setPredefinedType(const ::Ifc4x3_rc4::IfcCover const ifcopenshell::entity& Ifc4x3_rc4::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[259]); } -void Ifc4x3_rc4::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCoveringType Ifc4x3_rc4::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc4::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9678,7 +9678,7 @@ void Ifc4x3_rc4::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[261]); } -void Ifc4x3_rc4::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcCrewResource Ifc4x3_rc4::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9686,7 +9686,7 @@ void Ifc4x3_rc4::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_rc4::IfcC const ifcopenshell::entity& Ifc4x3_rc4::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[262]); } -void Ifc4x3_rc4::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcCrewResourceType Ifc4x3_rc4::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } @@ -9694,7 +9694,7 @@ void Ifc4x3_rc4::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_rc4::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc4::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[264]); } -void Ifc4x3_rc4::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc4::IfcCsgPrimitive3D Ifc4x3_rc4::IfcCsgPrimitive3D::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_rc4::IfcCsgSelect Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCsgSelect>(); } @@ -9702,7 +9702,7 @@ void Ifc4x3_rc4::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_rc4::IfcCsgSe const ifcopenshell::entity& Ifc4x3_rc4::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[266]); } -void Ifc4x3_rc4::IfcCsgSolid::initialize(::Ifc4x3_rc4::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_rc4::IfcCsgSolid Ifc4x3_rc4::IfcCsgSolid::initialize(::Ifc4x3_rc4::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_rc4::IfcMonetaryUnit Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMonetaryUnit>(); } @@ -9718,7 +9718,7 @@ void Ifc4x3_rc4::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_rc4::IfcL const ifcopenshell::entity& Ifc4x3_rc4::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[268]); } -void Ifc4x3_rc4::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc4::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_rc4::IfcCurrencyRelationship Ifc4x3_rc4::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc4::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc4::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9726,7 +9726,7 @@ void Ifc4x3_rc4::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[269]); } -void Ifc4x3_rc4::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcCurtainWall Ifc4x3_rc4::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9734,13 +9734,13 @@ void Ifc4x3_rc4::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_rc4::IfcCu const ifcopenshell::entity& Ifc4x3_rc4::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[270]); } -void Ifc4x3_rc4::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcCurtainWallType Ifc4x3_rc4::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_rc4::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[273]); } -void Ifc4x3_rc4::IfcCurve::initialize() { } +Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_rc4::IfcPlane Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPlane>(); } @@ -9752,7 +9752,7 @@ void Ifc4x3_rc4::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[274]); } -void Ifc4x3_rc4::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc4::IfcPlane v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc4::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_rc4::IfcCurveBoundedPlane Ifc4x3_rc4::IfcCurveBoundedPlane::initialize(::Ifc4x3_rc4::IfcPlane v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc4::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -9764,7 +9764,7 @@ void Ifc4x3_rc4::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[275]); } -void Ifc4x3_rc4::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_rc4::IfcCurveBoundedSurface Ifc4x3_rc4::IfcCurveBoundedSurface::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcCurveSegment::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcPlacement>(); } @@ -9778,7 +9778,7 @@ void Ifc4x3_rc4::IfcCurveSegment::setParentCurve(const ::Ifc4x3_rc4::IfcCurve& v const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[281]); } -void Ifc4x3_rc4::IfcCurveSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc4::IfcPlacement v2_Placement, ::Ifc4x3_rc4::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc4::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve)); } +Ifc4x3_rc4::IfcCurveSegment Ifc4x3_rc4::IfcCurveSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc4::IfcPlacement v2_Placement, ::Ifc4x3_rc4::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc4::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9792,7 +9792,7 @@ void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[282]); } -void Ifc4x3_rc4::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc4::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc4::IfcCurveStyle Ifc4x3_rc4::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc4::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9802,7 +9802,7 @@ void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[283]); } -void Ifc4x3_rc4::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_rc4::IfcCurveStyleFont Ifc4x3_rc4::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9814,7 +9814,7 @@ void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[284]); } -void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_rc4::IfcCurveStyleFontAndScaling Ifc4x3_rc4::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_rc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9824,7 +9824,7 @@ void Ifc4x3_rc4::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doubl const ifcopenshell::entity& Ifc4x3_rc4::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[285]); } -void Ifc4x3_rc4::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_rc4::IfcCurveStyleFontPattern Ifc4x3_rc4::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_rc4::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9832,7 +9832,7 @@ void Ifc4x3_rc4::IfcCylindricalSurface::setRadius(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc4::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[287]); } -void Ifc4x3_rc4::IfcCylindricalSurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc4::IfcCylindricalSurface Ifc4x3_rc4::IfcCylindricalSurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > Ifc4x3_rc4::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9840,7 +9840,7 @@ void Ifc4x3_rc4::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[288]); } -void Ifc4x3_rc4::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDamper Ifc4x3_rc4::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9848,19 +9848,19 @@ void Ifc4x3_rc4::IfcDamperType::setPredefinedType(const ::Ifc4x3_rc4::IfcDamperT const ifcopenshell::entity& Ifc4x3_rc4::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[289]); } -void Ifc4x3_rc4::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDamperType Ifc4x3_rc4::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_rc4::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[296]); } -void Ifc4x3_rc4::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcDeepFoundation Ifc4x3_rc4::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_rc4::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[297]); } -void Ifc4x3_rc4::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcDeepFoundationType Ifc4x3_rc4::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -9872,7 +9872,7 @@ void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[300]); } -void Ifc4x3_rc4::IfcDerivedProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc4::IfcDerivedProfileDef Ifc4x3_rc4::IfcDerivedProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > Ifc4x3_rc4::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcDerivedUnitElement>(es); } @@ -9884,7 +9884,7 @@ void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(const std::optional< std::st const ifcopenshell::entity& Ifc4x3_rc4::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[301]); } -void Ifc4x3_rc4::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } } +Ifc4x3_rc4::IfcDerivedUnit Ifc4x3_rc4::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_rc4::IfcNamedUnit Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcNamedUnit>(); } @@ -9894,7 +9894,7 @@ void Ifc4x3_rc4::IfcDerivedUnitElement::setExponent(const int& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc4::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[302]); } -void Ifc4x3_rc4::IfcDerivedUnitElement::initialize(::Ifc4x3_rc4::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_rc4::IfcDerivedUnitElement Ifc4x3_rc4::IfcDerivedUnitElement::initialize(::Ifc4x3_rc4::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_rc4::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9914,7 +9914,7 @@ void Ifc4x3_rc4::IfcDimensionalExponents::setLuminousIntensityExponent(const int const ifcopenshell::entity& Ifc4x3_rc4::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[305]); } -void Ifc4x3_rc4::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_rc4::IfcDimensionalExponents Ifc4x3_rc4::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9922,7 +9922,7 @@ void Ifc4x3_rc4::IfcDirection::setDirectionRatios(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc4::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[307]); } -void Ifc4x3_rc4::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -9934,13 +9934,13 @@ void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[309]); } -void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid const ifcopenshell::entity& Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[310]); } -void Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc4::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9948,7 +9948,7 @@ void Ifc4x3_rc4::IfcDiscreteAccessory::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[311]); } -void Ifc4x3_rc4::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDiscreteAccessory Ifc4x3_rc4::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9956,7 +9956,7 @@ void Ifc4x3_rc4::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[312]); } -void Ifc4x3_rc4::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDiscreteAccessoryType Ifc4x3_rc4::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9964,7 +9964,7 @@ void Ifc4x3_rc4::IfcDistributionBoard::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[314]); } -void Ifc4x3_rc4::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDistributionBoard Ifc4x3_rc4::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9972,7 +9972,7 @@ void Ifc4x3_rc4::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[315]); } -void Ifc4x3_rc4::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDistributionBoardType Ifc4x3_rc4::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc4::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9980,7 +9980,7 @@ void Ifc4x3_rc4::IfcDistributionChamberElement::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[317]); } -void Ifc4x3_rc4::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDistributionChamberElement Ifc4x3_rc4::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9988,52 +9988,52 @@ void Ifc4x3_rc4::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[318]); } -void Ifc4x3_rc4::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDistributionChamberElementType Ifc4x3_rc4::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[320]); } -void Ifc4x3_rc4::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc4::IfcDistributionCircuit Ifc4x3_rc4::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_rc4::IfcRelFlowControlElements> Ifc4x3_rc4::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[942], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[321]); } -void Ifc4x3_rc4::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcDistributionControlElement Ifc4x3_rc4::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[322]); } -void Ifc4x3_rc4::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcDistributionControlElementType Ifc4x3_rc4::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_rc4::IfcRelConnectsPortToElement> Ifc4x3_rc4::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[926], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[323]); } -void Ifc4x3_rc4::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcDistributionElement Ifc4x3_rc4::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[324]); } -void Ifc4x3_rc4::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcDistributionElementType Ifc4x3_rc4::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_rc4::IfcRelFlowControlElements> Ifc4x3_rc4::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[942], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[325]); } -void Ifc4x3_rc4::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcDistributionFlowElement Ifc4x3_rc4::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[326]); } -void Ifc4x3_rc4::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcDistributionFlowElementType Ifc4x3_rc4::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > Ifc4x3_rc4::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -10045,7 +10045,7 @@ void Ifc4x3_rc4::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[327]); } -void Ifc4x3_rc4::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_rc4::IfcDistributionPort Ifc4x3_rc4::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_rc4::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -10055,7 +10055,7 @@ void Ifc4x3_rc4::IfcDistributionSystem::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc4::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[329]); } -void Ifc4x3_rc4::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc4::IfcDistributionSystem Ifc4x3_rc4::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_rc4::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10099,7 +10099,7 @@ std::vector<::Ifc4x3_rc4::IfcDocumentInformationRelationship> Ifc4x3_rc4::IfcDoc std::vector<::Ifc4x3_rc4::IfcDocumentInformationRelationship> Ifc4x3_rc4::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[333], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[332]); } -void Ifc4x3_rc4::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_rc4::IfcDocumentInformation Ifc4x3_rc4::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_rc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_rc4::IfcDocumentInformation Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDocumentInformation>(); } @@ -10111,7 +10111,7 @@ void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(const s const ifcopenshell::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[333]); } -void Ifc4x3_rc4::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_rc4::IfcDocumentInformationRelationship Ifc4x3_rc4::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_rc4::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10122,7 +10122,7 @@ void Ifc4x3_rc4::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_rc4: std::vector<::Ifc4x3_rc4::IfcRelAssociatesDocument> Ifc4x3_rc4::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[917], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[334]); } -void Ifc4x3_rc4::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_rc4::IfcDocumentReference Ifc4x3_rc4::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_rc4::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10138,7 +10138,7 @@ void Ifc4x3_rc4::IfcDoor::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[337]); } -void Ifc4x3_rc4::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc4::IfcDoor Ifc4x3_rc4::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10170,7 +10170,7 @@ void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[338]); } -void Ifc4x3_rc4::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_rc4::IfcDoorLiningProperties Ifc4x3_rc4::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10186,13 +10186,13 @@ void Ifc4x3_rc4::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[341]); } -void Ifc4x3_rc4::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc4::IfcDoorPanelProperties Ifc4x3_rc4::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcDoorStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[342]); } -void Ifc4x3_rc4::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc4::IfcDoorStandardCase Ifc4x3_rc4::IfcDoorStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorStyle ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value Ifc4x3_rc4::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } @@ -10206,7 +10206,7 @@ void Ifc4x3_rc4::IfcDoorStyle::setSizeable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc4::IfcDoorStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[343]); } -void Ifc4x3_rc4::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc4::IfcDoorStyle Ifc4x3_rc4::IfcDoorStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10220,19 +10220,19 @@ void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_rc4::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[346]); } -void Ifc4x3_rc4::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_rc4::IfcDoorType Ifc4x3_rc4::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc4::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[350]); } -void Ifc4x3_rc4::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc4::IfcDraughtingPreDefinedColour Ifc4x3_rc4::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[351]); } -void Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc4::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10240,7 +10240,7 @@ void Ifc4x3_rc4::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[352]); } -void Ifc4x3_rc4::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDuctFitting Ifc4x3_rc4::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10248,7 +10248,7 @@ void Ifc4x3_rc4::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_rc4::IfcDu const ifcopenshell::entity& Ifc4x3_rc4::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[353]); } -void Ifc4x3_rc4::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDuctFittingType Ifc4x3_rc4::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc4::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10256,7 +10256,7 @@ void Ifc4x3_rc4::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[355]); } -void Ifc4x3_rc4::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDuctSegment Ifc4x3_rc4::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10264,7 +10264,7 @@ void Ifc4x3_rc4::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_rc4::IfcDu const ifcopenshell::entity& Ifc4x3_rc4::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[356]); } -void Ifc4x3_rc4::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDuctSegmentType Ifc4x3_rc4::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc4::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10272,7 +10272,7 @@ void Ifc4x3_rc4::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[358]); } -void Ifc4x3_rc4::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcDuctSilencer Ifc4x3_rc4::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10280,7 +10280,7 @@ void Ifc4x3_rc4::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_rc4::IfcD const ifcopenshell::entity& Ifc4x3_rc4::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[359]); } -void Ifc4x3_rc4::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcDuctSilencerType Ifc4x3_rc4::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10288,13 +10288,13 @@ void Ifc4x3_rc4::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[363]); } -void Ifc4x3_rc4::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcEarthworksCut Ifc4x3_rc4::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_rc4::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[365]); } -void Ifc4x3_rc4::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcEarthworksElement Ifc4x3_rc4::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10302,7 +10302,7 @@ void Ifc4x3_rc4::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[366]); } -void Ifc4x3_rc4::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcEarthworksFill Ifc4x3_rc4::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcVertex>(); } @@ -10312,7 +10312,7 @@ void Ifc4x3_rc4::IfcEdge::setEdgeEnd(const ::Ifc4x3_rc4::IfcVertex& v) { set_att const ifcopenshell::entity& Ifc4x3_rc4::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[368]); } -void Ifc4x3_rc4::IfcEdge::initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_rc4::IfcEdge Ifc4x3_rc4::IfcEdge::initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -10322,7 +10322,7 @@ void Ifc4x3_rc4::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc4::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[369]); } -void Ifc4x3_rc4::IfcEdgeCurve::initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_rc4::IfcEdgeCurve Ifc4x3_rc4::IfcEdgeCurve::initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > Ifc4x3_rc4::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcOrientedEdge>(es); } @@ -10330,7 +10330,7 @@ void Ifc4x3_rc4::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOr const ifcopenshell::entity& Ifc4x3_rc4::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[370]); } -void Ifc4x3_rc4::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc4::IfcEdgeLoop Ifc4x3_rc4::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc4::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10338,7 +10338,7 @@ void Ifc4x3_rc4::IfcElectricAppliance::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[371]); } -void Ifc4x3_rc4::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricAppliance Ifc4x3_rc4::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10346,7 +10346,7 @@ void Ifc4x3_rc4::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[372]); } -void Ifc4x3_rc4::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricApplianceType Ifc4x3_rc4::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10354,7 +10354,7 @@ void Ifc4x3_rc4::IfcElectricDistributionBoard::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[378]); } -void Ifc4x3_rc4::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricDistributionBoard Ifc4x3_rc4::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10362,7 +10362,7 @@ void Ifc4x3_rc4::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[379]); } -void Ifc4x3_rc4::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricDistributionBoardType Ifc4x3_rc4::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10370,7 +10370,7 @@ void Ifc4x3_rc4::IfcElectricFlowStorageDevice::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[381]); } -void Ifc4x3_rc4::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricFlowStorageDevice Ifc4x3_rc4::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10378,7 +10378,7 @@ void Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[382]); } -void Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricFlowStorageDeviceType Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10386,7 +10386,7 @@ void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[384]); } -void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricFlowTreatmentDevice Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10394,7 +10394,7 @@ void Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[385]); } -void Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc4::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10402,7 +10402,7 @@ void Ifc4x3_rc4::IfcElectricGenerator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[387]); } -void Ifc4x3_rc4::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricGenerator Ifc4x3_rc4::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10410,7 +10410,7 @@ void Ifc4x3_rc4::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[388]); } -void Ifc4x3_rc4::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricGeneratorType Ifc4x3_rc4::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc4::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10418,7 +10418,7 @@ void Ifc4x3_rc4::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[390]); } -void Ifc4x3_rc4::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricMotor Ifc4x3_rc4::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10426,7 +10426,7 @@ void Ifc4x3_rc4::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[391]); } -void Ifc4x3_rc4::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricMotorType Ifc4x3_rc4::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc4::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10434,7 +10434,7 @@ void Ifc4x3_rc4::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[394]); } -void Ifc4x3_rc4::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcElectricTimeControl Ifc4x3_rc4::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10442,7 +10442,7 @@ void Ifc4x3_rc4::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[395]); } -void Ifc4x3_rc4::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElectricTimeControlType Ifc4x3_rc4::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_rc4::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10462,7 +10462,7 @@ std::vector<::Ifc4x3_rc4::IfcRelCoversBldgElements> Ifc4x3_rc4::IfcElement::HasC std::vector<::Ifc4x3_rc4::IfcRelAdheresToElement> Ifc4x3_rc4::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[903], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[398]); } -void Ifc4x3_rc4::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc4::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10472,7 +10472,7 @@ void Ifc4x3_rc4::IfcElementAssembly::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[400]); } -void Ifc4x3_rc4::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcElementAssembly Ifc4x3_rc4::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10480,19 +10480,19 @@ void Ifc4x3_rc4::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[401]); } -void Ifc4x3_rc4::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcElementAssemblyType Ifc4x3_rc4::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_rc4::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[403]); } -void Ifc4x3_rc4::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcElementComponent Ifc4x3_rc4::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_rc4::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[404]); } -void Ifc4x3_rc4::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcElementComponentType Ifc4x3_rc4::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_rc4::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10502,7 +10502,7 @@ void Ifc4x3_rc4::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[406]); } -void Ifc4x3_rc4::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_rc4::IfcElementQuantity Ifc4x3_rc4::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_rc4::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10510,7 +10510,7 @@ void Ifc4x3_rc4::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[407]); } -void Ifc4x3_rc4::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcElementType Ifc4x3_rc4::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } @@ -10518,7 +10518,7 @@ void Ifc4x3_rc4::IfcElementarySurface::setPosition(const ::Ifc4x3_rc4::IfcAxis2P const ifcopenshell::entity& Ifc4x3_rc4::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[399]); } -void Ifc4x3_rc4::IfcElementarySurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc4::IfcElementarySurface Ifc4x3_rc4::IfcElementarySurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_rc4::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10528,7 +10528,7 @@ void Ifc4x3_rc4::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_rc4::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[408]); } -void Ifc4x3_rc4::IfcEllipse::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_rc4::IfcEllipse Ifc4x3_rc4::IfcEllipse::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10538,19 +10538,19 @@ void Ifc4x3_rc4::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc4::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[409]); } -void Ifc4x3_rc4::IfcEllipseProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_rc4::IfcEllipseProfileDef Ifc4x3_rc4::IfcEllipseProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_rc4::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[410]); } -void Ifc4x3_rc4::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcEnergyConversionDevice Ifc4x3_rc4::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_rc4::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[411]); } -void Ifc4x3_rc4::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcEnergyConversionDeviceType Ifc4x3_rc4::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > Ifc4x3_rc4::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10558,7 +10558,7 @@ void Ifc4x3_rc4::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[413]); } -void Ifc4x3_rc4::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcEngine Ifc4x3_rc4::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10566,7 +10566,7 @@ void Ifc4x3_rc4::IfcEngineType::setPredefinedType(const ::Ifc4x3_rc4::IfcEngineT const ifcopenshell::entity& Ifc4x3_rc4::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[414]); } -void Ifc4x3_rc4::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcEngineType Ifc4x3_rc4::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc4::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10574,7 +10574,7 @@ void Ifc4x3_rc4::IfcEvaporativeCooler::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[416]); } -void Ifc4x3_rc4::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcEvaporativeCooler Ifc4x3_rc4::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10582,7 +10582,7 @@ void Ifc4x3_rc4::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[417]); } -void Ifc4x3_rc4::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcEvaporativeCoolerType Ifc4x3_rc4::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc4::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10590,7 +10590,7 @@ void Ifc4x3_rc4::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[419]); } -void Ifc4x3_rc4::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcEvaporator Ifc4x3_rc4::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10598,7 +10598,7 @@ void Ifc4x3_rc4::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_rc4::IfcEva const ifcopenshell::entity& Ifc4x3_rc4::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[420]); } -void Ifc4x3_rc4::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcEvaporatorType Ifc4x3_rc4::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > Ifc4x3_rc4::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10612,7 +10612,7 @@ void Ifc4x3_rc4::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_rc4::IfcEventTim const ifcopenshell::entity& Ifc4x3_rc4::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[422]); } -void Ifc4x3_rc4::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc4::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_rc4::IfcEvent Ifc4x3_rc4::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc4::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_rc4::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10626,7 +10626,7 @@ void Ifc4x3_rc4::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[423]); } -void Ifc4x3_rc4::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_rc4::IfcEventTime Ifc4x3_rc4::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10638,7 +10638,7 @@ void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[425]); } -void Ifc4x3_rc4::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_rc4::IfcEventType Ifc4x3_rc4::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10650,13 +10650,13 @@ void Ifc4x3_rc4::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[427]); } -void Ifc4x3_rc4::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_rc4::IfcExtendedProperties Ifc4x3_rc4::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[428]); } -void Ifc4x3_rc4::IfcExternalInformation::initialize() { } +Ifc4x3_rc4::IfcExternalInformation Ifc4x3_rc4::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10669,7 +10669,7 @@ void Ifc4x3_rc4::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[432]); } -void Ifc4x3_rc4::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc4::IfcExternalReference Ifc4x3_rc4::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_rc4::IfcExternalReference Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcExternalReference>(); } @@ -10679,7 +10679,7 @@ void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(con const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[433]); } -void Ifc4x3_rc4::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc4::IfcExternalReferenceRelationship Ifc4x3_rc4::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10688,31 +10688,31 @@ void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(const std::optiona std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[950], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[434]); } -void Ifc4x3_rc4::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcExternalSpatialElement Ifc4x3_rc4::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_rc4::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[436]); } -void Ifc4x3_rc4::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc4::IfcExternalSpatialStructureElement Ifc4x3_rc4::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[429]); } -void Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc4::IfcExternallyDefinedHatchStyle Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[430]); } -void Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc4::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[431]); } -void Ifc4x3_rc4::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc4::IfcExternallyDefinedTextFont Ifc4x3_rc4::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -10722,7 +10722,7 @@ void Ifc4x3_rc4::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc4::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[437]); } -void Ifc4x3_rc4::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc4::IfcExtrudedAreaSolid Ifc4x3_rc4::IfcExtrudedAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -10730,7 +10730,7 @@ void Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[438]); } -void Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc4::IfcExtrudedAreaSolidTapered Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_rc4::IfcFaceBound > Ifc4x3_rc4::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcFaceBound>(es); } @@ -10739,7 +10739,7 @@ void Ifc4x3_rc4::IfcFace::setBounds(const std::vector< ::Ifc4x3_rc4::IfcFaceBoun std::vector<::Ifc4x3_rc4::IfcTextureMap> Ifc4x3_rc4::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1199], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[439]); } -void Ifc4x3_rc4::IfcFace::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_rc4::IfcFace Ifc4x3_rc4::IfcFace::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > Ifc4x3_rc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcConnectedFaceSet>(es); } @@ -10747,7 +10747,7 @@ void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[440]); } -void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_rc4::IfcFaceBasedSurfaceModel Ifc4x3_rc4::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_rc4::IfcLoop Ifc4x3_rc4::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcLoop>(); } @@ -10757,13 +10757,13 @@ void Ifc4x3_rc4::IfcFaceBound::setOrientation(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[441]); } -void Ifc4x3_rc4::IfcFaceBound::initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc4::IfcFaceBound Ifc4x3_rc4::IfcFaceBound::initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[442]); } -void Ifc4x3_rc4::IfcFaceOuterBound::initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_rc4::IfcFaceOuterBound Ifc4x3_rc4::IfcFaceOuterBound::initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -10773,13 +10773,13 @@ void Ifc4x3_rc4::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_rc4::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[443]); } -void Ifc4x3_rc4::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc4::IfcFaceSurface Ifc4x3_rc4::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_rc4::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[444]); } -void Ifc4x3_rc4::IfcFacetedBrep::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc4::IfcFacetedBrep Ifc4x3_rc4::IfcFacetedBrep::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_rc4::IfcClosedShell > Ifc4x3_rc4::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcClosedShell>(es); } @@ -10787,13 +10787,13 @@ void Ifc4x3_rc4::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[445]); } -void Ifc4x3_rc4::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_rc4::IfcFacetedBrepWithVoids Ifc4x3_rc4::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_rc4::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[446]); } -void Ifc4x3_rc4::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc4::IfcFacility Ifc4x3_rc4::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_rc4::IfcFacilityPartTypeSelect Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcFacilityPartTypeSelect>(); } @@ -10803,7 +10803,7 @@ void Ifc4x3_rc4::IfcFacilityPart::setUsageType(const ::Ifc4x3_rc4::IfcFacilityUs const ifcopenshell::entity& Ifc4x3_rc4::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[447]); } -void Ifc4x3_rc4::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc4::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType))); } +Ifc4x3_rc4::IfcFacilityPart Ifc4x3_rc4::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc4::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v11_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (v10_PredefinedType));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10821,7 +10821,7 @@ void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureZ(const std const ifcopenshell::entity& Ifc4x3_rc4::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[451]); } -void Ifc4x3_rc4::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_rc4::IfcFailureConnectionCondition Ifc4x3_rc4::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > Ifc4x3_rc4::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10829,7 +10829,7 @@ void Ifc4x3_rc4::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[452]); } -void Ifc4x3_rc4::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFan Ifc4x3_rc4::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10837,7 +10837,7 @@ void Ifc4x3_rc4::IfcFanType::setPredefinedType(const ::Ifc4x3_rc4::IfcFanTypeEnu const ifcopenshell::entity& Ifc4x3_rc4::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[453]); } -void Ifc4x3_rc4::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFanType Ifc4x3_rc4::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > Ifc4x3_rc4::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10845,7 +10845,7 @@ void Ifc4x3_rc4::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[455]); } -void Ifc4x3_rc4::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFastener Ifc4x3_rc4::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10853,27 +10853,27 @@ void Ifc4x3_rc4::IfcFastenerType::setPredefinedType(const ::Ifc4x3_rc4::IfcFaste const ifcopenshell::entity& Ifc4x3_rc4::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[456]); } -void Ifc4x3_rc4::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFastenerType Ifc4x3_rc4::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_rc4::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[458]); } -void Ifc4x3_rc4::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFeatureElement Ifc4x3_rc4::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_rc4::IfcRelProjectsElement> Ifc4x3_rc4::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[946], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[459]); } -void Ifc4x3_rc4::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFeatureElementAddition Ifc4x3_rc4::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_rc4::IfcRelVoidsElement> Ifc4x3_rc4::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[953], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[460]); } -void Ifc4x3_rc4::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFeatureElementSubtraction Ifc4x3_rc4::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcFillStyleSelect>(es); } @@ -10883,7 +10883,7 @@ void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(const std::optional< boo const ifcopenshell::entity& Ifc4x3_rc4::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[461]); } -void Ifc4x3_rc4::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3_rc4::IfcFillAreaStyle Ifc4x3_rc4::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_rc4::IfcCurveStyle Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurveStyle>(); } @@ -10899,7 +10899,7 @@ void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[462]); } -void Ifc4x3_rc4::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_rc4::IfcFillAreaStyleHatching Ifc4x3_rc4::IfcFillAreaStyleHatching::initialize(::Ifc4x3_rc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_rc4::IfcVector > Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcVector>(es); } @@ -10911,7 +10911,7 @@ void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[463]); } -void Ifc4x3_rc4::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc4::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_rc4::IfcFillAreaStyleTiles Ifc4x3_rc4::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_rc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc4::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > Ifc4x3_rc4::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10919,7 +10919,7 @@ void Ifc4x3_rc4::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[465]); } -void Ifc4x3_rc4::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFilter Ifc4x3_rc4::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10927,7 +10927,7 @@ void Ifc4x3_rc4::IfcFilterType::setPredefinedType(const ::Ifc4x3_rc4::IfcFilterT const ifcopenshell::entity& Ifc4x3_rc4::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[466]); } -void Ifc4x3_rc4::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFilterType Ifc4x3_rc4::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc4::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10935,7 +10935,7 @@ void Ifc4x3_rc4::IfcFireSuppressionTerminal::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_rc4::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[468]); } -void Ifc4x3_rc4::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFireSuppressionTerminal Ifc4x3_rc4::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10943,7 +10943,7 @@ void Ifc4x3_rc4::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[469]); } -void Ifc4x3_rc4::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFireSuppressionTerminalType Ifc4x3_rc4::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -10951,31 +10951,31 @@ void Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[471]); } -void Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[472]); } -void Ifc4x3_rc4::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowController Ifc4x3_rc4::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[473]); } -void Ifc4x3_rc4::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowControllerType Ifc4x3_rc4::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[475]); } -void Ifc4x3_rc4::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowFitting Ifc4x3_rc4::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[476]); } -void Ifc4x3_rc4::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowFittingType Ifc4x3_rc4::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc4::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10983,7 +10983,7 @@ void Ifc4x3_rc4::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[477]); } -void Ifc4x3_rc4::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFlowInstrument Ifc4x3_rc4::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -10991,7 +10991,7 @@ void Ifc4x3_rc4::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[478]); } -void Ifc4x3_rc4::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFlowInstrumentType Ifc4x3_rc4::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc4::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -10999,7 +10999,7 @@ void Ifc4x3_rc4::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[480]); } -void Ifc4x3_rc4::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFlowMeter Ifc4x3_rc4::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -11007,67 +11007,67 @@ void Ifc4x3_rc4::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_rc4::IfcFlow const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[481]); } -void Ifc4x3_rc4::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFlowMeterType Ifc4x3_rc4::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[483]); } -void Ifc4x3_rc4::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowMovingDevice Ifc4x3_rc4::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[484]); } -void Ifc4x3_rc4::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowMovingDeviceType Ifc4x3_rc4::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[485]); } -void Ifc4x3_rc4::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowSegment Ifc4x3_rc4::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[486]); } -void Ifc4x3_rc4::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowSegmentType Ifc4x3_rc4::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[487]); } -void Ifc4x3_rc4::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowStorageDevice Ifc4x3_rc4::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[488]); } -void Ifc4x3_rc4::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowStorageDeviceType Ifc4x3_rc4::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[489]); } -void Ifc4x3_rc4::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowTerminal Ifc4x3_rc4::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[490]); } -void Ifc4x3_rc4::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowTerminalType Ifc4x3_rc4::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[491]); } -void Ifc4x3_rc4::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFlowTreatmentDevice Ifc4x3_rc4::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_rc4::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[492]); } -void Ifc4x3_rc4::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFlowTreatmentDeviceType Ifc4x3_rc4::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > Ifc4x3_rc4::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -11075,7 +11075,7 @@ void Ifc4x3_rc4::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[496]); } -void Ifc4x3_rc4::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFooting Ifc4x3_rc4::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -11083,19 +11083,19 @@ void Ifc4x3_rc4::IfcFootingType::setPredefinedType(const ::Ifc4x3_rc4::IfcFootin const ifcopenshell::entity& Ifc4x3_rc4::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[497]); } -void Ifc4x3_rc4::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcFootingType Ifc4x3_rc4::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_rc4::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[501]); } -void Ifc4x3_rc4::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcFurnishingElement Ifc4x3_rc4::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[502]); } -void Ifc4x3_rc4::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcFurnishingElementType Ifc4x3_rc4::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -11103,7 +11103,7 @@ void Ifc4x3_rc4::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[503]); } -void Ifc4x3_rc4::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcFurniture Ifc4x3_rc4::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11113,7 +11113,7 @@ void Ifc4x3_rc4::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[504]); } -void Ifc4x3_rc4::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcFurnitureType Ifc4x3_rc4::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc4::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11121,7 +11121,7 @@ void Ifc4x3_rc4::IfcGeographicElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[506]); } -void Ifc4x3_rc4::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcGeographicElement Ifc4x3_rc4::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11129,13 +11129,13 @@ void Ifc4x3_rc4::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[507]); } -void Ifc4x3_rc4::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcGeographicElementType Ifc4x3_rc4::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[509]); } -void Ifc4x3_rc4::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc4::IfcGeometricCurveSet Ifc4x3_rc4::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11151,13 +11151,13 @@ std::vector<::Ifc4x3_rc4::IfcGeometricRepresentationSubContext> Ifc4x3_rc4::IfcG std::vector<::Ifc4x3_rc4::IfcCoordinateOperation> Ifc4x3_rc4::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[245], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[511]); } -void Ifc4x3_rc4::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc4::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_rc4::IfcGeometricRepresentationContext Ifc4x3_rc4::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc4::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[512]); } -void Ifc4x3_rc4::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_rc4::IfcGeometricRepresentationItem Ifc4x3_rc4::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_rc4::IfcGeometricRepresentationContext Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(); } @@ -11171,7 +11171,7 @@ void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView( const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[513]); } -void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_rc4::IfcGeometricRepresentationSubContext Ifc4x3_rc4::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > Ifc4x3_rc4::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcGeometricSetSelect>(es); } @@ -11179,37 +11179,37 @@ void Ifc4x3_rc4::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[514]); } -void Ifc4x3_rc4::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_rc4::IfcGeometricSet Ifc4x3_rc4::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_rc4::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[516]); } -void Ifc4x3_rc4::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcGeomodel Ifc4x3_rc4::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_rc4::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[517]); } -void Ifc4x3_rc4::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcGeoslice Ifc4x3_rc4::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_rc4::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[518]); } -void Ifc4x3_rc4::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcGeotechnicalAssembly Ifc4x3_rc4::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_rc4::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[519]); } -void Ifc4x3_rc4::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcGeotechnicalElement Ifc4x3_rc4::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum const ifcopenshell::entity& Ifc4x3_rc4::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[520]); } -void Ifc4x3_rc4::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcGeotechnicalStratum Ifc4x3_rc4::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } @@ -11219,7 +11219,7 @@ void Ifc4x3_rc4::IfcGradientCurve::setEndPoint(const ::Ifc4x3_rc4::IfcPlacement& const ifcopenshell::entity& Ifc4x3_rc4::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[523]); } -void Ifc4x3_rc4::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_rc4::IfcGradientCurve Ifc4x3_rc4::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_rc4::IfcGridAxis > Ifc4x3_rc4::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } @@ -11233,7 +11233,7 @@ void Ifc4x3_rc4::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[524]); } -void Ifc4x3_rc4::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcGrid Ifc4x3_rc4::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_rc4::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11249,7 +11249,7 @@ std::vector<::Ifc4x3_rc4::IfcGrid> Ifc4x3_rc4::IfcGridAxis::PartOfU() const { re std::vector<::Ifc4x3_rc4::IfcVirtualGridIntersection> Ifc4x3_rc4::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1276], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[525]); } -void Ifc4x3_rc4::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_rc4::IfcGridAxis Ifc4x3_rc4::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_rc4::IfcVirtualGridIntersection Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcVirtualGridIntersection>(); } @@ -11259,14 +11259,14 @@ void Ifc4x3_rc4::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[526]); } -void Ifc4x3_rc4::IfcGridPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_rc4::IfcGridPlacement Ifc4x3_rc4::IfcGridPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup std::vector<::Ifc4x3_rc4::IfcRelAssignsToGroup> Ifc4x3_rc4::IfcGroup::IsGroupedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[908], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[529]); } -void Ifc4x3_rc4::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc4::IfcGroup Ifc4x3_rc4::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -11276,7 +11276,7 @@ void Ifc4x3_rc4::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc4::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[530]); } -void Ifc4x3_rc4::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_rc4::IfcHalfSpaceSolid Ifc4x3_rc4::IfcHalfSpaceSolid::initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc4::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11284,7 +11284,7 @@ void Ifc4x3_rc4::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[532]); } -void Ifc4x3_rc4::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcHeatExchanger Ifc4x3_rc4::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11292,7 +11292,7 @@ void Ifc4x3_rc4::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[533]); } -void Ifc4x3_rc4::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcHeatExchangerType Ifc4x3_rc4::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > Ifc4x3_rc4::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11300,7 +11300,7 @@ void Ifc4x3_rc4::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[537]); } -void Ifc4x3_rc4::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcHumidifier Ifc4x3_rc4::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11308,7 +11308,7 @@ void Ifc4x3_rc4::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_rc4::IfcHum const ifcopenshell::entity& Ifc4x3_rc4::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[538]); } -void Ifc4x3_rc4::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcHumidifierType Ifc4x3_rc4::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_rc4::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11328,7 +11328,7 @@ void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc4::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[567]); } -void Ifc4x3_rc4::IfcIShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc4::IfcIShapeProfileDef Ifc4x3_rc4::IfcIShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_rc4::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11336,7 +11336,7 @@ void Ifc4x3_rc4::IfcImageTexture::setURLReference(const std::string& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[542]); } -void Ifc4x3_rc4::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_rc4::IfcImageTexture Ifc4x3_rc4::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11344,7 +11344,7 @@ void Ifc4x3_rc4::IfcImpactProtectionDevice::setPredefinedType(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[543]); } -void Ifc4x3_rc4::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc4::IfcImpactProtectionDevice Ifc4x3_rc4::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(); } @@ -11352,7 +11352,7 @@ void Ifc4x3_rc4::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[544]); } -void Ifc4x3_rc4::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc4::IfcImpactProtectionDeviceType Ifc4x3_rc4::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_rc4::IfcTessellatedFaceSet Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(); } @@ -11366,7 +11366,7 @@ void Ifc4x3_rc4::IfcIndexedColourMap::setColourIndex(const std::vector< int > /* const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[547]); } -void Ifc4x3_rc4::IfcIndexedColourMap::initialize(::Ifc4x3_rc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_rc4::IfcIndexedColourMap Ifc4x3_rc4::IfcIndexedColourMap::initialize(::Ifc4x3_rc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_rc4::IfcCartesianPointList Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPointList>(); } @@ -11378,7 +11378,7 @@ void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[548]); } -void Ifc4x3_rc4::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_rc4::IfcIndexedPolyCurve Ifc4x3_rc4::IfcIndexedPolyCurve::initialize(::Ifc4x3_rc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11387,7 +11387,7 @@ void Ifc4x3_rc4::IfcIndexedPolygonalFace::setCoordIndex(const std::vector< int > std::vector<::Ifc4x3_rc4::IfcPolygonalFaceSet> Ifc4x3_rc4::IfcIndexedPolygonalFace::ToFaceSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[776], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[549]); } -void Ifc4x3_rc4::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_rc4::IfcIndexedPolygonalFace Ifc4x3_rc4::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11395,7 +11395,7 @@ void Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const st const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[550]); } -void Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_rc4::IfcTessellatedFaceSet Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(); } @@ -11405,7 +11405,7 @@ void Ifc4x3_rc4::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_rc4::IfcTextu const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[551]); } -void Ifc4x3_rc4::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_rc4::IfcIndexedTextureMap Ifc4x3_rc4::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11413,7 +11413,7 @@ void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optio const ifcopenshell::entity& Ifc4x3_rc4::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[552]); } -void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_rc4::IfcIndexedTriangleTextureMap Ifc4x3_rc4::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > Ifc4x3_rc4::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11421,7 +11421,7 @@ void Ifc4x3_rc4::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[556]); } -void Ifc4x3_rc4::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcInterceptor Ifc4x3_rc4::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11429,13 +11429,13 @@ void Ifc4x3_rc4::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_rc4::IfcIn const ifcopenshell::entity& Ifc4x3_rc4::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[557]); } -void Ifc4x3_rc4::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcInterceptorType Ifc4x3_rc4::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_rc4::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[561]); } -void Ifc4x3_rc4::IfcIntersectionCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc4::IfcIntersectionCurve Ifc4x3_rc4::IfcIntersectionCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > Ifc4x3_rc4::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11453,7 +11453,7 @@ void Ifc4x3_rc4::IfcInventory::setOriginalValue(const ::Ifc4x3_rc4::IfcCostValue const ifcopenshell::entity& Ifc4x3_rc4::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[562]); } -void Ifc4x3_rc4::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_rc4::IfcInventory Ifc4x3_rc4::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > Ifc4x3_rc4::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_rc4::IfcIrregularTimeSeriesValue>(es); } @@ -11461,7 +11461,7 @@ void Ifc4x3_rc4::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[565]); } -void Ifc4x3_rc4::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_rc4::IfcIrregularTimeSeries Ifc4x3_rc4::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11471,7 +11471,7 @@ void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[566]); } -void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc4::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_rc4::IfcIrregularTimeSeriesValue Ifc4x3_rc4::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc4::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11479,7 +11479,7 @@ void Ifc4x3_rc4::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[569]); } -void Ifc4x3_rc4::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcJunctionBox Ifc4x3_rc4::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11487,7 +11487,7 @@ void Ifc4x3_rc4::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_rc4::IfcJu const ifcopenshell::entity& Ifc4x3_rc4::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[570]); } -void Ifc4x3_rc4::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcJunctionBoxType Ifc4x3_rc4::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb bool Ifc4x3_rc4::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } @@ -11495,7 +11495,7 @@ void Ifc4x3_rc4::IfcKerb::setMountable(const bool& v) { set_attribute_value(8, v const ifcopenshell::entity& Ifc4x3_rc4::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[572]); } -void Ifc4x3_rc4::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable)); } +Ifc4x3_rc4::IfcKerb Ifc4x3_rc4::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; return *this; } // Function implementations for IfcKerbType bool Ifc4x3_rc4::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } @@ -11503,7 +11503,7 @@ void Ifc4x3_rc4::IfcKerbType::setMountable(const bool& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc4::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[573]); } -void Ifc4x3_rc4::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable)); } +Ifc4x3_rc4::IfcKerbType Ifc4x3_rc4::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_rc4::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11521,7 +11521,7 @@ void Ifc4x3_rc4::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc4::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[622]); } -void Ifc4x3_rc4::IfcLShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_rc4::IfcLShapeProfileDef Ifc4x3_rc4::IfcLShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc4::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11529,7 +11529,7 @@ void Ifc4x3_rc4::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[577]); } -void Ifc4x3_rc4::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcLaborResource Ifc4x3_rc4::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11537,7 +11537,7 @@ void Ifc4x3_rc4::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[578]); } -void Ifc4x3_rc4::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcLaborResourceType Ifc4x3_rc4::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_rc4::IfcTimeOrRatioSelect Ifc4x3_rc4::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcTimeOrRatioSelect>(); } @@ -11547,7 +11547,7 @@ void Ifc4x3_rc4::IfcLagTime::setDurationType(const ::Ifc4x3_rc4::IfcTaskDuration const ifcopenshell::entity& Ifc4x3_rc4::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[580]); } -void Ifc4x3_rc4::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc4::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_rc4::IfcLagTime Ifc4x3_rc4::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc4::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > Ifc4x3_rc4::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11555,7 +11555,7 @@ void Ifc4x3_rc4::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[581]); } -void Ifc4x3_rc4::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcLamp Ifc4x3_rc4::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11563,7 +11563,7 @@ void Ifc4x3_rc4::IfcLampType::setPredefinedType(const ::Ifc4x3_rc4::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[582]); } -void Ifc4x3_rc4::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcLampType Ifc4x3_rc4::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11583,7 +11583,7 @@ std::vector<::Ifc4x3_rc4::IfcRelAssociatesLibrary> Ifc4x3_rc4::IfcLibraryInforma std::vector<::Ifc4x3_rc4::IfcLibraryReference> Ifc4x3_rc4::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[589], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[588]); } -void Ifc4x3_rc4::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_rc4::IfcLibraryInformation Ifc4x3_rc4::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11596,7 +11596,7 @@ void Ifc4x3_rc4::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_rc4::I std::vector<::Ifc4x3_rc4::IfcRelAssociatesLibrary> Ifc4x3_rc4::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[918], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[589]); } -void Ifc4x3_rc4::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc4::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_rc4::IfcLibraryReference Ifc4x3_rc4::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc4::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_rc4::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11608,7 +11608,7 @@ void Ifc4x3_rc4::IfcLightDistributionData::setLuminousIntensity(const std::vecto const ifcopenshell::entity& Ifc4x3_rc4::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[592]); } -void Ifc4x3_rc4::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_rc4::IfcLightDistributionData Ifc4x3_rc4::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc4::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11616,7 +11616,7 @@ void Ifc4x3_rc4::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[595]); } -void Ifc4x3_rc4::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcLightFixture Ifc4x3_rc4::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11624,7 +11624,7 @@ void Ifc4x3_rc4::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_rc4::IfcL const ifcopenshell::entity& Ifc4x3_rc4::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[596]); } -void Ifc4x3_rc4::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcLightFixtureType Ifc4x3_rc4::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value Ifc4x3_rc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11634,7 +11634,7 @@ void Ifc4x3_rc4::IfcLightIntensityDistribution::setDistributionData(const std::v const ifcopenshell::entity& Ifc4x3_rc4::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[598]); } -void Ifc4x3_rc4::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc4::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_rc4::IfcLightIntensityDistribution Ifc4x3_rc4::IfcLightIntensityDistribution::initialize(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc4::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_rc4::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11648,13 +11648,13 @@ void Ifc4x3_rc4::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[599]); } -void Ifc4x3_rc4::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc4::IfcLightSource Ifc4x3_rc4::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[600]); } -void Ifc4x3_rc4::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_rc4::IfcLightSourceAmbient Ifc4x3_rc4::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -11662,7 +11662,7 @@ void Ifc4x3_rc4::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[601]); } -void Ifc4x3_rc4::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_rc4::IfcLightSourceDirectional Ifc4x3_rc4::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } @@ -11680,7 +11680,7 @@ void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightDistributionDataSource(const const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[602]); } -void Ifc4x3_rc4::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_rc4::IfcLightSourceGoniometric Ifc4x3_rc4::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } @@ -11696,7 +11696,7 @@ void Ifc4x3_rc4::IfcLightSourcePositional::setQuadricAttenuation(const double& v const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[603]); } -void Ifc4x3_rc4::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_rc4::IfcLightSourcePositional Ifc4x3_rc4::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -11710,7 +11710,7 @@ void Ifc4x3_rc4::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[604]); } -void Ifc4x3_rc4::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_rc4::IfcLightSourceSpot Ifc4x3_rc4::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_rc4::IfcCartesianPoint Ifc4x3_rc4::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPoint>(); } @@ -11720,13 +11720,13 @@ void Ifc4x3_rc4::IfcLine::setDir(const ::Ifc4x3_rc4::IfcVector& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc4::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[605]); } -void Ifc4x3_rc4::IfcLine::initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc4::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_rc4::IfcLine Ifc4x3_rc4::IfcLine::initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc4::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3_rc4::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[606]); } -void Ifc4x3_rc4::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcLinearElement Ifc4x3_rc4::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_rc4::IfcAxis2PlacementLinear Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(); } @@ -11736,13 +11736,13 @@ void Ifc4x3_rc4::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[609]); } -void Ifc4x3_rc4::IfcLinearPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition)); } +Ifc4x3_rc4::IfcLinearPlacement Ifc4x3_rc4::IfcLinearPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement const ifcopenshell::entity& Ifc4x3_rc4::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[610]); } -void Ifc4x3_rc4::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcLinearPositioningElement Ifc4x3_rc4::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc4::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11750,7 +11750,7 @@ void Ifc4x3_rc4::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[614]); } -void Ifc4x3_rc4::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcLiquidTerminal Ifc4x3_rc4::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11758,7 +11758,7 @@ void Ifc4x3_rc4::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[615]); } -void Ifc4x3_rc4::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcLiquidTerminalType Ifc4x3_rc4::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } @@ -11766,13 +11766,13 @@ void Ifc4x3_rc4::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[618]); } -void Ifc4x3_rc4::IfcLocalPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_rc4::IfcLocalPlacement Ifc4x3_rc4::IfcLocalPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_rc4::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[621]); } -void Ifc4x3_rc4::IfcLoop::initialize() { } +Ifc4x3_rc4::IfcLoop Ifc4x3_rc4::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_rc4::IfcClosedShell Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcClosedShell>(); } @@ -11780,7 +11780,7 @@ void Ifc4x3_rc4::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_rc4::IfcClosedShe const ifcopenshell::entity& Ifc4x3_rc4::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[628]); } -void Ifc4x3_rc4::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_rc4::IfcManifoldSolidBrep Ifc4x3_rc4::IfcManifoldSolidBrep::initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_rc4::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11802,7 +11802,7 @@ void Ifc4x3_rc4::IfcMapConversion::setScaleZ(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[629]); } -void Ifc4x3_rc4::IfcMapConversion::initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); } } +Ifc4x3_rc4::IfcMapConversion Ifc4x3_rc4::IfcMapConversion::initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_rc4::IfcRepresentationMap Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcRepresentationMap>(); } @@ -11812,7 +11812,7 @@ void Ifc4x3_rc4::IfcMappedItem::setMappingTarget(const ::Ifc4x3_rc4::IfcCartesia const ifcopenshell::entity& Ifc4x3_rc4::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[630]); } -void Ifc4x3_rc4::IfcMappedItem::initialize(::Ifc4x3_rc4::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_rc4::IfcMappedItem Ifc4x3_rc4::IfcMappedItem::initialize(::Ifc4x3_rc4::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc4::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11820,7 +11820,7 @@ void Ifc4x3_rc4::IfcMarineFacility::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[631]); } -void Ifc4x3_rc4::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcMarineFacility Ifc4x3_rc4::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_rc4::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11835,7 +11835,7 @@ std::vector<::Ifc4x3_rc4::IfcMaterialRelationship> Ifc4x3_rc4::IfcMaterial::IsRe std::vector<::Ifc4x3_rc4::IfcMaterialRelationship> Ifc4x3_rc4::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[655], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[638]); } -void Ifc4x3_rc4::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcClassificationSelect>(es); } @@ -11845,7 +11845,7 @@ void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(co const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[639]); } -void Ifc4x3_rc4::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_rc4::IfcMaterialClassificationRelationship Ifc4x3_rc4::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11862,7 +11862,7 @@ void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(const std::optional< std::s std::vector<::Ifc4x3_rc4::IfcMaterialConstituentSet> Ifc4x3_rc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[641], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[640]); } -void Ifc4x3_rc4::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_rc4::IfcMaterialConstituent Ifc4x3_rc4::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11874,7 +11874,7 @@ void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[641]); } -void Ifc4x3_rc4::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_rc4::IfcMaterialConstituentSet Ifc4x3_rc4::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11883,7 +11883,7 @@ std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcMater std::vector<::Ifc4x3_rc4::IfcMaterialProperties> Ifc4x3_rc4::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[654], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[642]); } -void Ifc4x3_rc4::IfcMaterialDefinition::initialize() { } +Ifc4x3_rc4::IfcMaterialDefinition Ifc4x3_rc4::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMaterial>(); } @@ -11891,7 +11891,7 @@ void Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(con const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[643]); } -void Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations, ::Ifc4x3_rc4::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_rc4::IfcMaterialDefinitionRepresentation Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations, ::Ifc4x3_rc4::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc4::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcMaterial>(); } @@ -11912,7 +11912,7 @@ void Ifc4x3_rc4::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_rc4::IfcMaterialLayerSet> Ifc4x3_rc4::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[645], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[644]); } -void Ifc4x3_rc4::IfcMaterialLayer::initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_rc4::IfcMaterialLayer Ifc4x3_rc4::IfcMaterialLayer::initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcMaterialLayer>(es); } @@ -11924,7 +11924,7 @@ void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[645]); } -void Ifc4x3_rc4::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_rc4::IfcMaterialLayerSet Ifc4x3_rc4::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_rc4::IfcMaterialLayerSet Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcMaterialLayerSet>(); } @@ -11940,7 +11940,7 @@ void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[646]); } -void Ifc4x3_rc4::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_rc4::IfcMaterialLayerSetUsage Ifc4x3_rc4::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_rc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -11950,7 +11950,7 @@ void Ifc4x3_rc4::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[647]); } -void Ifc4x3_rc4::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_rc4::IfcMaterialLayerWithOffsets Ifc4x3_rc4::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_rc4::IfcMaterial > Ifc4x3_rc4::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcMaterial>(es); } @@ -11958,7 +11958,7 @@ void Ifc4x3_rc4::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[648]); } -void Ifc4x3_rc4::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc4::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_rc4::IfcMaterialList Ifc4x3_rc4::IfcMaterialList::initialize(std::vector< ::Ifc4x3_rc4::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11977,7 +11977,7 @@ void Ifc4x3_rc4::IfcMaterialProfile::setCategory(const std::optional< std::strin std::vector<::Ifc4x3_rc4::IfcMaterialProfileSet> Ifc4x3_rc4::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[650], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[649]); } -void Ifc4x3_rc4::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_rc4::IfcMaterialProfile Ifc4x3_rc4::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11991,7 +11991,7 @@ void Ifc4x3_rc4::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[650]); } -void Ifc4x3_rc4::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc4::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_rc4::IfcMaterialProfileSet Ifc4x3_rc4::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc4::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_rc4::IfcMaterialProfileSet Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcMaterialProfileSet>(); } @@ -12003,7 +12003,7 @@ void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optio const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[651]); } -void Ifc4x3_rc4::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_rc4::IfcMaterialProfileSetUsage Ifc4x3_rc4::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_rc4::IfcMaterialProfileSet Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMaterialProfileSet>(); } @@ -12013,7 +12013,7 @@ void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const s const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[652]); } -void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -12021,7 +12021,7 @@ void Ifc4x3_rc4::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vecto const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[653]); } -void Ifc4x3_rc4::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_rc4::IfcMaterialProfileWithOffsets Ifc4x3_rc4::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_rc4::IfcMaterialDefinition Ifc4x3_rc4::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcMaterialDefinition>(); } @@ -12029,7 +12029,7 @@ void Ifc4x3_rc4::IfcMaterialProperties::setMaterial(const ::Ifc4x3_rc4::IfcMater const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[654]); } -void Ifc4x3_rc4::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_rc4::IfcMaterialProperties Ifc4x3_rc4::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_rc4::IfcMaterial Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcMaterial>(); } @@ -12041,14 +12041,14 @@ void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(const std::optional< std const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[655]); } -void Ifc4x3_rc4::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc4::IfcMaterialRelationship Ifc4x3_rc4::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_rc4::IfcRelAssociatesMaterial> Ifc4x3_rc4::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[919], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[657]); } -void Ifc4x3_rc4::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_rc4::IfcMaterialUsageDefinition Ifc4x3_rc4::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcValue>(); } @@ -12058,7 +12058,7 @@ void Ifc4x3_rc4::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_rc4::IfcUni const ifcopenshell::entity& Ifc4x3_rc4::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[659]); } -void Ifc4x3_rc4::IfcMeasureWithUnit::initialize(::Ifc4x3_rc4::IfcValue v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_rc4::IfcMeasureWithUnit Ifc4x3_rc4::IfcMeasureWithUnit::initialize(::Ifc4x3_rc4::IfcValue v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -12070,7 +12070,7 @@ void Ifc4x3_rc4::IfcMechanicalFastener::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc4::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[660]); } -void Ifc4x3_rc4::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcMechanicalFastener Ifc4x3_rc4::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -12082,7 +12082,7 @@ void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalLength(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[661]); } -void Ifc4x3_rc4::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_rc4::IfcMechanicalFastenerType Ifc4x3_rc4::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12090,7 +12090,7 @@ void Ifc4x3_rc4::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[663]); } -void Ifc4x3_rc4::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcMedicalDevice Ifc4x3_rc4::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12098,7 +12098,7 @@ void Ifc4x3_rc4::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[664]); } -void Ifc4x3_rc4::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcMedicalDeviceType Ifc4x3_rc4::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > Ifc4x3_rc4::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12106,13 +12106,13 @@ void Ifc4x3_rc4::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[666]); } -void Ifc4x3_rc4::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcMember Ifc4x3_rc4::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcMemberStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[667]); } -void Ifc4x3_rc4::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcMemberStandardCase Ifc4x3_rc4::IfcMemberStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12120,7 +12120,7 @@ void Ifc4x3_rc4::IfcMemberType::setPredefinedType(const ::Ifc4x3_rc4::IfcMemberT const ifcopenshell::entity& Ifc4x3_rc4::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[668]); } -void Ifc4x3_rc4::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcMemberType Ifc4x3_rc4::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcMetric::Benchmark() const { return ::Ifc4x3_rc4::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12134,13 +12134,13 @@ void Ifc4x3_rc4::IfcMetric::setReferencePath(const ::Ifc4x3_rc4::IfcReference& v const ifcopenshell::entity& Ifc4x3_rc4::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[670]); } -void Ifc4x3_rc4::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc4::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc4::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_rc4::IfcMetric Ifc4x3_rc4::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc4::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc4::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_rc4::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[672]); } -void Ifc4x3_rc4::IfcMirroredProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_rc4::IfcMirroredProfileDef Ifc4x3_rc4::IfcMirroredProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12148,7 +12148,7 @@ void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::setPredefinedType(const s const ifcopenshell::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[673]); } -void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12156,7 +12156,7 @@ void Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[674]); } -void Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_rc4::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12164,7 +12164,7 @@ void Ifc4x3_rc4::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x3_rc4::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[687]); } -void Ifc4x3_rc4::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_rc4::IfcMonetaryUnit Ifc4x3_rc4::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12172,7 +12172,7 @@ void Ifc4x3_rc4::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[689]); } -void Ifc4x3_rc4::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcMooringDevice Ifc4x3_rc4::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12180,7 +12180,7 @@ void Ifc4x3_rc4::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[690]); } -void Ifc4x3_rc4::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcMooringDeviceType Ifc4x3_rc4::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc4::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12188,7 +12188,7 @@ void Ifc4x3_rc4::IfcMotorConnection::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[692]); } -void Ifc4x3_rc4::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcMotorConnection Ifc4x3_rc4::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12196,7 +12196,7 @@ void Ifc4x3_rc4::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[693]); } -void Ifc4x3_rc4::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcMotorConnectionType Ifc4x3_rc4::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_rc4::IfcDimensionalExponents Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcDimensionalExponents>(); } @@ -12206,7 +12206,7 @@ void Ifc4x3_rc4::IfcNamedUnit::setUnitType(const ::Ifc4x3_rc4::IfcUnitEnum::Valu const ifcopenshell::entity& Ifc4x3_rc4::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[695]); } -void Ifc4x3_rc4::IfcNamedUnit::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_rc4::IfcNamedUnit Ifc4x3_rc4::IfcNamedUnit::initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc4::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12214,7 +12214,7 @@ void Ifc4x3_rc4::IfcNavigationElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[696]); } -void Ifc4x3_rc4::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcNavigationElement Ifc4x3_rc4::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12222,7 +12222,7 @@ void Ifc4x3_rc4::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[697]); } -void Ifc4x3_rc4::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcNavigationElementType Ifc4x3_rc4::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_rc4::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12234,7 +12234,7 @@ std::vector<::Ifc4x3_rc4::IfcRelDefinesByType> Ifc4x3_rc4::IfcObject::IsTypedBy( std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[938], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[702]); } -void Ifc4x3_rc4::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc4::IfcObject Ifc4x3_rc4::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12247,7 +12247,7 @@ std::vector<::Ifc4x3_rc4::IfcRelAggregates> Ifc4x3_rc4::IfcObjectDefinition::Dec std::vector<::Ifc4x3_rc4::IfcRelAssociates> Ifc4x3_rc4::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[913], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[703]); } -void Ifc4x3_rc4::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcObjectDefinition Ifc4x3_rc4::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_rc4::IfcObjectPlacement Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc4::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcObjectPlacement>(); } @@ -12256,7 +12256,7 @@ void Ifc4x3_rc4::IfcObjectPlacement::setPlacementRelTo(const ::Ifc4x3_rc4::IfcOb std::vector<::Ifc4x3_rc4::IfcProduct> Ifc4x3_rc4::IfcObjectPlacement::PlacesObject() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[806], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[706]); } -void Ifc4x3_rc4::IfcObjectPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_rc4::IfcObjectPlacement Ifc4x3_rc4::IfcObjectPlacement::initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > > Ifc4x3_rc4::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcConstraint>(es); } @@ -12270,7 +12270,7 @@ void Ifc4x3_rc4::IfcObjective::setUserDefinedQualifier(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc4::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[704]); } -void Ifc4x3_rc4::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_rc4::IfcObjective Ifc4x3_rc4::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > Ifc4x3_rc4::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12278,7 +12278,7 @@ void Ifc4x3_rc4::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[709]); } -void Ifc4x3_rc4::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_rc4::IfcOccupant Ifc4x3_rc4::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -12286,7 +12286,7 @@ void Ifc4x3_rc4::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[711]); } -void Ifc4x3_rc4::IfcOffsetCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_rc4::IfcOffsetCurve Ifc4x3_rc4::IfcOffsetCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_rc4::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12296,7 +12296,7 @@ void Ifc4x3_rc4::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_rc4::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[712]); } -void Ifc4x3_rc4::IfcOffsetCurve2D::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_rc4::IfcOffsetCurve2D Ifc4x3_rc4::IfcOffsetCurve2D::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12308,7 +12308,7 @@ void Ifc4x3_rc4::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_rc4::IfcDirect const ifcopenshell::entity& Ifc4x3_rc4::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[713]); } -void Ifc4x3_rc4::IfcOffsetCurve3D::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_rc4::IfcOffsetCurve3D Ifc4x3_rc4::IfcOffsetCurve3D::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcPointByDistanceExpression>(es); } @@ -12318,7 +12318,7 @@ void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[714]); } -void Ifc4x3_rc4::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_rc4::IfcOffsetCurveByDistances Ifc4x3_rc4::IfcOffsetCurveByDistances::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_rc4::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12332,13 +12332,13 @@ void Ifc4x3_rc4::IfcOpenCrossProfileDef::setTags(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc4::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[715]); } -void Ifc4x3_rc4::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); } } +Ifc4x3_rc4::IfcOpenCrossProfileDef Ifc4x3_rc4::IfcOpenCrossProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_rc4::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[719]); } -void Ifc4x3_rc4::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_rc4::IfcOpenShell Ifc4x3_rc4::IfcOpenShell::initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc4::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12347,13 +12347,13 @@ void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_rc4::IfcRelFillsElement> Ifc4x3_rc4::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[941], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[716]); } -void Ifc4x3_rc4::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcOpeningElement Ifc4x3_rc4::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOpeningStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcOpeningStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[718]); } -void Ifc4x3_rc4::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcOpeningStandardCase Ifc4x3_rc4::IfcOpeningStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_rc4::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12372,7 +12372,7 @@ std::vector<::Ifc4x3_rc4::IfcOrganizationRelationship> Ifc4x3_rc4::IfcOrganizati std::vector<::Ifc4x3_rc4::IfcPersonAndOrganization> Ifc4x3_rc4::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[742], 1)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[720]); } -void Ifc4x3_rc4::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_rc4::IfcOrganization Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcOrganization>(); } @@ -12382,7 +12382,7 @@ void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatedOrganizations(const std: const ifcopenshell::entity& Ifc4x3_rc4::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[721]); } -void Ifc4x3_rc4::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc4::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_rc4::IfcOrganizationRelationship Ifc4x3_rc4::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc4::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_rc4::IfcEdge Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcEdge>(); } @@ -12392,13 +12392,13 @@ void Ifc4x3_rc4::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc4::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[722]); } -void Ifc4x3_rc4::IfcOrientedEdge::initialize(::Ifc4x3_rc4::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_rc4::IfcOrientedEdge Ifc4x3_rc4::IfcOrientedEdge::initialize(::Ifc4x3_rc4::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_rc4::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[723]); } -void Ifc4x3_rc4::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_rc4::IfcOuterBoundaryCurve Ifc4x3_rc4::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > Ifc4x3_rc4::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12406,7 +12406,7 @@ void Ifc4x3_rc4::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[724]); } -void Ifc4x3_rc4::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcOutlet Ifc4x3_rc4::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12414,7 +12414,7 @@ void Ifc4x3_rc4::IfcOutletType::setPredefinedType(const ::Ifc4x3_rc4::IfcOutletT const ifcopenshell::entity& Ifc4x3_rc4::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[725]); } -void Ifc4x3_rc4::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcOutletType Ifc4x3_rc4::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_rc4::IfcPersonAndOrganization Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPersonAndOrganization>(); } @@ -12436,7 +12436,7 @@ void Ifc4x3_rc4::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_rc4::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[727]); } -void Ifc4x3_rc4::IfcOwnerHistory::initialize(::Ifc4x3_rc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_rc4::IfcOwnerHistory Ifc4x3_rc4::IfcOwnerHistory::initialize(::Ifc4x3_rc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_rc4::IfcAxis2Placement2D Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement2D>(); } @@ -12444,7 +12444,7 @@ void Ifc4x3_rc4::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[728]); } -void Ifc4x3_rc4::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_rc4::IfcParameterizedProfileDef Ifc4x3_rc4::IfcParameterizedProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > Ifc4x3_rc4::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcOrientedEdge>(es); } @@ -12452,7 +12452,7 @@ void Ifc4x3_rc4::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrient const ifcopenshell::entity& Ifc4x3_rc4::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[730]); } -void Ifc4x3_rc4::IfcPath::initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_rc4::IfcPath Ifc4x3_rc4::IfcPath::initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > Ifc4x3_rc4::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } @@ -12460,7 +12460,7 @@ void Ifc4x3_rc4::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[731]); } -void Ifc4x3_rc4::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPavement Ifc4x3_rc4::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPavementType ::Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } @@ -12468,7 +12468,7 @@ void Ifc4x3_rc4::IfcPavementType::setPredefinedType(const ::Ifc4x3_rc4::IfcPavem const ifcopenshell::entity& Ifc4x3_rc4::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[732]); } -void Ifc4x3_rc4::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcPavementType Ifc4x3_rc4::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -12478,7 +12478,7 @@ void Ifc4x3_rc4::IfcPcurve::setReferenceCurve(const ::Ifc4x3_rc4::IfcCurve& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[734]); } -void Ifc4x3_rc4::IfcPcurve::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_rc4::IfcPcurve Ifc4x3_rc4::IfcPcurve::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_rc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12488,7 +12488,7 @@ void Ifc4x3_rc4::IfcPerformanceHistory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_rc4::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[735]); } -void Ifc4x3_rc4::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc4::IfcPerformanceHistory Ifc4x3_rc4::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12504,7 +12504,7 @@ void Ifc4x3_rc4::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[738]); } -void Ifc4x3_rc4::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc4::IfcPermeableCoveringProperties Ifc4x3_rc4::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > Ifc4x3_rc4::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12516,7 +12516,7 @@ void Ifc4x3_rc4::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[739]); } -void Ifc4x3_rc4::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc4::IfcPermit Ifc4x3_rc4::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_rc4::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12539,7 +12539,7 @@ void Ifc4x3_rc4::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc std::vector<::Ifc4x3_rc4::IfcPersonAndOrganization> Ifc4x3_rc4::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[742], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[741]); } -void Ifc4x3_rc4::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_rc4::IfcPerson Ifc4x3_rc4::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_rc4::IfcPerson Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPerson>(); } @@ -12551,7 +12551,7 @@ void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc4::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[742]); } -void Ifc4x3_rc4::IfcPersonAndOrganization::initialize(::Ifc4x3_rc4::IfcPerson v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_rc4::IfcPersonAndOrganization Ifc4x3_rc4::IfcPersonAndOrganization::initialize(::Ifc4x3_rc4::IfcPerson v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > Ifc4x3_rc4::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcPhysicalQuantity>(es); } @@ -12565,7 +12565,7 @@ void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setUsage(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[744]); } -void Ifc4x3_rc4::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_rc4::IfcPhysicalComplexQuantity Ifc4x3_rc4::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_rc4::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12577,7 +12577,7 @@ std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcPhysi std::vector<::Ifc4x3_rc4::IfcPhysicalComplexQuantity> Ifc4x3_rc4::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[744], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[746]); } -void Ifc4x3_rc4::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc4::IfcPhysicalQuantity Ifc4x3_rc4::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_rc4::IfcNamedUnit Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcNamedUnit>(); } @@ -12585,7 +12585,7 @@ void Ifc4x3_rc4::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_rc4::IfcNamed const ifcopenshell::entity& Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[747]); } -void Ifc4x3_rc4::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc4::IfcPhysicalSimpleQuantity Ifc4x3_rc4::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > Ifc4x3_rc4::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12595,7 +12595,7 @@ void Ifc4x3_rc4::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[748]); } -void Ifc4x3_rc4::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_rc4::IfcPile Ifc4x3_rc4::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12603,7 +12603,7 @@ void Ifc4x3_rc4::IfcPileType::setPredefinedType(const ::Ifc4x3_rc4::IfcPileTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[750]); } -void Ifc4x3_rc4::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcPileType Ifc4x3_rc4::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc4::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12611,7 +12611,7 @@ void Ifc4x3_rc4::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[752]); } -void Ifc4x3_rc4::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPipeFitting Ifc4x3_rc4::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12619,7 +12619,7 @@ void Ifc4x3_rc4::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_rc4::IfcPi const ifcopenshell::entity& Ifc4x3_rc4::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[753]); } -void Ifc4x3_rc4::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcPipeFittingType Ifc4x3_rc4::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc4::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12627,7 +12627,7 @@ void Ifc4x3_rc4::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[755]); } -void Ifc4x3_rc4::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPipeSegment Ifc4x3_rc4::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12635,7 +12635,7 @@ void Ifc4x3_rc4::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_rc4::IfcPi const ifcopenshell::entity& Ifc4x3_rc4::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[756]); } -void Ifc4x3_rc4::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcPipeSegmentType Ifc4x3_rc4::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_rc4::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12649,7 +12649,7 @@ void Ifc4x3_rc4::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bit const ifcopenshell::entity& Ifc4x3_rc4::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[758]); } -void Ifc4x3_rc4::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_rc4::IfcPixelTexture Ifc4x3_rc4::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_rc4::IfcPoint Ifc4x3_rc4::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPoint>(); } @@ -12657,7 +12657,7 @@ void Ifc4x3_rc4::IfcPlacement::setLocation(const ::Ifc4x3_rc4::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x3_rc4::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[759]); } -void Ifc4x3_rc4::IfcPlacement::initialize(::Ifc4x3_rc4::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcPlacement::initialize(::Ifc4x3_rc4::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } @@ -12665,7 +12665,7 @@ void Ifc4x3_rc4::IfcPlanarBox::setPlacement(const ::Ifc4x3_rc4::IfcAxis2Placemen const ifcopenshell::entity& Ifc4x3_rc4::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[760]); } -void Ifc4x3_rc4::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_rc4::IfcPlanarBox Ifc4x3_rc4::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_rc4::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12675,19 +12675,19 @@ void Ifc4x3_rc4::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_rc4::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[761]); } -void Ifc4x3_rc4::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_rc4::IfcPlanarExtent Ifc4x3_rc4::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_rc4::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[763]); } -void Ifc4x3_rc4::IfcPlane::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc4::IfcPlane Ifc4x3_rc4::IfcPlane::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlant const ifcopenshell::entity& Ifc4x3_rc4::IfcPlant::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[765]); } -void Ifc4x3_rc4::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPlant Ifc4x3_rc4::IfcPlant::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > Ifc4x3_rc4::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12695,13 +12695,13 @@ void Ifc4x3_rc4::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[766]); } -void Ifc4x3_rc4::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPlate Ifc4x3_rc4::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcPlateStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[767]); } -void Ifc4x3_rc4::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPlateStandardCase Ifc4x3_rc4::IfcPlateStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12709,13 +12709,13 @@ void Ifc4x3_rc4::IfcPlateType::setPredefinedType(const ::Ifc4x3_rc4::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[768]); } -void Ifc4x3_rc4::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcPlateType Ifc4x3_rc4::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_rc4::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[770]); } -void Ifc4x3_rc4::IfcPoint::initialize() { } +Ifc4x3_rc4::IfcPoint Ifc4x3_rc4::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3_rc4::IfcCurveMeasureSelect Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(); } @@ -12731,7 +12731,7 @@ void Ifc4x3_rc4::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[771]); } -void Ifc4x3_rc4::IfcPointByDistanceExpression::initialize(::Ifc4x3_rc4::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc4::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3_rc4::IfcPointByDistanceExpression Ifc4x3_rc4::IfcPointByDistanceExpression::initialize(::Ifc4x3_rc4::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc4::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -12741,7 +12741,7 @@ void Ifc4x3_rc4::IfcPointOnCurve::setPointParameter(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc4::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[772]); } -void Ifc4x3_rc4::IfcPointOnCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_rc4::IfcPointOnCurve Ifc4x3_rc4::IfcPointOnCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -12753,7 +12753,7 @@ void Ifc4x3_rc4::IfcPointOnSurface::setPointParameterV(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[773]); } -void Ifc4x3_rc4::IfcPointOnSurface::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_rc4::IfcPointOnSurface Ifc4x3_rc4::IfcPointOnSurface::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Ifc4x3_rc4::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } @@ -12761,7 +12761,7 @@ void Ifc4x3_rc4::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_rc4::IfcCar const ifcopenshell::entity& Ifc4x3_rc4::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[778]); } -void Ifc4x3_rc4::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_rc4::IfcPolyLoop Ifc4x3_rc4::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } @@ -12771,7 +12771,7 @@ void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[775]); } -void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_rc4::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12783,7 +12783,7 @@ void Ifc4x3_rc4::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[776]); } -void Ifc4x3_rc4::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_rc4::IfcPolygonalFaceSet Ifc4x3_rc4::IfcPolygonalFaceSet::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Ifc4x3_rc4::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcCartesianPoint>(es); } @@ -12791,7 +12791,7 @@ void Ifc4x3_rc4::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_rc4::IfcCart const ifcopenshell::entity& Ifc4x3_rc4::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[777]); } -void Ifc4x3_rc4::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_rc4::IfcPolyline Ifc4x3_rc4::IfcPolyline::initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPolynomialCurve ::Ifc4x3_rc4::IfcPlacement Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPlacement>(); } @@ -12805,7 +12805,7 @@ void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[779]); } -void Ifc4x3_rc4::IfcPolynomialCurve::initialize(::Ifc4x3_rc4::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); } } +Ifc4x3_rc4::IfcPolynomialCurve Ifc4x3_rc4::IfcPolynomialCurve::initialize(::Ifc4x3_rc4::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; return *this; } // Function implementations for IfcPort @@ -12814,7 +12814,7 @@ std::vector<::Ifc4x3_rc4::IfcRelConnectsPorts> Ifc4x3_rc4::IfcPort::ConnectedFro std::vector<::Ifc4x3_rc4::IfcRelConnectsPorts> Ifc4x3_rc4::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[925], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[780]); } -void Ifc4x3_rc4::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12822,7 +12822,7 @@ std::vector<::Ifc4x3_rc4::IfcRelContainedInSpatialStructure> Ifc4x3_rc4::IfcPosi std::vector<::Ifc4x3_rc4::IfcRelPositions> Ifc4x3_rc4::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[945], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[781]); } -void Ifc4x3_rc4::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcPositioningElement Ifc4x3_rc4::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12842,19 +12842,19 @@ void Ifc4x3_rc4::IfcPostalAddress::setCountry(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc4::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[786]); } -void Ifc4x3_rc4::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_rc4::IfcPostalAddress Ifc4x3_rc4::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_rc4::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[788]); } -void Ifc4x3_rc4::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc4::IfcPreDefinedColour Ifc4x3_rc4::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_rc4::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[789]); } -void Ifc4x3_rc4::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc4::IfcPreDefinedCurveFont Ifc4x3_rc4::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_rc4::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12862,31 +12862,31 @@ void Ifc4x3_rc4::IfcPreDefinedItem::setName(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc4::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[790]); } -void Ifc4x3_rc4::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc4::IfcPreDefinedItem Ifc4x3_rc4::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_rc4::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[791]); } -void Ifc4x3_rc4::IfcPreDefinedProperties::initialize() { } +Ifc4x3_rc4::IfcPreDefinedProperties Ifc4x3_rc4::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_rc4::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[792]); } -void Ifc4x3_rc4::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcPreDefinedPropertySet Ifc4x3_rc4::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_rc4::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[793]); } -void Ifc4x3_rc4::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_rc4::IfcPreDefinedTextFont Ifc4x3_rc4::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_rc4::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[796]); } -void Ifc4x3_rc4::IfcPresentationItem::initialize() { } +Ifc4x3_rc4::IfcPresentationItem Ifc4x3_rc4::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12900,7 +12900,7 @@ void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(const std::option const ifcopenshell::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[797]); } -void Ifc4x3_rc4::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_rc4::IfcPresentationLayerAssignment Ifc4x3_rc4::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12914,7 +12914,7 @@ void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector const ifcopenshell::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[798]); } -void Ifc4x3_rc4::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_rc4::IfcPresentationLayerWithStyle Ifc4x3_rc4::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12922,7 +12922,7 @@ void Ifc4x3_rc4::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[799]); } -void Ifc4x3_rc4::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcPresentationStyle Ifc4x3_rc4::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > Ifc4x3_rc4::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12930,7 +12930,7 @@ void Ifc4x3_rc4::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[801]); } -void Ifc4x3_rc4::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_rc4::IfcProcedure Ifc4x3_rc4::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12938,7 +12938,7 @@ void Ifc4x3_rc4::IfcProcedureType::setPredefinedType(const ::Ifc4x3_rc4::IfcProc const ifcopenshell::entity& Ifc4x3_rc4::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[802]); } -void Ifc4x3_rc4::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcProcedureType Ifc4x3_rc4::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_rc4::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12951,7 +12951,7 @@ std::vector<::Ifc4x3_rc4::IfcRelSequence> Ifc4x3_rc4::IfcProcess::IsSuccessorFro std::vector<::Ifc4x3_rc4::IfcRelAssignsToProcess> Ifc4x3_rc4::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[910], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[804]); } -void Ifc4x3_rc4::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc4::IfcProcess Ifc4x3_rc4::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_rc4::IfcObjectPlacement Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_rc4::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcObjectPlacement>(); } @@ -12964,7 +12964,7 @@ std::vector<::Ifc4x3_rc4::IfcRelPositions> Ifc4x3_rc4::IfcProduct::PositionedRel std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[947], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[806]); } -void Ifc4x3_rc4::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcProduct Ifc4x3_rc4::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -12972,7 +12972,7 @@ std::vector<::Ifc4x3_rc4::IfcProduct> Ifc4x3_rc4::IfcProductDefinitionShape::Sha std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1009], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[807]); } -void Ifc4x3_rc4::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc4::IfcProductDefinitionShape Ifc4x3_rc4::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12984,7 +12984,7 @@ void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(const std::vector< const ifcopenshell::entity& Ifc4x3_rc4::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[808]); } -void Ifc4x3_rc4::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_rc4::IfcProductRepresentation Ifc4x3_rc4::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc4::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -12996,7 +12996,7 @@ std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcProfi std::vector<::Ifc4x3_rc4::IfcProfileProperties> Ifc4x3_rc4::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[812], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[811]); } -void Ifc4x3_rc4::IfcProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -13004,19 +13004,19 @@ void Ifc4x3_rc4::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[812]); } -void Ifc4x3_rc4::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_rc4::IfcProfileProperties Ifc4x3_rc4::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_rc4::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[814]); } -void Ifc4x3_rc4::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc4::IfcProject Ifc4x3_rc4::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_rc4::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[819]); } -void Ifc4x3_rc4::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_rc4::IfcProjectLibrary Ifc4x3_rc4::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc4::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -13028,7 +13028,7 @@ void Ifc4x3_rc4::IfcProjectOrder::setLongDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_rc4::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[820]); } -void Ifc4x3_rc4::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_rc4::IfcProjectOrder Ifc4x3_rc4::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13040,7 +13040,7 @@ void Ifc4x3_rc4::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_rc4::IfcNamedUnit& v const ifcopenshell::entity& Ifc4x3_rc4::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[815]); } -void Ifc4x3_rc4::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc4::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_rc4::IfcProjectedCRS Ifc4x3_rc4::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc4::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc4::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -13048,7 +13048,7 @@ void Ifc4x3_rc4::IfcProjectionElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[817]); } -void Ifc4x3_rc4::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcProjectionElement Ifc4x3_rc4::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_rc4::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13064,14 +13064,14 @@ std::vector<::Ifc4x3_rc4::IfcResourceConstraintRelationship> Ifc4x3_rc4::IfcProp std::vector<::Ifc4x3_rc4::IfcResourceApprovalRelationship> Ifc4x3_rc4::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[960], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[822]); } -void Ifc4x3_rc4::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc4::IfcProperty Ifc4x3_rc4::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[823]); } -void Ifc4x3_rc4::IfcPropertyAbstraction::initialize() { } +Ifc4x3_rc4::IfcPropertyAbstraction Ifc4x3_rc4::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcValue>(); } @@ -13085,7 +13085,7 @@ void Ifc4x3_rc4::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[824]); } -void Ifc4x3_rc4::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc4::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc4::IfcUnit v5_Unit, ::Ifc4x3_rc4::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_rc4::IfcPropertyBoundedValue Ifc4x3_rc4::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc4::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc4::IfcUnit v5_Unit, ::Ifc4x3_rc4::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -13093,7 +13093,7 @@ std::vector<::Ifc4x3_rc4::IfcRelDeclares> Ifc4x3_rc4::IfcPropertyDefinition::Has std::vector<::Ifc4x3_rc4::IfcRelAssociates> Ifc4x3_rc4::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[913], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[825]); } -void Ifc4x3_rc4::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcPropertyDefinition Ifc4x3_rc4::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_rc4::IfcProperty Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcProperty>(); } @@ -13105,7 +13105,7 @@ void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[826]); } -void Ifc4x3_rc4::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_rc4::IfcPropertyDependencyRelationship Ifc4x3_rc4::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } @@ -13115,7 +13115,7 @@ void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[827]); } -void Ifc4x3_rc4::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_rc4::IfcPropertyEnumeratedValue Ifc4x3_rc4::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13127,7 +13127,7 @@ void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[828]); } -void Ifc4x3_rc4::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc4::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_rc4::IfcPropertyEnumeration Ifc4x3_rc4::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc4::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } @@ -13137,7 +13137,7 @@ void Ifc4x3_rc4::IfcPropertyListValue::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[829]); } -void Ifc4x3_rc4::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_ListValues, ::Ifc4x3_rc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc4::IfcPropertyListValue Ifc4x3_rc4::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_ListValues, ::Ifc4x3_rc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13147,7 +13147,7 @@ void Ifc4x3_rc4::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[830]); } -void Ifc4x3_rc4::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc4::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_rc4::IfcPropertyReferenceValue Ifc4x3_rc4::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc4::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_rc4::IfcProperty > Ifc4x3_rc4::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcProperty>(es); } @@ -13155,7 +13155,7 @@ void Ifc4x3_rc4::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[831]); } -void Ifc4x3_rc4::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_rc4::IfcPropertySet Ifc4x3_rc4::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13164,7 +13164,7 @@ std::vector<::Ifc4x3_rc4::IfcRelDefinesByTemplate> Ifc4x3_rc4::IfcPropertySetDef std::vector<::Ifc4x3_rc4::IfcRelDefinesByProperties> Ifc4x3_rc4::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[938], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[832]); } -void Ifc4x3_rc4::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcPropertySetDefinition Ifc4x3_rc4::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc4::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13177,7 +13177,7 @@ void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vect std::vector<::Ifc4x3_rc4::IfcRelDefinesByTemplate> Ifc4x3_rc4::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[939], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[835]); } -void Ifc4x3_rc4::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_rc4::IfcPropertySetTemplate Ifc4x3_rc4::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_rc4::IfcValue Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcValue>(); } @@ -13187,7 +13187,7 @@ void Ifc4x3_rc4::IfcPropertySingleValue::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[837]); } -void Ifc4x3_rc4::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_NominalValue, ::Ifc4x3_rc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_rc4::IfcPropertySingleValue Ifc4x3_rc4::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_NominalValue, ::Ifc4x3_rc4::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } @@ -13205,7 +13205,7 @@ void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[838]); } -void Ifc4x3_rc4::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_rc4::IfcPropertyTableValue Ifc4x3_rc4::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13213,13 +13213,13 @@ std::vector<::Ifc4x3_rc4::IfcComplexPropertyTemplate> Ifc4x3_rc4::IfcPropertyTem std::vector<::Ifc4x3_rc4::IfcPropertySetTemplate> Ifc4x3_rc4::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[835], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[839]); } -void Ifc4x3_rc4::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcPropertyTemplate Ifc4x3_rc4::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_rc4::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[840]); } -void Ifc4x3_rc4::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcPropertyTemplateDefinition Ifc4x3_rc4::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13227,7 +13227,7 @@ void Ifc4x3_rc4::IfcProtectiveDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[841]); } -void Ifc4x3_rc4::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcProtectiveDevice Ifc4x3_rc4::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13235,7 +13235,7 @@ void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[842]); } -void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13243,7 +13243,7 @@ void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[843]); } -void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13251,7 +13251,7 @@ void Ifc4x3_rc4::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[845]); } -void Ifc4x3_rc4::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcProtectiveDeviceType Ifc4x3_rc4::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProxy ::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcProxy::ProxyType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } @@ -13261,7 +13261,7 @@ void Ifc4x3_rc4::IfcProxy::setTag(const std::optional< std::string >& v) { if (v const ifcopenshell::entity& Ifc4x3_rc4::IfcProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[847]); } -void Ifc4x3_rc4::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); } } +Ifc4x3_rc4::IfcProxy Ifc4x3_rc4::IfcProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > Ifc4x3_rc4::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13269,7 +13269,7 @@ void Ifc4x3_rc4::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[848]); } -void Ifc4x3_rc4::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcPump Ifc4x3_rc4::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13277,7 +13277,7 @@ void Ifc4x3_rc4::IfcPumpType::setPredefinedType(const ::Ifc4x3_rc4::IfcPumpTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[849]); } -void Ifc4x3_rc4::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcPumpType Ifc4x3_rc4::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_rc4::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13287,7 +13287,7 @@ void Ifc4x3_rc4::IfcQuantityArea::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[851]); } -void Ifc4x3_rc4::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc4::IfcQuantityArea Ifc4x3_rc4::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount double Ifc4x3_rc4::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } @@ -13297,7 +13297,7 @@ void Ifc4x3_rc4::IfcQuantityCount::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[852]); } -void Ifc4x3_rc4::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc4::IfcQuantityCount Ifc4x3_rc4::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_rc4::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13307,13 +13307,13 @@ void Ifc4x3_rc4::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[853]); } -void Ifc4x3_rc4::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc4::IfcQuantityLength Ifc4x3_rc4::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[854]); } -void Ifc4x3_rc4::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcQuantitySet Ifc4x3_rc4::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_rc4::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13323,7 +13323,7 @@ void Ifc4x3_rc4::IfcQuantityTime::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[855]); } -void Ifc4x3_rc4::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc4::IfcQuantityTime Ifc4x3_rc4::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_rc4::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13333,7 +13333,7 @@ void Ifc4x3_rc4::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[856]); } -void Ifc4x3_rc4::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc4::IfcQuantityVolume Ifc4x3_rc4::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_rc4::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13343,7 +13343,7 @@ void Ifc4x3_rc4::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[857]); } -void Ifc4x3_rc4::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_rc4::IfcQuantityWeight Ifc4x3_rc4::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > Ifc4x3_rc4::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13351,7 +13351,7 @@ void Ifc4x3_rc4::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[859]); } -void Ifc4x3_rc4::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcRail Ifc4x3_rc4::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13359,7 +13359,7 @@ void Ifc4x3_rc4::IfcRailType::setPredefinedType(const ::Ifc4x3_rc4::IfcRailTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[863]); } -void Ifc4x3_rc4::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcRailType Ifc4x3_rc4::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > Ifc4x3_rc4::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13367,7 +13367,7 @@ void Ifc4x3_rc4::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[860]); } -void Ifc4x3_rc4::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcRailing Ifc4x3_rc4::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13375,7 +13375,7 @@ void Ifc4x3_rc4::IfcRailingType::setPredefinedType(const ::Ifc4x3_rc4::IfcRailin const ifcopenshell::entity& Ifc4x3_rc4::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[861]); } -void Ifc4x3_rc4::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcRailingType Ifc4x3_rc4::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > Ifc4x3_rc4::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } @@ -13383,7 +13383,7 @@ void Ifc4x3_rc4::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[865]); } -void Ifc4x3_rc4::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcRailway Ifc4x3_rc4::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > Ifc4x3_rc4::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13391,7 +13391,7 @@ void Ifc4x3_rc4::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[868]); } -void Ifc4x3_rc4::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcRamp Ifc4x3_rc4::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > Ifc4x3_rc4::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13399,7 +13399,7 @@ void Ifc4x3_rc4::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[869]); } -void Ifc4x3_rc4::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcRampFlight Ifc4x3_rc4::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13407,7 +13407,7 @@ void Ifc4x3_rc4::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_rc4::IfcRam const ifcopenshell::entity& Ifc4x3_rc4::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[870]); } -void Ifc4x3_rc4::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcRampFlightType Ifc4x3_rc4::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13415,7 +13415,7 @@ void Ifc4x3_rc4::IfcRampType::setPredefinedType(const ::Ifc4x3_rc4::IfcRampTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[872]); } -void Ifc4x3_rc4::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcRampType Ifc4x3_rc4::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13423,7 +13423,7 @@ void Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vec const ifcopenshell::entity& Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[875]); } -void Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13431,7 +13431,7 @@ void Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::v const ifcopenshell::entity& Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[876]); } -void Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_rc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13443,7 +13443,7 @@ void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[878]); } -void Ifc4x3_rc4::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_rc4::IfcRectangleHollowProfileDef Ifc4x3_rc4::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_rc4::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13453,7 +13453,7 @@ void Ifc4x3_rc4::IfcRectangleProfileDef::setYDim(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_rc4::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[879]); } -void Ifc4x3_rc4::IfcRectangleProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_rc4::IfcRectangleProfileDef Ifc4x3_rc4::IfcRectangleProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_rc4::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13465,7 +13465,7 @@ void Ifc4x3_rc4::IfcRectangularPyramid::setHeight(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_rc4::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[880]); } -void Ifc4x3_rc4::IfcRectangularPyramid::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_rc4::IfcRectangularPyramid Ifc4x3_rc4::IfcRectangularPyramid::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -13485,7 +13485,7 @@ void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[881]); } -void Ifc4x3_rc4::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_rc4::IfcRectangularTrimmedSurface Ifc4x3_rc4::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13507,7 +13507,7 @@ void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[882]); } -void Ifc4x3_rc4::IfcRecurrencePattern::initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_rc4::IfcRecurrencePattern Ifc4x3_rc4::IfcRecurrencePattern::initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_rc4::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13523,7 +13523,7 @@ void Ifc4x3_rc4::IfcReference::setInnerReference(const ::Ifc4x3_rc4::IfcReferenc const ifcopenshell::entity& Ifc4x3_rc4::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[884]); } -void Ifc4x3_rc4::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc4::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_rc4::IfcReference Ifc4x3_rc4::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc4::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > Ifc4x3_rc4::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13533,7 +13533,7 @@ void Ifc4x3_rc4::IfcReferent::setRestartDistance(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc4::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[885]); } -void Ifc4x3_rc4::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); } } +Ifc4x3_rc4::IfcReferent Ifc4x3_rc4::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_rc4::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13543,7 +13543,7 @@ void Ifc4x3_rc4::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[888]); } -void Ifc4x3_rc4::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_rc4::IfcRegularTimeSeries Ifc4x3_rc4::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc4::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13551,7 +13551,7 @@ void Ifc4x3_rc4::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[889]); } -void Ifc4x3_rc4::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcReinforcedSoil Ifc4x3_rc4::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_rc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13569,7 +13569,7 @@ void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarCount(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[891]); } -void Ifc4x3_rc4::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_rc4::IfcReinforcementBarProperties Ifc4x3_rc4::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13579,7 +13579,7 @@ void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDe const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[892]); } -void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_rc4::IfcReinforcementDefinitionProperties Ifc4x3_rc4::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_rc4::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13595,7 +13595,7 @@ void Ifc4x3_rc4::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[893]); } -void Ifc4x3_rc4::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_rc4::IfcReinforcingBar Ifc4x3_rc4::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13615,7 +13615,7 @@ void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[896]); } -void Ifc4x3_rc4::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_rc4::IfcReinforcingBarType Ifc4x3_rc4::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13623,13 +13623,13 @@ void Ifc4x3_rc4::IfcReinforcingElement::setSteelGrade(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[898]); } -void Ifc4x3_rc4::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_rc4::IfcReinforcingElement Ifc4x3_rc4::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[899]); } -void Ifc4x3_rc4::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcReinforcingElementType Ifc4x3_rc4::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13653,7 +13653,7 @@ void Ifc4x3_rc4::IfcReinforcingMesh::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[900]); } -void Ifc4x3_rc4::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_rc4::IfcReinforcingMesh Ifc4x3_rc4::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13681,7 +13681,7 @@ void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[901]); } -void Ifc4x3_rc4::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_rc4::IfcReinforcingMeshType Ifc4x3_rc4::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } @@ -13691,7 +13691,7 @@ void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::ve const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[903]); } -void Ifc4x3_rc4::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures)); } +Ifc4x3_rc4::IfcRelAdheresToElement Ifc4x3_rc4::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures));; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_rc4::IfcObjectDefinition Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcObjectDefinition>(); } @@ -13701,7 +13701,7 @@ void Ifc4x3_rc4::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[904]); } -void Ifc4x3_rc4::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc4::IfcRelAggregates Ifc4x3_rc4::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } @@ -13711,7 +13711,7 @@ void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[905]); } -void Ifc4x3_rc4::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); } } +Ifc4x3_rc4::IfcRelAssigns Ifc4x3_rc4::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_rc4::IfcActor Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcActor>(); } @@ -13721,7 +13721,7 @@ void Ifc4x3_rc4::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_rc4::IfcActo const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[906]); } -void Ifc4x3_rc4::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_rc4::IfcRelAssignsToActor Ifc4x3_rc4::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_rc4::IfcControl Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcControl>(); } @@ -13729,7 +13729,7 @@ void Ifc4x3_rc4::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[907]); } -void Ifc4x3_rc4::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_rc4::IfcRelAssignsToControl Ifc4x3_rc4::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_rc4::IfcGroup Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcGroup>(); } @@ -13737,7 +13737,7 @@ void Ifc4x3_rc4::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_rc4::IfcG const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[908]); } -void Ifc4x3_rc4::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_rc4::IfcRelAssignsToGroup Ifc4x3_rc4::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13745,7 +13745,7 @@ void Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[909]); } -void Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_rc4::IfcRelAssignsToGroupByFactor Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_rc4::IfcProcessSelect Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcProcessSelect>(); } @@ -13755,7 +13755,7 @@ void Ifc4x3_rc4::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[910]); } -void Ifc4x3_rc4::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc4::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_rc4::IfcRelAssignsToProcess Ifc4x3_rc4::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc4::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_rc4::IfcProductSelect Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcProductSelect>(); } @@ -13763,7 +13763,7 @@ void Ifc4x3_rc4::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[911]); } -void Ifc4x3_rc4::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_rc4::IfcRelAssignsToProduct Ifc4x3_rc4::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_rc4::IfcResourceSelect Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_rc4::IfcResourceSelect>(); } @@ -13771,7 +13771,7 @@ void Ifc4x3_rc4::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[912]); } -void Ifc4x3_rc4::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_rc4::IfcRelAssignsToResource Ifc4x3_rc4::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcDefinitionSelect>(es); } @@ -13779,7 +13779,7 @@ void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[913]); } -void Ifc4x3_rc4::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_rc4::IfcRelAssociates Ifc4x3_rc4::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_rc4::IfcApproval Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcApproval>(); } @@ -13787,7 +13787,7 @@ void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[914]); } -void Ifc4x3_rc4::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_rc4::IfcRelAssociatesApproval Ifc4x3_rc4::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_rc4::IfcClassificationSelect Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcClassificationSelect>(); } @@ -13795,7 +13795,7 @@ void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(const const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[915]); } -void Ifc4x3_rc4::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_rc4::IfcRelAssociatesClassification Ifc4x3_rc4::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13805,7 +13805,7 @@ void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[916]); } -void Ifc4x3_rc4::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_rc4::IfcRelAssociatesConstraint Ifc4x3_rc4::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_rc4::IfcDocumentSelect Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcDocumentSelect>(); } @@ -13813,7 +13813,7 @@ void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[917]); } -void Ifc4x3_rc4::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_rc4::IfcRelAssociatesDocument Ifc4x3_rc4::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_rc4::IfcLibrarySelect Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcLibrarySelect>(); } @@ -13821,7 +13821,7 @@ void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[918]); } -void Ifc4x3_rc4::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_rc4::IfcRelAssociatesLibrary Ifc4x3_rc4::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_rc4::IfcMaterialSelect Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcMaterialSelect>(); } @@ -13829,7 +13829,7 @@ void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[919]); } -void Ifc4x3_rc4::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_rc4::IfcRelAssociatesMaterial Ifc4x3_rc4::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -13837,13 +13837,13 @@ void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[920]); } -void Ifc4x3_rc4::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_rc4::IfcRelAssociatesProfileDef Ifc4x3_rc4::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[922]); } -void Ifc4x3_rc4::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcRelConnects Ifc4x3_rc4::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_rc4::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } @@ -13855,7 +13855,7 @@ void Ifc4x3_rc4::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[923]); } -void Ifc4x3_rc4::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_rc4::IfcRelConnectsElements Ifc4x3_rc4::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13869,7 +13869,7 @@ void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatingConnectionType(const ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[924]); } -void Ifc4x3_rc4::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_rc4::IfcRelConnectsPathElements Ifc4x3_rc4::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcPort>(); } @@ -13879,7 +13879,7 @@ void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[926]); } -void Ifc4x3_rc4::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_rc4::IfcRelConnectsPortToElement Ifc4x3_rc4::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_rc4::IfcPort Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcPort>(); } @@ -13891,7 +13891,7 @@ void Ifc4x3_rc4::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[925]); } -void Ifc4x3_rc4::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcPort v6_RelatedPort, ::Ifc4x3_rc4::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_rc4::IfcRelConnectsPorts Ifc4x3_rc4::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcPort v6_RelatedPort, ::Ifc4x3_rc4::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect>(); } @@ -13901,7 +13901,7 @@ void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity( const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[927]); } -void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_rc4::IfcRelConnectsStructuralActivity Ifc4x3_rc4::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_rc4::IfcStructuralMember Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcStructuralMember>(); } @@ -13919,7 +13919,7 @@ void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(co const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[928]); } -void Ifc4x3_rc4::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_rc4::IfcRelConnectsStructuralMember Ifc4x3_rc4::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_rc4::IfcConnectionGeometry Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcConnectionGeometry>(); } @@ -13927,7 +13927,7 @@ void Ifc4x3_rc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(const : const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[929]); } -void Ifc4x3_rc4::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc4::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_rc4::IfcRelConnectsWithEccentricity Ifc4x3_rc4::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc4::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_rc4::IfcElement > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_rc4::IfcElement>(es); } @@ -13937,7 +13937,7 @@ void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(const st const ifcopenshell::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[930]); } -void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_rc4::IfcRelConnectsWithRealizingElements Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_rc4::IfcProduct > Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcProduct>(es); } @@ -13947,7 +13947,7 @@ void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatingStructure(const : const ifcopenshell::entity& Ifc4x3_rc4::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[931]); } -void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc4::IfcRelContainedInSpatialStructure Ifc4x3_rc4::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } @@ -13957,7 +13957,7 @@ void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector const ifcopenshell::entity& Ifc4x3_rc4::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[932]); } -void Ifc4x3_rc4::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc4::IfcRelCoversBldgElements Ifc4x3_rc4::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_rc4::IfcSpace Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSpace>(); } @@ -13967,7 +13967,7 @@ void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[933]); } -void Ifc4x3_rc4::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_rc4::IfcRelCoversSpaces Ifc4x3_rc4::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_rc4::IfcContext Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcContext>(); } @@ -13977,19 +13977,19 @@ void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[934]); } -void Ifc4x3_rc4::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_rc4::IfcRelDeclares Ifc4x3_rc4::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[935]); } -void Ifc4x3_rc4::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcRelDecomposes Ifc4x3_rc4::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[936]); } -void Ifc4x3_rc4::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcRelDefines Ifc4x3_rc4::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_rc4::IfcObject > Ifc4x3_rc4::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObject>(es); } @@ -13999,7 +13999,7 @@ void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[937]); } -void Ifc4x3_rc4::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_rc4::IfcRelDefinesByObject Ifc4x3_rc4::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > Ifc4x3_rc4::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObjectDefinition>(es); } @@ -14009,7 +14009,7 @@ void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[938]); } -void Ifc4x3_rc4::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_rc4::IfcRelDefinesByProperties Ifc4x3_rc4::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcPropertySetDefinition>(es); } @@ -14019,7 +14019,7 @@ void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[939]); } -void Ifc4x3_rc4::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_rc4::IfcRelDefinesByTemplate Ifc4x3_rc4::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_rc4::IfcObject > Ifc4x3_rc4::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcObject>(es); } @@ -14029,7 +14029,7 @@ void Ifc4x3_rc4::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_rc4::IfcTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[940]); } -void Ifc4x3_rc4::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_rc4::IfcRelDefinesByType Ifc4x3_rc4::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_rc4::IfcOpeningElement Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcOpeningElement>(); } @@ -14039,7 +14039,7 @@ void Ifc4x3_rc4::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[941]); } -void Ifc4x3_rc4::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_rc4::IfcRelFillsElement Ifc4x3_rc4::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > Ifc4x3_rc4::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcDistributionControlElement>(es); } @@ -14049,7 +14049,7 @@ void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[942]); } -void Ifc4x3_rc4::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_rc4::IfcRelFlowControlElements Ifc4x3_rc4::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_rc4::IfcInterferenceSelect Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcInterferenceSelect>(); } @@ -14067,7 +14067,7 @@ void Ifc4x3_rc4::IfcRelInterferesElements::setImpliedOrder(const boost::logic::t const ifcopenshell::entity& Ifc4x3_rc4::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[943]); } -void Ifc4x3_rc4::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3_rc4::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry));set_attribute_value(7, (v8_InterferenceSpace)); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder)); } +Ifc4x3_rc4::IfcRelInterferesElements Ifc4x3_rc4::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3_rc4::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry));set_attribute_value(7, (v8_InterferenceSpace)); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_rc4::IfcObjectDefinition Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcObjectDefinition>(); } @@ -14077,7 +14077,7 @@ void Ifc4x3_rc4::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[944]); } -void Ifc4x3_rc4::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_rc4::IfcRelNests Ifc4x3_rc4::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_rc4::IfcPositioningElement Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcPositioningElement>(); } @@ -14087,7 +14087,7 @@ void Ifc4x3_rc4::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[945]); } -void Ifc4x3_rc4::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc4::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_rc4::IfcRelPositions Ifc4x3_rc4::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc4::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } @@ -14097,7 +14097,7 @@ void Ifc4x3_rc4::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[946]); } -void Ifc4x3_rc4::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, ::Ifc4x3_rc4::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_rc4::IfcRelProjectsElement Ifc4x3_rc4::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, ::Ifc4x3_rc4::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect > Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_rc4::IfcSpatialReferenceSelect>(es); } @@ -14107,7 +14107,7 @@ void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[947]); } -void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_rc4::IfcRelReferencedInSpatialStructure Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_rc4::IfcProcess Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProcess>(); } @@ -14123,7 +14123,7 @@ void Ifc4x3_rc4::IfcRelSequence::setUserDefinedSequenceType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[948]); } -void Ifc4x3_rc4::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc4::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_rc4::IfcRelSequence Ifc4x3_rc4::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc4::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_rc4::IfcSystem Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSystem>(); } @@ -14133,7 +14133,7 @@ void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< const ifcopenshell::entity& Ifc4x3_rc4::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[949]); } -void Ifc4x3_rc4::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc4::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_rc4::IfcRelServicesBuildings Ifc4x3_rc4::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc4::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_rc4::IfcSpaceBoundarySelect Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcSpaceBoundarySelect>(); } @@ -14149,7 +14149,7 @@ void Ifc4x3_rc4::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[950]); } -void Ifc4x3_rc4::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_rc4::IfcRelSpaceBoundary Ifc4x3_rc4::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel>(); } @@ -14158,7 +14158,7 @@ void Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_r std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel> Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[951], 9)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[951]); } -void Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel>(); } @@ -14167,7 +14167,7 @@ void Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::I std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel> Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[952], 10)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[952]); } -void Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_rc4::IfcElement Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcElement>(); } @@ -14177,13 +14177,13 @@ void Ifc4x3_rc4::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[953]); } -void Ifc4x3_rc4::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_rc4::IfcRelVoidsElement Ifc4x3_rc4::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_rc4::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[921]); } -void Ifc4x3_rc4::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcRelationship Ifc4x3_rc4::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14191,7 +14191,7 @@ void Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::setParamLength(const do const ifcopenshell::entity& Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[954]); } -void Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_rc4::IfcRepresentationContext Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcRepresentationContext>(); } @@ -14208,7 +14208,7 @@ std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcReprese std::vector<::Ifc4x3_rc4::IfcProductRepresentation> Ifc4x3_rc4::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[808], 2)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[955]); } -void Ifc4x3_rc4::IfcRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc4::IfcRepresentation Ifc4x3_rc4::IfcRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14219,7 +14219,7 @@ void Ifc4x3_rc4::IfcRepresentationContext::setContextType(const std::optional< s std::vector<::Ifc4x3_rc4::IfcRepresentation> Ifc4x3_rc4::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[955], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[956]); } -void Ifc4x3_rc4::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_rc4::IfcRepresentationContext Ifc4x3_rc4::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14227,7 +14227,7 @@ std::vector<::Ifc4x3_rc4::IfcPresentationLayerAssignment> Ifc4x3_rc4::IfcReprese std::vector<::Ifc4x3_rc4::IfcStyledItem> Ifc4x3_rc4::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1122], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[957]); } -void Ifc4x3_rc4::IfcRepresentationItem::initialize() { } +Ifc4x3_rc4::IfcRepresentationItem Ifc4x3_rc4::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } @@ -14239,7 +14239,7 @@ std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcRepresentationMap::HasS std::vector<::Ifc4x3_rc4::IfcMappedItem> Ifc4x3_rc4::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[630], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[958]); } -void Ifc4x3_rc4::IfcRepresentationMap::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_rc4::IfcRepresentationMap Ifc4x3_rc4::IfcRepresentationMap::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_rc4::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14250,7 +14250,7 @@ void Ifc4x3_rc4::IfcResource::setLongDescription(const std::optional< std::strin std::vector<::Ifc4x3_rc4::IfcRelAssignsToResource> Ifc4x3_rc4::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[912], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[959]); } -void Ifc4x3_rc4::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_rc4::IfcResource Ifc4x3_rc4::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcResourceObjectSelect>(es); } @@ -14260,7 +14260,7 @@ void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(const ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[960]); } -void Ifc4x3_rc4::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_rc4::IfcResourceApprovalRelationship Ifc4x3_rc4::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_rc4::IfcConstraint Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcConstraint>(); } @@ -14270,7 +14270,7 @@ void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[961]); } -void Ifc4x3_rc4::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_rc4::IfcResourceConstraintRelationship Ifc4x3_rc4::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14280,7 +14280,7 @@ void Ifc4x3_rc4::IfcResourceLevelRelationship::setDescription(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[962]); } -void Ifc4x3_rc4::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc4::IfcResourceLevelRelationship Ifc4x3_rc4::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14316,7 +14316,7 @@ void Ifc4x3_rc4::IfcResourceTime::setCompletion(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc4::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[965]); } -void Ifc4x3_rc4::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_rc4::IfcResourceTime Ifc4x3_rc4::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_rc4::IfcAxis1Placement Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis1Placement>(); } @@ -14326,7 +14326,7 @@ void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc4::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[966]); } -void Ifc4x3_rc4::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_rc4::IfcRevolvedAreaSolid Ifc4x3_rc4::IfcRevolvedAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -14334,7 +14334,7 @@ void Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_rc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[967]); } -void Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_rc4::IfcRevolvedAreaSolidTapered Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_rc4::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14344,7 +14344,7 @@ void Ifc4x3_rc4::IfcRightCircularCone::setBottomRadius(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[968]); } -void Ifc4x3_rc4::IfcRightCircularCone::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_rc4::IfcRightCircularCone Ifc4x3_rc4::IfcRightCircularCone::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_rc4::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14354,7 +14354,7 @@ void Ifc4x3_rc4::IfcRightCircularCylinder::setRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_rc4::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[969]); } -void Ifc4x3_rc4::IfcRightCircularCylinder::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_rc4::IfcRightCircularCylinder Ifc4x3_rc4::IfcRightCircularCylinder::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoad std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > Ifc4x3_rc4::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } @@ -14362,7 +14362,7 @@ void Ifc4x3_rc4::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[970]); } -void Ifc4x3_rc4::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcRoad Ifc4x3_rc4::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > Ifc4x3_rc4::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14370,7 +14370,7 @@ void Ifc4x3_rc4::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[974]); } -void Ifc4x3_rc4::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcRoof Ifc4x3_rc4::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14378,7 +14378,7 @@ void Ifc4x3_rc4::IfcRoofType::setPredefinedType(const ::Ifc4x3_rc4::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[975]); } -void Ifc4x3_rc4::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcRoofType Ifc4x3_rc4::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_rc4::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14392,7 +14392,7 @@ void Ifc4x3_rc4::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[977]); } -void Ifc4x3_rc4::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_rc4::IfcRoot Ifc4x3_rc4::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_rc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14400,7 +14400,7 @@ void Ifc4x3_rc4::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_rc4::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[982]); } -void Ifc4x3_rc4::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_rc4::IfcRoundedRectangleProfileDef Ifc4x3_rc4::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Ifc4x3_rc4::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14410,7 +14410,7 @@ void Ifc4x3_rc4::IfcSIUnit::setName(const ::Ifc4x3_rc4::IfcSIUnitName::Value& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1028]); } -void Ifc4x3_rc4::IfcSIUnit::initialize(::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc4::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_rc4::IfcSIUnit Ifc4x3_rc4::IfcSIUnit::initialize(::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc4::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc4::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14418,7 +14418,7 @@ void Ifc4x3_rc4::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[983]); } -void Ifc4x3_rc4::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSanitaryTerminal Ifc4x3_rc4::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14426,7 +14426,7 @@ void Ifc4x3_rc4::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[984]); } -void Ifc4x3_rc4::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSanitaryTerminalType Ifc4x3_rc4::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14438,13 +14438,13 @@ void Ifc4x3_rc4::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[986]); } -void Ifc4x3_rc4::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_rc4::IfcSchedulingTime Ifc4x3_rc4::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_rc4::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[987]); } -void Ifc4x3_rc4::IfcSeamCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc4::IfcSeamCurve Ifc4x3_rc4::IfcSeamCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSecondOrderPolynomialSpiral double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } @@ -14456,7 +14456,7 @@ void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::opti const ifcopenshell::entity& Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[988]); } -void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc4::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14468,7 +14468,7 @@ void Ifc4x3_rc4::IfcSectionProperties::setEndProfile(const ::Ifc4x3_rc4::IfcProf const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[995]); } -void Ifc4x3_rc4::IfcSectionProperties::initialize(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_rc4::IfcSectionProperties Ifc4x3_rc4::IfcSectionProperties::initialize(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14486,7 +14486,7 @@ void Ifc4x3_rc4::IfcSectionReinforcementProperties::setCrossSectionReinforcement const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[996]); } -void Ifc4x3_rc4::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_rc4::IfcSectionReinforcementProperties Ifc4x3_rc4::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -14496,7 +14496,7 @@ void Ifc4x3_rc4::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[990]); } -void Ifc4x3_rc4::IfcSectionedSolid::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_rc4::IfcSectionedSolid Ifc4x3_rc4::IfcSectionedSolid::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > Ifc4x3_rc4::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(es); } @@ -14506,7 +14506,7 @@ void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setFixedAxisVertical(const bool& v const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[991]); } -void Ifc4x3_rc4::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc4::IfcSectionedSolidHorizontal Ifc4x3_rc4::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_rc4::IfcCompositeCurve Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCompositeCurve>(); } @@ -14518,7 +14518,7 @@ void Ifc4x3_rc4::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[992]); } -void Ifc4x3_rc4::IfcSectionedSpine::initialize(::Ifc4x3_rc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_rc4::IfcSectionedSpine Ifc4x3_rc4::IfcSectionedSpine::initialize(::Ifc4x3_rc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -14532,7 +14532,7 @@ void Ifc4x3_rc4::IfcSectionedSurface::setFixedAxisVertical(const bool& v) { set_ const ifcopenshell::entity& Ifc4x3_rc4::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[993]); } -void Ifc4x3_rc4::IfcSectionedSurface::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical)); } +Ifc4x3_rc4::IfcSectionedSurface Ifc4x3_rc4::IfcSectionedSurface::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));set_attribute_value(3, (v4_FixedAxisVertical));; return *this; } // Function implementations for IfcSegment ::Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcSegment::Transition() const { return ::Ifc4x3_rc4::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14541,7 +14541,7 @@ void Ifc4x3_rc4::IfcSegment::setTransition(const ::Ifc4x3_rc4::IfcTransitionCode std::vector<::Ifc4x3_rc4::IfcCompositeCurve> Ifc4x3_rc4::IfcSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[194], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[998]); } -void Ifc4x3_rc4::IfcSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3_rc4::IfcSegment Ifc4x3_rc4::IfcSegment::initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3_rc4::IfcBoundedCurve Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcBoundedCurve>(); } @@ -14551,7 +14551,7 @@ void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[999]); } -void Ifc4x3_rc4::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_rc4::IfcSegmentedReferenceCurve Ifc4x3_rc4::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > Ifc4x3_rc4::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14559,7 +14559,7 @@ void Ifc4x3_rc4::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1001]); } -void Ifc4x3_rc4::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSensor Ifc4x3_rc4::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14567,7 +14567,7 @@ void Ifc4x3_rc4::IfcSensorType::setPredefinedType(const ::Ifc4x3_rc4::IfcSensorT const ifcopenshell::entity& Ifc4x3_rc4::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1002]); } -void Ifc4x3_rc4::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSensorType Ifc4x3_rc4::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSeventhOrderPolynomialSpiral double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } @@ -14589,7 +14589,7 @@ void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setConstantTerm(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1005]); } -void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); } } +Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14597,7 +14597,7 @@ void Ifc4x3_rc4::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1006]); } -void Ifc4x3_rc4::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcShadingDevice Ifc4x3_rc4::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14605,7 +14605,7 @@ void Ifc4x3_rc4::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1007]); } -void Ifc4x3_rc4::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcShadingDeviceType Ifc4x3_rc4::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_rc4::IfcShapeModel > Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcShapeModel>(es); } @@ -14622,20 +14622,20 @@ void Ifc4x3_rc4::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_ std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1009]); } -void Ifc4x3_rc4::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_rc4::IfcShapeAspect Ifc4x3_rc4::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_rc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_rc4::IfcShapeAspect> Ifc4x3_rc4::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1009], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1010]); } -void Ifc4x3_rc4::IfcShapeModel::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc4::IfcShapeModel Ifc4x3_rc4::IfcShapeModel::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_rc4::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1011]); } -void Ifc4x3_rc4::IfcShapeRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc4::IfcShapeRepresentation Ifc4x3_rc4::IfcShapeRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_rc4::IfcShell > Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcShell>(es); } @@ -14643,7 +14643,7 @@ void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< : const ifcopenshell::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1014]); } -void Ifc4x3_rc4::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc4::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_rc4::IfcShellBasedSurfaceModel Ifc4x3_rc4::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_rc4::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14651,7 +14651,7 @@ void Ifc4x3_rc4::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1015]); } -void Ifc4x3_rc4::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSign Ifc4x3_rc4::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14659,7 +14659,7 @@ void Ifc4x3_rc4::IfcSignType::setPredefinedType(const ::Ifc4x3_rc4::IfcSignTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1019]); } -void Ifc4x3_rc4::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSignType Ifc4x3_rc4::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > Ifc4x3_rc4::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14667,7 +14667,7 @@ void Ifc4x3_rc4::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1016]); } -void Ifc4x3_rc4::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSignal Ifc4x3_rc4::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14675,13 +14675,13 @@ void Ifc4x3_rc4::IfcSignalType::setPredefinedType(const ::Ifc4x3_rc4::IfcSignalT const ifcopenshell::entity& Ifc4x3_rc4::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1017]); } -void Ifc4x3_rc4::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSignalType Ifc4x3_rc4::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_rc4::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1021]); } -void Ifc4x3_rc4::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_rc4::IfcSimpleProperty Ifc4x3_rc4::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14703,7 +14703,7 @@ void Ifc4x3_rc4::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1022]); } -void Ifc4x3_rc4::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc4::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_rc4::IfcSimplePropertyTemplate Ifc4x3_rc4::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc4::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSine double Ifc4x3_rc4::IfcSine::SineTerm() const { double v = get_attribute_value(1); return v; } @@ -14715,7 +14715,7 @@ void Ifc4x3_rc4::IfcSine::setConstantTerm(const std::optional< double >& v) { if const ifcopenshell::entity& Ifc4x3_rc4::IfcSine::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1025]); } -void Ifc4x3_rc4::IfcSine::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_rc4::IfcSine Ifc4x3_rc4::IfcSine::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14731,7 +14731,7 @@ void Ifc4x3_rc4::IfcSite::setSiteAddress(const ::Ifc4x3_rc4::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x3_rc4::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1027]); } -void Ifc4x3_rc4::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc4::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_rc4::IfcSite Ifc4x3_rc4::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc4::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > Ifc4x3_rc4::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14739,19 +14739,19 @@ void Ifc4x3_rc4::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1031]); } -void Ifc4x3_rc4::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSlab Ifc4x3_rc4::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabElementedCase const ifcopenshell::entity& Ifc4x3_rc4::IfcSlabElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1032]); } -void Ifc4x3_rc4::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSlabElementedCase Ifc4x3_rc4::IfcSlabElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcSlabStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1033]); } -void Ifc4x3_rc4::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSlabStandardCase Ifc4x3_rc4::IfcSlabStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14759,7 +14759,7 @@ void Ifc4x3_rc4::IfcSlabType::setPredefinedType(const ::Ifc4x3_rc4::IfcSlabTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1034]); } -void Ifc4x3_rc4::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSlabType Ifc4x3_rc4::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14771,7 +14771,7 @@ void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageZ(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1036]); } -void Ifc4x3_rc4::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_rc4::IfcSlippageConnectionCondition Ifc4x3_rc4::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14779,7 +14779,7 @@ void Ifc4x3_rc4::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1037]); } -void Ifc4x3_rc4::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSolarDevice Ifc4x3_rc4::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14787,19 +14787,19 @@ void Ifc4x3_rc4::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_rc4::IfcSo const ifcopenshell::entity& Ifc4x3_rc4::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1038]); } -void Ifc4x3_rc4::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSolarDeviceType Ifc4x3_rc4::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_rc4::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1041]); } -void Ifc4x3_rc4::IfcSolidModel::initialize() { } +Ifc4x3_rc4::IfcSolidModel Ifc4x3_rc4::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSolidStratum const ifcopenshell::entity& Ifc4x3_rc4::IfcSolidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1043]); } -void Ifc4x3_rc4::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcSolidStratum Ifc4x3_rc4::IfcSolidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > Ifc4x3_rc4::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14811,7 +14811,7 @@ std::vector<::Ifc4x3_rc4::IfcRelCoversSpaces> Ifc4x3_rc4::IfcSpace::HasCoverings std::vector<::Ifc4x3_rc4::IfcRelSpaceBoundary> Ifc4x3_rc4::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[950], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1048]); } -void Ifc4x3_rc4::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_rc4::IfcSpace Ifc4x3_rc4::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc4::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14819,7 +14819,7 @@ void Ifc4x3_rc4::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1050]); } -void Ifc4x3_rc4::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSpaceHeater Ifc4x3_rc4::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14827,7 +14827,7 @@ void Ifc4x3_rc4::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_rc4::IfcSp const ifcopenshell::entity& Ifc4x3_rc4::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1051]); } -void Ifc4x3_rc4::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSpaceHeaterType Ifc4x3_rc4::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14837,7 +14837,7 @@ void Ifc4x3_rc4::IfcSpaceType::setLongName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_rc4::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1053]); } -void Ifc4x3_rc4::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc4::IfcSpaceType Ifc4x3_rc4::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_rc4::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14848,7 +14848,7 @@ std::vector<::Ifc4x3_rc4::IfcRelServicesBuildings> Ifc4x3_rc4::IfcSpatialElement std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcSpatialElement::ReferencesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[947], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1055]); } -void Ifc4x3_rc4::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_rc4::IfcSpatialElement Ifc4x3_rc4::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_rc4::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14856,7 +14856,7 @@ void Ifc4x3_rc4::IfcSpatialElementType::setElementType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1056]); } -void Ifc4x3_rc4::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcSpatialElementType Ifc4x3_rc4::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > Ifc4x3_rc4::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14864,13 +14864,13 @@ void Ifc4x3_rc4::IfcSpatialStructureElement::setCompositionType(const std::optio const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1058]); } -void Ifc4x3_rc4::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_rc4::IfcSpatialStructureElement Ifc4x3_rc4::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1059]); } -void Ifc4x3_rc4::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_rc4::IfcSpatialStructureElementType Ifc4x3_rc4::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc4::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14878,7 +14878,7 @@ void Ifc4x3_rc4::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1060]); } -void Ifc4x3_rc4::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSpatialZone Ifc4x3_rc4::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14888,7 +14888,7 @@ void Ifc4x3_rc4::IfcSpatialZoneType::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_rc4::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1061]); } -void Ifc4x3_rc4::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_rc4::IfcSpatialZoneType Ifc4x3_rc4::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_rc4::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14896,7 +14896,7 @@ void Ifc4x3_rc4::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_rc4::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1067]); } -void Ifc4x3_rc4::IfcSphere::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc4::IfcSphere Ifc4x3_rc4::IfcSphere::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_rc4::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14904,7 +14904,7 @@ void Ifc4x3_rc4::IfcSphericalSurface::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc4::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1068]); } -void Ifc4x3_rc4::IfcSphericalSurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_rc4::IfcSphericalSurface Ifc4x3_rc4::IfcSphericalSurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSpiral ::Ifc4x3_rc4::IfcAxis2Placement Ifc4x3_rc4::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcAxis2Placement>(); } @@ -14912,7 +14912,7 @@ void Ifc4x3_rc4::IfcSpiral::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement& v const ifcopenshell::entity& Ifc4x3_rc4::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1069]); } -void Ifc4x3_rc4::IfcSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_rc4::IfcSpiral Ifc4x3_rc4::IfcSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc4::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14920,7 +14920,7 @@ void Ifc4x3_rc4::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1070]); } -void Ifc4x3_rc4::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcStackTerminal Ifc4x3_rc4::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14928,7 +14928,7 @@ void Ifc4x3_rc4::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1071]); } -void Ifc4x3_rc4::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcStackTerminalType Ifc4x3_rc4::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > Ifc4x3_rc4::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14936,7 +14936,7 @@ void Ifc4x3_rc4::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1073]); } -void Ifc4x3_rc4::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcStair Ifc4x3_rc4::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14952,7 +14952,7 @@ void Ifc4x3_rc4::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1074]); } -void Ifc4x3_rc4::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc4::IfcStairFlight Ifc4x3_rc4::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14960,7 +14960,7 @@ void Ifc4x3_rc4::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_rc4::IfcSt const ifcopenshell::entity& Ifc4x3_rc4::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1075]); } -void Ifc4x3_rc4::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcStairFlightType Ifc4x3_rc4::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14968,7 +14968,7 @@ void Ifc4x3_rc4::IfcStairType::setPredefinedType(const ::Ifc4x3_rc4::IfcStairTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1077]); } -void Ifc4x3_rc4::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcStairType Ifc4x3_rc4::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_rc4::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -14976,7 +14976,7 @@ void Ifc4x3_rc4::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1080]); } -void Ifc4x3_rc4::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc4::IfcStructuralAction Ifc4x3_rc4::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_rc4::IfcStructuralLoad Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcStructuralLoad>(); } @@ -14987,7 +14987,7 @@ void Ifc4x3_rc4::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_rc4::Ifc std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralActivity> Ifc4x3_rc4::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[927], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1081]); } -void Ifc4x3_rc4::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc4::IfcStructuralActivity Ifc4x3_rc4::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -15003,7 +15003,7 @@ void Ifc4x3_rc4::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1083]); } -void Ifc4x3_rc4::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc4::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_rc4::IfcStructuralAnalysisModel Ifc4x3_rc4::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc4::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_rc4::IfcBoundaryCondition Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_rc4::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_rc4::IfcBoundaryCondition>(); } @@ -15012,7 +15012,7 @@ void Ifc4x3_rc4::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_rc4 std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralMember> Ifc4x3_rc4::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[928], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1084]); } -void Ifc4x3_rc4::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc4::IfcStructuralConnection Ifc4x3_rc4::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_rc4::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15020,7 +15020,7 @@ void Ifc4x3_rc4::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1085]); } -void Ifc4x3_rc4::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcStructuralConnectionCondition Ifc4x3_rc4::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15030,7 +15030,7 @@ void Ifc4x3_rc4::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1086]); } -void Ifc4x3_rc4::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcStructuralCurveAction Ifc4x3_rc4::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -15038,7 +15038,7 @@ void Ifc4x3_rc4::IfcStructuralCurveConnection::setAxis(const ::Ifc4x3_rc4::IfcDi const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1088]); } -void Ifc4x3_rc4::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc4::IfcStructuralCurveConnection Ifc4x3_rc4::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15048,13 +15048,13 @@ void Ifc4x3_rc4::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_rc4::IfcDirect const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1089]); } -void Ifc4x3_rc4::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc4::IfcStructuralCurveMember Ifc4x3_rc4::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1091]); } -void Ifc4x3_rc4::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_rc4::IfcStructuralCurveMemberVarying Ifc4x3_rc4::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15062,20 +15062,20 @@ void Ifc4x3_rc4::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1092]); } -void Ifc4x3_rc4::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcStructuralCurveReaction Ifc4x3_rc4::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralActivity> Ifc4x3_rc4::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[927], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1093]); } -void Ifc4x3_rc4::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcStructuralItem Ifc4x3_rc4::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1094]); } -void Ifc4x3_rc4::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcStructuralLinearAction Ifc4x3_rc4::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_rc4::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15083,7 +15083,7 @@ void Ifc4x3_rc4::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1095]); } -void Ifc4x3_rc4::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcStructuralLoad Ifc4x3_rc4::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -15091,7 +15091,7 @@ void Ifc4x3_rc4::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1096]); } -void Ifc4x3_rc4::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_rc4::IfcStructuralLoadCase Ifc4x3_rc4::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcStructuralLoadOrResult>(es); } @@ -15101,7 +15101,7 @@ void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1097]); } -void Ifc4x3_rc4::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_rc4::IfcStructuralLoadConfiguration Ifc4x3_rc4::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15119,7 +15119,7 @@ std::vector<::Ifc4x3_rc4::IfcStructuralResultGroup> Ifc4x3_rc4::IfcStructuralLoa std::vector<::Ifc4x3_rc4::IfcStructuralAnalysisModel> Ifc4x3_rc4::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1083], 7)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1098]); } -void Ifc4x3_rc4::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_rc4::IfcStructuralLoadGroup Ifc4x3_rc4::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15137,13 +15137,13 @@ void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optio const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1099]); } -void Ifc4x3_rc4::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_rc4::IfcStructuralLoadLinearForce Ifc4x3_rc4::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1100]); } -void Ifc4x3_rc4::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcStructuralLoadOrResult Ifc4x3_rc4::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15155,7 +15155,7 @@ void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::option const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1101]); } -void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_rc4::IfcStructuralLoadPlanarForce Ifc4x3_rc4::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15173,7 +15173,7 @@ void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementR const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1102]); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15181,7 +15181,7 @@ void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(co const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1103]); } -void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15199,7 +15199,7 @@ void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1104]); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_rc4::IfcStructuralLoadSingleForce Ifc4x3_rc4::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15207,13 +15207,13 @@ void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1105]); } -void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1106]); } -void Ifc4x3_rc4::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_rc4::IfcStructuralLoadStatic Ifc4x3_rc4::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15225,26 +15225,26 @@ void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1107]); } -void Ifc4x3_rc4::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_rc4::IfcStructuralLoadTemperature Ifc4x3_rc4::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_rc4::IfcRelConnectsStructuralMember> Ifc4x3_rc4::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[928], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1108]); } -void Ifc4x3_rc4::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_rc4::IfcStructuralMember Ifc4x3_rc4::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1109]); } -void Ifc4x3_rc4::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcStructuralPlanarAction Ifc4x3_rc4::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1110]); } -void Ifc4x3_rc4::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_rc4::IfcStructuralPointAction Ifc4x3_rc4::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_rc4::IfcAxis2Placement3D Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcAxis2Placement3D>(); } @@ -15252,19 +15252,19 @@ void Ifc4x3_rc4::IfcStructuralPointConnection::setConditionCoordinateSystem(cons const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1111]); } -void Ifc4x3_rc4::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_rc4::IfcStructuralPointConnection Ifc4x3_rc4::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1112]); } -void Ifc4x3_rc4::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc4::IfcStructuralPointReaction Ifc4x3_rc4::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1113]); } -void Ifc4x3_rc4::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_rc4::IfcStructuralReaction Ifc4x3_rc4::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15277,7 +15277,7 @@ void Ifc4x3_rc4::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attr std::vector<::Ifc4x3_rc4::IfcStructuralAnalysisModel> Ifc4x3_rc4::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1083], 8)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1114]); } -void Ifc4x3_rc4::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_rc4::IfcStructuralResultGroup Ifc4x3_rc4::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15287,13 +15287,13 @@ void Ifc4x3_rc4::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1115]); } -void Ifc4x3_rc4::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcStructuralSurfaceAction Ifc4x3_rc4::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1117]); } -void Ifc4x3_rc4::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_rc4::IfcStructuralSurfaceConnection Ifc4x3_rc4::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15303,13 +15303,13 @@ void Ifc4x3_rc4::IfcStructuralSurfaceMember::setThickness(const std::optional< d const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1118]); } -void Ifc4x3_rc4::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc4::IfcStructuralSurfaceMember Ifc4x3_rc4::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1120]); } -void Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15317,13 +15317,13 @@ void Ifc4x3_rc4::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1121]); } -void Ifc4x3_rc4::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcStructuralSurfaceReaction Ifc4x3_rc4::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_rc4::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1124]); } -void Ifc4x3_rc4::IfcStyleModel::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc4::IfcStyleModel Ifc4x3_rc4::IfcStyleModel::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_rc4::IfcRepresentationItem Ifc4x3_rc4::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc4::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcRepresentationItem>(); } @@ -15335,13 +15335,13 @@ void Ifc4x3_rc4::IfcStyledItem::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1122]); } -void Ifc4x3_rc4::IfcStyledItem::initialize(::Ifc4x3_rc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_rc4::IfcStyledItem Ifc4x3_rc4::IfcStyledItem::initialize(::Ifc4x3_rc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_rc4::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1123]); } -void Ifc4x3_rc4::IfcStyledRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc4::IfcStyledRepresentation Ifc4x3_rc4::IfcStyledRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc4::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15349,7 +15349,7 @@ void Ifc4x3_rc4::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1125]); } -void Ifc4x3_rc4::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_rc4::IfcSubContractResource Ifc4x3_rc4::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15357,7 +15357,7 @@ void Ifc4x3_rc4::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1126]); } -void Ifc4x3_rc4::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_rc4::IfcSubContractResourceType Ifc4x3_rc4::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_rc4::IfcEdge Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcEdge>(); } @@ -15365,13 +15365,13 @@ void Ifc4x3_rc4::IfcSubedge::setParentEdge(const ::Ifc4x3_rc4::IfcEdge& v) { set const ifcopenshell::entity& Ifc4x3_rc4::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1128]); } -void Ifc4x3_rc4::IfcSubedge::initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_rc4::IfcSubedge Ifc4x3_rc4::IfcSubedge::initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_rc4::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1129]); } -void Ifc4x3_rc4::IfcSurface::initialize() { } +Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -15383,7 +15383,7 @@ void Ifc4x3_rc4::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1130]); } -void Ifc4x3_rc4::IfcSurfaceCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_rc4::IfcSurfaceCurve Ifc4x3_rc4::IfcSurfaceCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_rc4::IfcSurface Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_rc4::IfcSurface>(); } @@ -15391,7 +15391,7 @@ void Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1131]); } -void Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15400,7 +15400,7 @@ void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_rc4::IfcRelAdheresToElement> Ifc4x3_rc4::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[903], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1132]); } -void Ifc4x3_rc4::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSurfaceFeature Ifc4x3_rc4::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -15410,7 +15410,7 @@ void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1134]); } -void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_rc4::IfcAxis1Placement Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcAxis1Placement>(); } @@ -15418,7 +15418,7 @@ void Ifc4x3_rc4::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1135]); } -void Ifc4x3_rc4::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_rc4::IfcSurfaceOfRevolution Ifc4x3_rc4::IfcSurfaceOfRevolution::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15430,7 +15430,7 @@ void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setShearReinforcement(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1137]); } -void Ifc4x3_rc4::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_rc4::IfcSurfaceReinforcementArea Ifc4x3_rc4::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15440,7 +15440,7 @@ void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1139]); } -void Ifc4x3_rc4::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_rc4::IfcSurfaceStyle Ifc4x3_rc4::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcColourRgb>(); } @@ -15454,7 +15454,7 @@ void Ifc4x3_rc4::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1141]); } -void Ifc4x3_rc4::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc4::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_rc4::IfcSurfaceStyleLighting Ifc4x3_rc4::IfcSurfaceStyleLighting::initialize(::Ifc4x3_rc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc4::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15464,7 +15464,7 @@ void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optio const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1142]); } -void Ifc4x3_rc4::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_rc4::IfcSurfaceStyleRefraction Ifc4x3_rc4::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_rc4::IfcColourOrFactor Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_rc4::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_rc4::IfcColourOrFactor>(); } @@ -15484,7 +15484,7 @@ void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1143]); } -void Ifc4x3_rc4::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_rc4::IfcSurfaceStyleRendering Ifc4x3_rc4::IfcSurfaceStyleRendering::initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_rc4::IfcColourRgb Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcColourRgb>(); } @@ -15494,7 +15494,7 @@ void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(const std::optional< do const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1144]); } -void Ifc4x3_rc4::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_rc4::IfcSurfaceStyleShading Ifc4x3_rc4::IfcSurfaceStyleShading::initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcSurfaceTexture>(es); } @@ -15502,7 +15502,7 @@ void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1145]); } -void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_rc4::IfcSurfaceStyleWithTextures Ifc4x3_rc4::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15520,7 +15520,7 @@ std::vector<::Ifc4x3_rc4::IfcTextureCoordinate> Ifc4x3_rc4::IfcSurfaceTexture::I std::vector<::Ifc4x3_rc4::IfcSurfaceStyleWithTextures> Ifc4x3_rc4::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[1145], 0)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1146]); } -void Ifc4x3_rc4::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_rc4::IfcSurfaceTexture Ifc4x3_rc4::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -15530,7 +15530,7 @@ void Ifc4x3_rc4::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_rc4::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_rc4::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1147]); } -void Ifc4x3_rc4::IfcSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc4::IfcSweptAreaSolid Ifc4x3_rc4::IfcSweptAreaSolid::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -15546,7 +15546,7 @@ void Ifc4x3_rc4::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_rc4::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1148]); } -void Ifc4x3_rc4::IfcSweptDiskSolid::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_rc4::IfcSweptDiskSolid Ifc4x3_rc4::IfcSweptDiskSolid::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15554,7 +15554,7 @@ void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1149]); } -void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_rc4::IfcSweptDiskSolidPolygonal Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_rc4::IfcProfileDef Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcProfileDef>(); } @@ -15564,7 +15564,7 @@ void Ifc4x3_rc4::IfcSweptSurface::setPosition(const ::Ifc4x3_rc4::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_rc4::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1150]); } -void Ifc4x3_rc4::IfcSweptSurface::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_rc4::IfcSweptSurface Ifc4x3_rc4::IfcSweptSurface::initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15572,7 +15572,7 @@ void Ifc4x3_rc4::IfcSwitchingDevice::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1151]); } -void Ifc4x3_rc4::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSwitchingDevice Ifc4x3_rc4::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15580,7 +15580,7 @@ void Ifc4x3_rc4::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1152]); } -void Ifc4x3_rc4::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcSwitchingDeviceType Ifc4x3_rc4::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15588,7 +15588,7 @@ std::vector<::Ifc4x3_rc4::IfcRelServicesBuildings> Ifc4x3_rc4::IfcSystem::Servic std::vector<::Ifc4x3_rc4::IfcRelReferencedInSpatialStructure> Ifc4x3_rc4::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[947], 4)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1154]); } -void Ifc4x3_rc4::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_rc4::IfcSystem Ifc4x3_rc4::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15596,7 +15596,7 @@ void Ifc4x3_rc4::IfcSystemFurnitureElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_rc4::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1155]); } -void Ifc4x3_rc4::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcSystemFurnitureElement Ifc4x3_rc4::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15604,7 +15604,7 @@ void Ifc4x3_rc4::IfcSystemFurnitureElementType::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_rc4::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1156]); } -void Ifc4x3_rc4::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcSystemFurnitureElementType Ifc4x3_rc4::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_rc4::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15628,7 +15628,7 @@ void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc4::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1240]); } -void Ifc4x3_rc4::IfcTShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_rc4::IfcTShapeProfileDef Ifc4x3_rc4::IfcTShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_rc4::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15640,7 +15640,7 @@ void Ifc4x3_rc4::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1158]); } -void Ifc4x3_rc4::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_rc4::IfcTable Ifc4x3_rc4::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15656,7 +15656,7 @@ void Ifc4x3_rc4::IfcTableColumn::setReferencePath(const ::Ifc4x3_rc4::IfcReferen const ifcopenshell::entity& Ifc4x3_rc4::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1159]); } -void Ifc4x3_rc4::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit v4_Unit, ::Ifc4x3_rc4::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_rc4::IfcTableColumn Ifc4x3_rc4::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit v4_Unit, ::Ifc4x3_rc4::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } @@ -15666,7 +15666,7 @@ void Ifc4x3_rc4::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_rc4::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1160]); } -void Ifc4x3_rc4::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_rc4::IfcTableRow Ifc4x3_rc4::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15674,7 +15674,7 @@ void Ifc4x3_rc4::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1161]); } -void Ifc4x3_rc4::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcTank Ifc4x3_rc4::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15682,7 +15682,7 @@ void Ifc4x3_rc4::IfcTankType::setPredefinedType(const ::Ifc4x3_rc4::IfcTankTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1162]); } -void Ifc4x3_rc4::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTankType Ifc4x3_rc4::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_rc4::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15700,7 +15700,7 @@ void Ifc4x3_rc4::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1164]); } -void Ifc4x3_rc4::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_rc4::IfcTask Ifc4x3_rc4::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > Ifc4x3_rc4::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15740,7 +15740,7 @@ void Ifc4x3_rc4::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1166]); } -void Ifc4x3_rc4::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_rc4::IfcTaskTime Ifc4x3_rc4::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_rc4::IfcRecurrencePattern Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_rc4::IfcRecurrencePattern>(); } @@ -15748,7 +15748,7 @@ void Ifc4x3_rc4::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_rc4::IfcRecu const ifcopenshell::entity& Ifc4x3_rc4::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1167]); } -void Ifc4x3_rc4::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc4::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_rc4::IfcTaskTimeRecurring Ifc4x3_rc4::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc4::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15758,7 +15758,7 @@ void Ifc4x3_rc4::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_rc4::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1168]); } -void Ifc4x3_rc4::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_rc4::IfcTaskType Ifc4x3_rc4::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15776,7 +15776,7 @@ void Ifc4x3_rc4::IfcTelecomAddress::setMessagingIDs(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc4::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1170]); } -void Ifc4x3_rc4::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_rc4::IfcTelecomAddress Ifc4x3_rc4::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > Ifc4x3_rc4::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15798,7 +15798,7 @@ void Ifc4x3_rc4::IfcTendon::setMinCurvatureRadius(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc4::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1173]); } -void Ifc4x3_rc4::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_rc4::IfcTendon Ifc4x3_rc4::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc4::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15806,7 +15806,7 @@ void Ifc4x3_rc4::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1174]); } -void Ifc4x3_rc4::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcTendonAnchor Ifc4x3_rc4::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15814,7 +15814,7 @@ void Ifc4x3_rc4::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_rc4::IfcT const ifcopenshell::entity& Ifc4x3_rc4::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1175]); } -void Ifc4x3_rc4::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTendonAnchorType Ifc4x3_rc4::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15822,7 +15822,7 @@ void Ifc4x3_rc4::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_rc4::IfcTend const ifcopenshell::entity& Ifc4x3_rc4::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1177]); } -void Ifc4x3_rc4::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTendonConduit Ifc4x3_rc4::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15830,7 +15830,7 @@ void Ifc4x3_rc4::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1178]); } -void Ifc4x3_rc4::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTendonConduitType Ifc4x3_rc4::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15844,7 +15844,7 @@ void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_rc4::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1180]); } -void Ifc4x3_rc4::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_rc4::IfcTendonType Ifc4x3_rc4::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_rc4::IfcCartesianPointList3D Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCartesianPointList3D>(); } @@ -15854,13 +15854,13 @@ std::vector<::Ifc4x3_rc4::IfcIndexedColourMap> Ifc4x3_rc4::IfcTessellatedFaceSet std::vector<::Ifc4x3_rc4::IfcIndexedTextureMap> Ifc4x3_rc4::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[551], 1)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1182]); } -void Ifc4x3_rc4::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc4::IfcTessellatedFaceSet Ifc4x3_rc4::IfcTessellatedFaceSet::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_rc4::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1183]); } -void Ifc4x3_rc4::IfcTessellatedItem::initialize() { } +Ifc4x3_rc4::IfcTessellatedItem Ifc4x3_rc4::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_rc4::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15872,7 +15872,7 @@ void Ifc4x3_rc4::IfcTextLiteral::setPath(const ::Ifc4x3_rc4::IfcTextPath::Value& const ifcopenshell::entity& Ifc4x3_rc4::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1189]); } -void Ifc4x3_rc4::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_rc4::IfcTextLiteral Ifc4x3_rc4::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_rc4::IfcPlanarExtent Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcPlanarExtent>(); } @@ -15882,7 +15882,7 @@ void Ifc4x3_rc4::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1190]); } -void Ifc4x3_rc4::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path, ::Ifc4x3_rc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_rc4::IfcTextLiteralWithExtent Ifc4x3_rc4::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path, ::Ifc4x3_rc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_rc4::IfcTextStyleForDefinedFont Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_rc4::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_rc4::IfcTextStyleForDefinedFont>(); } @@ -15896,7 +15896,7 @@ void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1192]); } -void Ifc4x3_rc4::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_rc4::IfcTextStyle Ifc4x3_rc4::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15912,7 +15912,7 @@ void Ifc4x3_rc4::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_rc4::IfcSizeS const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1193]); } -void Ifc4x3_rc4::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc4::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_rc4::IfcTextStyleFontModel Ifc4x3_rc4::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc4::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_rc4::IfcColour Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcColour>(); } @@ -15922,7 +15922,7 @@ void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1194]); } -void Ifc4x3_rc4::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc4::IfcColour v1_Colour, ::Ifc4x3_rc4::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_rc4::IfcTextStyleForDefinedFont Ifc4x3_rc4::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_rc4::IfcColour v1_Colour, ::Ifc4x3_rc4::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_rc4::IfcSizeSelect Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_rc4::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcSizeSelect>(); } @@ -15942,7 +15942,7 @@ void Ifc4x3_rc4::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_rc4::IfcSiz const ifcopenshell::entity& Ifc4x3_rc4::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1195]); } -void Ifc4x3_rc4::IfcTextStyleTextModel::initialize(::Ifc4x3_rc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc4::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_rc4::IfcTextStyleTextModel Ifc4x3_rc4::IfcTextStyleTextModel::initialize(::Ifc4x3_rc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc4::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > Ifc4x3_rc4::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcSurfaceTexture>(es); } @@ -15950,7 +15950,7 @@ void Ifc4x3_rc4::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1197]); } -void Ifc4x3_rc4::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_rc4::IfcTextureCoordinate Ifc4x3_rc4::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_rc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15960,7 +15960,7 @@ void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1198]); } -void Ifc4x3_rc4::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_rc4::IfcTextureCoordinateGenerator Ifc4x3_rc4::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_rc4::IfcTextureVertex > Ifc4x3_rc4::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_rc4::IfcTextureVertex>(es); } @@ -15970,7 +15970,7 @@ void Ifc4x3_rc4::IfcTextureMap::setMappedTo(const ::Ifc4x3_rc4::IfcFace& v) { se const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1199]); } -void Ifc4x3_rc4::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc4::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc4::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_rc4::IfcTextureMap Ifc4x3_rc4::IfcTextureMap::initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc4::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc4::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_rc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -15978,7 +15978,7 @@ void Ifc4x3_rc4::IfcTextureVertex::setCoordinates(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1200]); } -void Ifc4x3_rc4::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_rc4::IfcTextureVertex Ifc4x3_rc4::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_rc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -15986,7 +15986,7 @@ void Ifc4x3_rc4::IfcTextureVertexList::setTexCoordsList(const std::vector< std:: const ifcopenshell::entity& Ifc4x3_rc4::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1201]); } -void Ifc4x3_rc4::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_rc4::IfcTextureVertexList Ifc4x3_rc4::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcThirdOrderPolynomialSpiral double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } @@ -16000,7 +16000,7 @@ void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::optio const ifcopenshell::entity& Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1208]); } -void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); } } +Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_rc4::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -16010,7 +16010,7 @@ void Ifc4x3_rc4::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute const ifcopenshell::entity& Ifc4x3_rc4::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1212]); } -void Ifc4x3_rc4::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_rc4::IfcTimePeriod Ifc4x3_rc4::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_rc4::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -16033,7 +16033,7 @@ void Ifc4x3_rc4::IfcTimeSeries::setUnit(const ::Ifc4x3_rc4::IfcUnit& v) { set_at std::vector<::Ifc4x3_rc4::IfcExternalReferenceRelationship> Ifc4x3_rc4::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[433], 3)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1213]); } -void Ifc4x3_rc4::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_rc4::IfcTimeSeries Ifc4x3_rc4::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_rc4::IfcValue > Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcValue>(es); } @@ -16041,19 +16041,19 @@ void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_r const ifcopenshell::entity& Ifc4x3_rc4::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1215]); } -void Ifc4x3_rc4::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc4::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_rc4::IfcTimeSeriesValue Ifc4x3_rc4::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_rc4::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_rc4::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1217]); } -void Ifc4x3_rc4::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_rc4::IfcTopologicalRepresentationItem Ifc4x3_rc4::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_rc4::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1218]); } -void Ifc4x3_rc4::IfcTopologyRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_rc4::IfcTopologyRepresentation Ifc4x3_rc4::IfcTopologyRepresentation::initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_rc4::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -16063,7 +16063,7 @@ void Ifc4x3_rc4::IfcToroidalSurface::setMinorRadius(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_rc4::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1219]); } -void Ifc4x3_rc4::IfcToroidalSurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_rc4::IfcToroidalSurface Ifc4x3_rc4::IfcToroidalSurface::initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > Ifc4x3_rc4::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16071,7 +16071,7 @@ void Ifc4x3_rc4::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1221]); } -void Ifc4x3_rc4::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcTrackElement Ifc4x3_rc4::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16079,7 +16079,7 @@ void Ifc4x3_rc4::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_rc4::IfcT const ifcopenshell::entity& Ifc4x3_rc4::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1222]); } -void Ifc4x3_rc4::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTrackElementType Ifc4x3_rc4::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > Ifc4x3_rc4::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -16087,7 +16087,7 @@ void Ifc4x3_rc4::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_rc4::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1224]); } -void Ifc4x3_rc4::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcTransformer Ifc4x3_rc4::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16095,7 +16095,7 @@ void Ifc4x3_rc4::IfcTransformerType::setPredefinedType(const ::Ifc4x3_rc4::IfcTr const ifcopenshell::entity& Ifc4x3_rc4::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1225]); } -void Ifc4x3_rc4::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTransformerType Ifc4x3_rc4::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement ::Ifc4x3_rc4::IfcTransportElementTypeSelect Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_rc4::IfcTransportElementTypeSelect{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(); } @@ -16103,7 +16103,7 @@ void Ifc4x3_rc4::IfcTransportElement::setPredefinedType(const ::Ifc4x3_rc4::IfcT const ifcopenshell::entity& Ifc4x3_rc4::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1229]); } -void Ifc4x3_rc4::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType)); } +Ifc4x3_rc4::IfcTransportElement Ifc4x3_rc4::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_PredefinedType));; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_rc4::IfcTransportElementTypeSelect Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(); } @@ -16111,7 +16111,7 @@ void Ifc4x3_rc4::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1232]); } -void Ifc4x3_rc4::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType)); } +Ifc4x3_rc4::IfcTransportElementType Ifc4x3_rc4::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_PredefinedType));; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_rc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16125,7 +16125,7 @@ void Ifc4x3_rc4::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_rc4::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1234]); } -void Ifc4x3_rc4::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_rc4::IfcTrapeziumProfileDef Ifc4x3_rc4::IfcTrapeziumProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16139,7 +16139,7 @@ void Ifc4x3_rc4::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_rc4::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1235]); } -void Ifc4x3_rc4::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_rc4::IfcTriangulatedFaceSet Ifc4x3_rc4::IfcTriangulatedFaceSet::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16147,7 +16147,7 @@ void Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< in const ifcopenshell::entity& Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1236]); } -void Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_rc4::IfcTriangulatedIrregularNetwork Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_rc4::IfcCurve Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcCurve>(); } @@ -16163,7 +16163,7 @@ void Ifc4x3_rc4::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1237]); } -void Ifc4x3_rc4::IfcTrimmedCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_rc4::IfcTrimmedCurve Ifc4x3_rc4::IfcTrimmedCurve::initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16171,7 +16171,7 @@ void Ifc4x3_rc4::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1241]); } -void Ifc4x3_rc4::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcTubeBundle Ifc4x3_rc4::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16179,7 +16179,7 @@ void Ifc4x3_rc4::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_rc4::IfcTub const ifcopenshell::entity& Ifc4x3_rc4::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1242]); } -void Ifc4x3_rc4::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcTubeBundleType Ifc4x3_rc4::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_rc4::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16190,7 +16190,7 @@ void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(const std::optional< std::vec std::vector<::Ifc4x3_rc4::IfcRelDefinesByType> Ifc4x3_rc4::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[940], 5)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1244]); } -void Ifc4x3_rc4::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_rc4::IfcTypeObject Ifc4x3_rc4::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16203,7 +16203,7 @@ void Ifc4x3_rc4::IfcTypeProcess::setProcessType(const std::optional< std::string std::vector<::Ifc4x3_rc4::IfcRelAssignsToProcess> Ifc4x3_rc4::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[910], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1245]); } -void Ifc4x3_rc4::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_rc4::IfcTypeProcess Ifc4x3_rc4::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > Ifc4x3_rc4::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcRepresentationMap>(es); } @@ -16214,7 +16214,7 @@ void Ifc4x3_rc4::IfcTypeProduct::setTag(const std::optional< std::string >& v) { std::vector<::Ifc4x3_rc4::IfcRelAssignsToProduct> Ifc4x3_rc4::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[911], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1246]); } -void Ifc4x3_rc4::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcTypeProduct Ifc4x3_rc4::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_rc4::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16227,7 +16227,7 @@ void Ifc4x3_rc4::IfcTypeResource::setResourceType(const std::optional< std::stri std::vector<::Ifc4x3_rc4::IfcRelAssignsToResource> Ifc4x3_rc4::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_RC4_types[912], 6)); } const ifcopenshell::entity& Ifc4x3_rc4::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1247]); } -void Ifc4x3_rc4::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_rc4::IfcTypeResource Ifc4x3_rc4::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_rc4::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16247,7 +16247,7 @@ void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc4::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1258]); } -void Ifc4x3_rc4::IfcUShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_rc4::IfcUShapeProfileDef Ifc4x3_rc4::IfcUShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_rc4::IfcUnit > Ifc4x3_rc4::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcUnit>(es); } @@ -16255,7 +16255,7 @@ void Ifc4x3_rc4::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_rc4::If const ifcopenshell::entity& Ifc4x3_rc4::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1255]); } -void Ifc4x3_rc4::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc4::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_rc4::IfcUnitAssignment Ifc4x3_rc4::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_rc4::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16263,7 +16263,7 @@ void Ifc4x3_rc4::IfcUnitaryControlElement::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_rc4::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1249]); } -void Ifc4x3_rc4::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcUnitaryControlElement Ifc4x3_rc4::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16271,7 +16271,7 @@ void Ifc4x3_rc4::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_rc4::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1250]); } -void Ifc4x3_rc4::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcUnitaryControlElementType Ifc4x3_rc4::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16279,7 +16279,7 @@ void Ifc4x3_rc4::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_rc4::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1252]); } -void Ifc4x3_rc4::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcUnitaryEquipment Ifc4x3_rc4::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16287,7 +16287,7 @@ void Ifc4x3_rc4::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1253]); } -void Ifc4x3_rc4::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcUnitaryEquipmentType Ifc4x3_rc4::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > Ifc4x3_rc4::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16295,7 +16295,7 @@ void Ifc4x3_rc4::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_rc4:: const ifcopenshell::entity& Ifc4x3_rc4::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1260]); } -void Ifc4x3_rc4::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcValve Ifc4x3_rc4::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16303,7 +16303,7 @@ void Ifc4x3_rc4::IfcValveType::setPredefinedType(const ::Ifc4x3_rc4::IfcValveTyp const ifcopenshell::entity& Ifc4x3_rc4::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1261]); } -void Ifc4x3_rc4::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcValveType Ifc4x3_rc4::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_rc4::IfcDirection Ifc4x3_rc4::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcDirection>(); } @@ -16313,13 +16313,13 @@ void Ifc4x3_rc4::IfcVector::setMagnitude(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_rc4::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1264]); } -void Ifc4x3_rc4::IfcVector::initialize(::Ifc4x3_rc4::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_rc4::IfcVector Ifc4x3_rc4::IfcVector::initialize(::Ifc4x3_rc4::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_rc4::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1266]); } -void Ifc4x3_rc4::IfcVertex::initialize() { } +Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_rc4::IfcVertex Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcVertex>(); } @@ -16327,7 +16327,7 @@ void Ifc4x3_rc4::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_rc4::IfcVertex& v) const ifcopenshell::entity& Ifc4x3_rc4::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1267]); } -void Ifc4x3_rc4::IfcVertexLoop::initialize(::Ifc4x3_rc4::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_rc4::IfcVertexLoop Ifc4x3_rc4::IfcVertexLoop::initialize(::Ifc4x3_rc4::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_rc4::IfcPoint Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_rc4::IfcPoint>(); } @@ -16335,7 +16335,7 @@ void Ifc4x3_rc4::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_rc4::IfcPoint& const ifcopenshell::entity& Ifc4x3_rc4::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1268]); } -void Ifc4x3_rc4::IfcVertexPoint::initialize(::Ifc4x3_rc4::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_rc4::IfcVertexPoint Ifc4x3_rc4::IfcVertexPoint::initialize(::Ifc4x3_rc4::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16343,7 +16343,7 @@ void Ifc4x3_rc4::IfcVibrationDamper::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_rc4::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1269]); } -void Ifc4x3_rc4::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcVibrationDamper Ifc4x3_rc4::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16351,7 +16351,7 @@ void Ifc4x3_rc4::IfcVibrationDamperType::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1270]); } -void Ifc4x3_rc4::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_rc4::IfcVibrationDamperType Ifc4x3_rc4::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc4::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16359,7 +16359,7 @@ void Ifc4x3_rc4::IfcVibrationIsolator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_rc4::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1272]); } -void Ifc4x3_rc4::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcVibrationIsolator Ifc4x3_rc4::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16367,13 +16367,13 @@ void Ifc4x3_rc4::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_rc4: const ifcopenshell::entity& Ifc4x3_rc4::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1273]); } -void Ifc4x3_rc4::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcVibrationIsolatorType Ifc4x3_rc4::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement const ifcopenshell::entity& Ifc4x3_rc4::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1275]); } -void Ifc4x3_rc4::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcVirtualElement Ifc4x3_rc4::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_rc4::IfcGridAxis > Ifc4x3_rc4::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_rc4::IfcGridAxis>(es); } @@ -16383,13 +16383,13 @@ void Ifc4x3_rc4::IfcVirtualGridIntersection::setOffsetDistances(const std::vecto const ifcopenshell::entity& Ifc4x3_rc4::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1276]); } -void Ifc4x3_rc4::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_rc4::IfcVirtualGridIntersection Ifc4x3_rc4::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_rc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidStratum const ifcopenshell::entity& Ifc4x3_rc4::IfcVoidStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1279]); } -void Ifc4x3_rc4::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcVoidStratum Ifc4x3_rc4::IfcVoidStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc4::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16397,7 +16397,7 @@ void Ifc4x3_rc4::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1277]); } -void Ifc4x3_rc4::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcVoidingFeature Ifc4x3_rc4::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > Ifc4x3_rc4::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16405,19 +16405,19 @@ void Ifc4x3_rc4::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_rc4::I const ifcopenshell::entity& Ifc4x3_rc4::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1282]); } -void Ifc4x3_rc4::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcWall Ifc4x3_rc4::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallElementedCase const ifcopenshell::entity& Ifc4x3_rc4::IfcWallElementedCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1283]); } -void Ifc4x3_rc4::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcWallElementedCase Ifc4x3_rc4::IfcWallElementedCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1284]); } -void Ifc4x3_rc4::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcWallStandardCase Ifc4x3_rc4::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16425,7 +16425,7 @@ void Ifc4x3_rc4::IfcWallType::setPredefinedType(const ::Ifc4x3_rc4::IfcWallTypeE const ifcopenshell::entity& Ifc4x3_rc4::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1285]); } -void Ifc4x3_rc4::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcWallType Ifc4x3_rc4::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc4::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16433,7 +16433,7 @@ void Ifc4x3_rc4::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_rc4::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1290]); } -void Ifc4x3_rc4::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcWasteTerminal Ifc4x3_rc4::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16441,13 +16441,13 @@ void Ifc4x3_rc4::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_rc4::Ifc const ifcopenshell::entity& Ifc4x3_rc4::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1291]); } -void Ifc4x3_rc4::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_rc4::IfcWasteTerminalType Ifc4x3_rc4::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWaterStratum const ifcopenshell::entity& Ifc4x3_rc4::IfcWaterStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1293]); } -void Ifc4x3_rc4::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_rc4::IfcWaterStratum Ifc4x3_rc4::IfcWaterStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_rc4::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16463,7 +16463,7 @@ void Ifc4x3_rc4::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_rc4::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1294]); } -void Ifc4x3_rc4::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc4::IfcWindow Ifc4x3_rc4::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16493,7 +16493,7 @@ void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::o const ifcopenshell::entity& Ifc4x3_rc4::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1295]); } -void Ifc4x3_rc4::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_rc4::IfcWindowLiningProperties Ifc4x3_rc4::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16509,13 +16509,13 @@ void Ifc4x3_rc4::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1298]); } -void Ifc4x3_rc4::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_rc4::IfcWindowPanelProperties Ifc4x3_rc4::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowStandardCase const ifcopenshell::entity& Ifc4x3_rc4::IfcWindowStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1299]); } -void Ifc4x3_rc4::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc4::IfcWindowStandardCase Ifc4x3_rc4::IfcWindowStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowStyle ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } @@ -16529,7 +16529,7 @@ void Ifc4x3_rc4::IfcWindowStyle::setSizeable(const bool& v) { set_attribute_valu const ifcopenshell::entity& Ifc4x3_rc4::IfcWindowStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1300]); } -void Ifc4x3_rc4::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable)); } +Ifc4x3_rc4::IfcWindowStyle Ifc4x3_rc4::IfcWindowStyle::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16543,7 +16543,7 @@ void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_rc4::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1303]); } -void Ifc4x3_rc4::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_rc4::IfcWindowType Ifc4x3_rc4::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > Ifc4x3_rc4::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_rc4::IfcWorkTime>(es); } @@ -16555,7 +16555,7 @@ void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1306]); } -void Ifc4x3_rc4::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_rc4::IfcWorkCalendar Ifc4x3_rc4::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_rc4::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16575,7 +16575,7 @@ void Ifc4x3_rc4::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1308]); } -void Ifc4x3_rc4::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_rc4::IfcWorkControl Ifc4x3_rc4::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc4::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16583,7 +16583,7 @@ void Ifc4x3_rc4::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_rc const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1309]); } -void Ifc4x3_rc4::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc4::IfcWorkPlan Ifc4x3_rc4::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc4::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16591,7 +16591,7 @@ void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1311]); } -void Ifc4x3_rc4::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_rc4::IfcWorkSchedule Ifc4x3_rc4::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_rc4::IfcRecurrencePattern Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_rc4::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_rc4::IfcRecurrencePattern>(); } @@ -16603,7 +16603,7 @@ void Ifc4x3_rc4::IfcWorkTime::setFinish(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_rc4::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1313]); } -void Ifc4x3_rc4::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); } } +Ifc4x3_rc4::IfcWorkTime Ifc4x3_rc4::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_rc4::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16621,7 +16621,7 @@ void Ifc4x3_rc4::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_rc4::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1315]); } -void Ifc4x3_rc4::IfcZShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_rc4::IfcZShapeProfileDef Ifc4x3_rc4::IfcZShapeProfileDef::initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_rc4::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16629,5 +16629,5 @@ void Ifc4x3_rc4::IfcZone::setLongName(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4x3_rc4::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_RC4_types[1314]); } -void Ifc4x3_rc4::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_rc4::IfcZone Ifc4x3_rc4::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_rc4.h b/src/ifcparse/schemas/Ifc4x3_rc4.h index 7eeafb42c5..6d7f64c301 100644 --- a/src/ifcparse/schemas/Ifc4x3_rc4.h +++ b/src/ifcparse/schemas/Ifc4x3_rc4.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1105,8 +1092,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1138,8 +1124,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1162,8 +1147,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1188,8 +1172,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1281,8 +1264,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1742,8 +1723,7 @@ public: class IFC_PARSE_API IfcFacilityPartTypeSelect : public express::Select { public: - IfcFacilityPartTypeSelect() {} - explicit IfcFacilityPartTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1785,8 +1765,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1833,8 +1812,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1866,8 +1844,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1888,8 +1865,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1908,8 +1884,7 @@ public: class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public express::Select { public: - IfcImpactProtectionDeviceTypeSelect() {} - explicit IfcImpactProtectionDeviceTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1934,8 +1909,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1960,8 +1934,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1989,8 +1962,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2030,8 +2002,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2075,8 +2046,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2109,8 +2079,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2266,8 +2235,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2978,8 +2946,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3000,8 +2967,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3022,8 +2988,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3044,8 +3009,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3112,8 +3076,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3141,8 +3104,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3161,8 +3123,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3189,8 +3150,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3209,8 +3169,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3231,8 +3190,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3349,8 +3307,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3371,8 +3328,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3391,8 +3347,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3421,8 +3376,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3459,8 +3413,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3562,8 +3515,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3612,8 +3564,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3643,8 +3594,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3663,8 +3613,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3692,8 +3641,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3720,8 +3668,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3748,8 +3695,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3782,8 +3728,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3826,8 +3771,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3847,8 +3791,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3869,8 +3812,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3889,8 +3831,7 @@ public: class IFC_PARSE_API IfcTransportElementTypeSelect : public express::Select { public: - IfcTransportElementTypeSelect() {} - explicit IfcTransportElementTypeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3913,8 +3854,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3945,8 +3885,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3980,8 +3919,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4661,8 +4599,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4683,8 +4620,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4713,16 +4649,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4732,16 +4667,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_SNOW_S, IfcActionSourceType_WIND_W, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_FIRE, IfcActionSourceType_IMPULSE, IfcActionSourceType_IMPACT, IfcActionSourceType_TRANSPORT, IfcActionSourceType_ERECTION, IfcActionSourceType_PROPPING, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_CREEP, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_BUOYANCY, IfcActionSourceType_ICE, IfcActionSourceType_CURRENT, IfcActionSourceType_WAVE, IfcActionSourceType_RAIN, IfcActionSourceType_BRAKES, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4753,16 +4687,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_EXTRAORDINARY_A, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4783,16 +4716,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4808,16 +4740,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_HOME, IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4833,16 +4764,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4860,16 +4790,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4890,16 +4819,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4918,76 +4846,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_PARABOLICARC, IfcAlignmentVerticalSegmentType_CLOTHOID} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4998,16 +4921,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -5019,31 +4941,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -5060,16 +4980,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5086,16 +5005,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_SITE, IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5114,16 +5032,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL, IfcAudioVisualApplianceType_RECORDINGEQUIPMENT, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5142,31 +5059,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5210,46 +5125,43 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_JOIST, IfcBeamType_HOLLOWCORE, IfcBeamType_LINTEL, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_DIAPHRAGM, IfcBeamType_PIERCAP, IfcBeamType_HATSTONE, IfcBeamType_CORNICE, IfcBeamType_EDGEBEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeDisplacementEnum : public express::DeclaredType { public: - IfcBearingTypeDisplacementEnum() {} - explicit IfcBearingTypeDisplacementEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingTypeDisplacement_FIXED_MOVEMENT, IfcBearingTypeDisplacement_GUIDED_LONGITUDINAL, IfcBearingTypeDisplacement_GUIDED_TRANSVERSAL, IfcBearingTypeDisplacement_FREE_MOVEMENT, IfcBearingTypeDisplacement_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeDisplacementEnum initialize(Value v); + IfcBearingTypeDisplacementEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_SPHERICAL, IfcBearingType_ELASTOMERIC, IfcBearingType_POT, IfcBearingType_GUIDE, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_DISK, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5294,16 +5206,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_EQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_INCLUDES, IfcBenchmark_NOTINCLUDES, IfcBenchmark_INCLUDEDIN, IfcBenchmark_NOTINCLUDEDIN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5317,16 +5228,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_WATER, IfcBoilerType_STEAM, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5340,46 +5250,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_UNION, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_DIFFERENCE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5392,16 +5299,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5417,16 +5323,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5445,31 +5350,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_REINFORCING, IfcBuildingSystemType_PRESTRESSING, IfcBuildingSystemType_EROSIONPREVENTION, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5481,16 +5384,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5505,16 +5407,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5529,16 +5430,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5554,16 +5454,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_FANOUT, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5580,31 +5479,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5620,16 +5517,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_NOCHANGE, IfcChangeAction_MODIFIED, IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5644,16 +5540,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_WATERCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5668,16 +5563,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5704,16 +5598,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5732,16 +5625,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PILASTER, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5762,16 +5654,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL, IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT, IfcCommunicationsApplianceType_OPTICALNETWORKUNIT, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_OPTICALLINETERMINAL, IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT, IfcCommunicationsApplianceType_RADIOBLOCKCENTER, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5784,16 +5675,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5820,16 +5710,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_DYNAMIC, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROTARY, IfcCompressorType_SCROLL, IfcCompressorType_TROCHOIDAL, IfcCompressorType_SINGLESTAGE, IfcCompressorType_BOOSTER, IfcCompressorType_OPENTYPE, IfcCompressorType_HERMETIC, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARYVANE, IfcCompressorType_SINGLESCREW, IfcCompressorType_TWINSCREW, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5847,16 +5736,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5881,16 +5769,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_ATEND, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5912,16 +5799,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_ADVISORY, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5940,16 +5826,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5969,16 +5854,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_NOTDEFINED, IfcConstructionMaterialResourceType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5991,16 +5875,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -6019,31 +5902,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_MULTIPOSITION, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -6067,16 +5948,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -6093,16 +5973,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6113,16 +5992,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6140,31 +6018,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_TENDER, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_FILTER, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6212,16 +6088,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_FLOORING, IfcCoveringType_CLADDING, IfcCoveringType_ROOFING, IfcCoveringType_MOLDING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_SLEEVING, IfcCoveringType_WRAPPING, IfcCoveringType_COPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6234,16 +6109,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6257,16 +6131,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6288,16 +6161,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6319,16 +6191,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6341,16 +6212,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6412,16 +6282,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6434,16 +6303,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_POSITIVE, IfcDirectionSense_NEGATIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6457,31 +6325,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_POINTMACHINEMOUNTINGDEVICE, IfcDiscreteAccessoryType_POINT_MACHINE_LOCKING_DEVICE, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_DISPATCHINGBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6502,31 +6368,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6578,16 +6442,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK, IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM, IfcDistributionSystem_MOBILENETWORK, IfcDistributionSystem_MONITORINGSYSTEM, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6604,16 +6467,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6621,16 +6483,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6668,16 +6529,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6689,16 +6549,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6710,16 +6569,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcDoorStyleConstructionEnum : public express::DeclaredType { public: - IfcDoorStyleConstructionEnum() {} - explicit IfcDoorStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleConstruction_ALUMINIUM, IfcDoorStyleConstruction_HIGH_GRADE_STEEL, IfcDoorStyleConstruction_STEEL, IfcDoorStyleConstruction_WOOD, IfcDoorStyleConstruction_ALUMINIUM_WOOD, IfcDoorStyleConstruction_ALUMINIUM_PLASTIC, IfcDoorStyleConstruction_PLASTIC, IfcDoorStyleConstruction_USERDEFINED, IfcDoorStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleConstructionEnum initialize(Value v); + IfcDoorStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate as shown in Figure 167. @@ -6893,16 +6751,15 @@ public: /// parameter. class IFC_PARSE_API IfcDoorStyleOperationEnum : public express::DeclaredType { public: - IfcDoorStyleOperationEnum() {} - explicit IfcDoorStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorStyleOperation_SINGLE_SWING_LEFT, IfcDoorStyleOperation_SINGLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorStyleOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorStyleOperation_DOUBLE_SWING_LEFT, IfcDoorStyleOperation_DOUBLE_SWING_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorStyleOperation_SLIDING_TO_LEFT, IfcDoorStyleOperation_SLIDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_SLIDING, IfcDoorStyleOperation_FOLDING_TO_LEFT, IfcDoorStyleOperation_FOLDING_TO_RIGHT, IfcDoorStyleOperation_DOUBLE_DOOR_FOLDING, IfcDoorStyleOperation_REVOLVING, IfcDoorStyleOperation_ROLLINGUP, IfcDoorStyleOperation_USERDEFINED, IfcDoorStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorStyleOperationEnum initialize(Value v); + IfcDoorStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6923,16 +6780,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_BOOM_BARRIER, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -7117,16 +6973,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_DOUBLE_SWING, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_SLIDING, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_FOLDING, IfcDoorTypeOperation_REVOLVING_HORIZONTAL, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_DOUBLE_PANEL_LIFTING_VERTICAL, IfcDoorTypeOperation_LIFTING_HORIZONTAL, IfcDoorTypeOperation_LIFTING_VERTICAL_LEFT, IfcDoorTypeOperation_LIFTING_VERTICAL_RIGHT, IfcDoorTypeOperation_REVOLVING_VERTICAL, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -7164,16 +7019,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -7193,16 +7047,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -7217,46 +7070,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_CUT, IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -7290,16 +7140,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7314,16 +7163,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7338,31 +7186,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7377,16 +7223,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7402,16 +7247,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7425,16 +7269,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7458,16 +7301,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_MAST, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_GRID, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7484,16 +7326,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7506,16 +7347,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7536,16 +7376,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7563,16 +7402,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7589,16 +7427,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7614,16 +7451,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_STARTEVENT, IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7644,46 +7480,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7702,16 +7535,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7725,16 +7557,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7752,16 +7583,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7779,16 +7609,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_FIREMONITOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7801,16 +7630,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SOURCE, IfcFlowDirection_SINK, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7831,16 +7659,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7860,16 +7687,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7888,16 +7714,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7915,31 +7740,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_CHAIR, IfcFurnitureType_TABLE, IfcFurnitureType_DESK, IfcFurnitureType_BED, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_TERRAIN, IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7985,16 +7808,15 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -8005,31 +7827,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_RECTANGULAR, IfcGridType_RADIAL, IfcGridType_TRIANGULAR, IfcGridType_IRREGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -8043,16 +7863,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -8077,31 +7896,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -8116,16 +7933,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8185,16 +8001,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -8208,16 +8023,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -8229,31 +8043,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_UNIFORM_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8282,16 +8094,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8313,16 +8124,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8336,16 +8146,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8364,16 +8173,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8395,16 +8203,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8420,31 +8227,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8470,16 +8275,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8728,46 +8532,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_CANAL, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_REVETMENT, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_CREST, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_CORE, IfcMarinePartType_WATERFIELD, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CHAMBER, IfcMarinePartType_STORAGEAREA, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_PROTECTION, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8789,16 +8590,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8816,16 +8616,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8873,46 +8672,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STRINGER, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_STIFFENING_RIB, IfcMemberType_ARCH_SEGMENT, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_SUSPENDER, IfcMemberType_STAY_CABLE, IfcMemberType_STRUCTURALCABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT, IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER, IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER, IfcMobileTelecommunicationsApplianceType_MSCSERVER, IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT, IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8926,31 +8722,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the applicable object categories, that is, the subtypes at the 2nd level of the IFC inheritance tree. Attached to an object, it indicates to which subtype of IfcObject the entity referencing it would otherwise comply with. @@ -8958,16 +8752,15 @@ public: /// HISTORY New entity in IFC Release 1.0, has been renamed from IfcProxyEnum in IFC 2x. class IFC_PARSE_API IfcObjectTypeEnum : public express::DeclaredType { public: - IfcObjectTypeEnum() {} - explicit IfcObjectTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjectType_PRODUCT, IfcObjectType_PROCESS, IfcObjectType_CONTROL, IfcObjectType_RESOURCE, IfcObjectType_ACTOR, IfcObjectType_GROUP, IfcObjectType_PROJECT, IfcObjectType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectTypeEnum initialize(Value v); + IfcObjectTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -9001,16 +8794,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -9028,16 +8820,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9062,16 +8853,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -9089,31 +8879,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPavementTypeEnum : public express::DeclaredType { public: - IfcPavementTypeEnum() {} - explicit IfcPavementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPavementType_FLEXIBLE, IfcPavementType_RIGID, IfcPavementType_USERDEFINED, IfcPavementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPavementTypeEnum initialize(Value v); + IfcPavementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -9124,16 +8912,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -9160,16 +8947,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -9183,16 +8969,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -9220,16 +9005,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -9256,16 +9040,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -9283,16 +9066,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_DRIVEN, IfcPileType_JETGROUTING, IfcPileType_COHESION, IfcPileType_FRICTION, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9328,16 +9110,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9357,16 +9138,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9389,31 +9169,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_CURTAIN_PANEL, IfcPlateType_SHEET, IfcPlateType_FLANGE_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_SPLICE_PLATE, IfcPlateType_BASE_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9432,16 +9210,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9454,16 +9231,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_CURVE, IfcProfileType_AREA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9479,16 +9255,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9499,16 +9274,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9525,16 +9299,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9577,16 +9350,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9598,16 +9370,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9627,16 +9398,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9669,31 +9439,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_RACKRAIL, IfcRailType_BLADE, IfcRailType_GUARDRAIL, IfcRailType_STOCKRAIL, IfcRailType_CHECKRAIL, IfcRailType_RAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9718,46 +9486,43 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_HANDRAIL, IfcRailingType_GUARDRAIL, IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_PLAINTRACKSUPESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayTypeEnum : public express::DeclaredType { public: - IfcRailwayTypeEnum() {} - explicit IfcRailwayTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayType_USERDEFINED, IfcRailwayType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayTypeEnum initialize(Value v); + IfcRailwayTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9773,16 +9538,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_STRAIGHT, IfcRampFlightType_SPIRAL, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9835,16 +9599,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_HALF_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9870,31 +9633,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_DAILY, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_KILOPOINT, IfcReferentType_MILEPOINT, IfcReferentType_STATION, IfcReferentType_REFERENCEMARKER, IfcReferentType_LANDMARK, IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_POSITION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9915,31 +9676,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9963,16 +9722,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9986,76 +9744,71 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_BUS_STOP, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROADSIDE, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_SIDEWALK, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_SHOULDER, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_LAYBY, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadTypeEnum : public express::DeclaredType { public: - IfcRoadTypeEnum() {} - explicit IfcRoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadType_USERDEFINED, IfcRoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadTypeEnum initialize(Value v); + IfcRoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -10089,16 +9842,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_SUPPLIER, IfcRole_MANUFACTURER, IfcRole_CONTRACTOR, IfcRole_SUBCONTRACTOR, IfcRole_ARCHITECT, IfcRole_STRUCTURALENGINEER, IfcRole_COSTENGINEER, IfcRole_CLIENT, IfcRole_BUILDINGOWNER, IfcRole_BUILDINGOPERATOR, IfcRole_MECHANICALENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_PROJECTMANAGER, IfcRole_FACILITIESMANAGER, IfcRole_CIVILENGINEER, IfcRole_COMMISSIONINGENGINEER, IfcRole_ENGINEER, IfcRole_OWNER, IfcRole_CONSULTANT, IfcRole_CONSTRUCTIONMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_RESELLER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -10169,16 +9921,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_FLAT_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_BARREL_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FREEFORM, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -10210,16 +9961,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_EXA, IfcSIPrefix_PETA, IfcSIPrefix_TERA, IfcSIPrefix_GIGA, IfcSIPrefix_MEGA, IfcSIPrefix_KILO, IfcSIPrefix_HECTO, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_CENTI, IfcSIPrefix_MILLI, IfcSIPrefix_MICRO, IfcSIPrefix_NANO, IfcSIPrefix_PICO, IfcSIPrefix_FEMTO, IfcSIPrefix_ATTO} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -10263,16 +10013,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10296,16 +10045,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10320,16 +10068,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_UNIFORM, IfcSectionType_TAPERED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10362,16 +10109,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_COSENSOR, IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10381,16 +10127,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_START_START, IfcSequence_START_FINISH, IfcSequence_FINISH_START, IfcSequence_FINISH_FINISH, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10405,46 +10150,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_AWNING, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_PICTORAL, IfcSignType_MIRROR, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_VISUAL, IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10467,16 +10209,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_WEIGHT, IfcSimplePropertyTemplateType_Q_TIME} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10513,16 +10254,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_FLOOR, IfcSlabType_ROOF, IfcSlabType_LANDING, IfcSlabType_BASESLAB, IfcSlabType_APPROACH_SLAB, IfcSlabType_PAVING, IfcSlabType_WEARING, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10536,16 +10276,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10562,16 +10301,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10611,16 +10349,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_SPACE, IfcSpaceType_PARKING, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_EXTERNAL, IfcSpaceType_BERTH, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10650,16 +10387,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_INTERFERENCE, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10673,16 +10409,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10702,16 +10437,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_SPIRAL, IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10809,16 +10543,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_CURVED_RUN_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_LADDER, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10836,16 +10569,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_READWRITE, IfcState_READONLY, IfcState_LOCKED, IfcState_READWRITELOCKED, IfcState_READONLYLOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10865,16 +10597,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10897,16 +10628,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10923,16 +10653,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10951,16 +10680,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10973,16 +10701,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10998,16 +10725,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -11023,16 +10749,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_POSITIVE, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_BOTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -11053,16 +10778,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -11075,16 +10799,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -11112,16 +10835,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_OILRETENTIONTRAY, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -11133,16 +10855,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -11165,61 +10886,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ATTENDANCE, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_DUCT, IfcTendonConduitType_COUPLER, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -11231,16 +10948,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP, IfcTextPath_DOWN} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -11256,31 +10972,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_SLEEPER, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11296,16 +11010,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11326,46 +11039,43 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_DISCONTINUOUS, IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementFixedTypeEnum() {} - explicit IfcTransportElementFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementFixedType_ELEVATOR, IfcTransportElementFixedType_ESCALATOR, IfcTransportElementFixedType_MOVINGWALKWAY, IfcTransportElementFixedType_CRANEWAY, IfcTransportElementFixedType_LIFTINGGEAR, IfcTransportElementFixedType_HAULINGGEAR, IfcTransportElementFixedType_USERDEFINED, IfcTransportElementFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementFixedTypeEnum initialize(Value v); + IfcTransportElementFixedTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTransportElementNonFixedTypeEnum : public express::DeclaredType { public: - IfcTransportElementNonFixedTypeEnum() {} - explicit IfcTransportElementNonFixedTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementNonFixedType_VEHICLE, IfcTransportElementNonFixedType_VEHICLETRACKED, IfcTransportElementNonFixedType_ROLLINGSTOCK, IfcTransportElementNonFixedType_VEHICLEWHEELED, IfcTransportElementNonFixedType_VEHICLEAIR, IfcTransportElementNonFixedType_CARGO, IfcTransportElementNonFixedType_VEHICLEMARINE, IfcTransportElementNonFixedType_USERDEFINED, IfcTransportElementNonFixedType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementNonFixedTypeEnum initialize(Value v); + IfcTransportElementNonFixedTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11381,16 +11091,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11403,16 +11112,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11453,16 +11161,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11483,16 +11190,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_BASESTATIONCONTROLLER, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11509,16 +11215,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11566,31 +11271,29 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DRAWOFFCOCK, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11604,16 +11307,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11632,16 +11334,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11683,16 +11384,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_POLYGONAL, IfcWallType_ELEMENTEDWALL, IfcWallType_RETAININGWALL, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11711,16 +11411,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11809,16 +11508,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11887,16 +11585,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11908,16 +11605,15 @@ public: /// IFC Release 2x . class IFC_PARSE_API IfcWindowStyleConstructionEnum : public express::DeclaredType { public: - IfcWindowStyleConstructionEnum() {} - explicit IfcWindowStyleConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleConstruction_ALUMINIUM, IfcWindowStyleConstruction_HIGH_GRADE_STEEL, IfcWindowStyleConstruction_STEEL, IfcWindowStyleConstruction_WOOD, IfcWindowStyleConstruction_ALUMINIUM_WOOD, IfcWindowStyleConstruction_PLASTIC, IfcWindowStyleConstruction_OTHER_CONSTRUCTION, IfcWindowStyleConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleConstructionEnum initialize(Value v); + IfcWindowStyleConstructionEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic @@ -11996,16 +11692,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowStyleOperationEnum : public express::DeclaredType { public: - IfcWindowStyleOperationEnum() {} - explicit IfcWindowStyleOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowStyleOperation_SINGLE_PANEL, IfcWindowStyleOperation_DOUBLE_PANEL_VERTICAL, IfcWindowStyleOperation_DOUBLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_TRIPLE_PANEL_VERTICAL, IfcWindowStyleOperation_TRIPLE_PANEL_BOTTOM, IfcWindowStyleOperation_TRIPLE_PANEL_TOP, IfcWindowStyleOperation_TRIPLE_PANEL_LEFT, IfcWindowStyleOperation_TRIPLE_PANEL_RIGHT, IfcWindowStyleOperation_TRIPLE_PANEL_HORIZONTAL, IfcWindowStyleOperation_USERDEFINED, IfcWindowStyleOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowStyleOperationEnum initialize(Value v); + IfcWindowStyleOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -12026,16 +11721,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_WINDOW, IfcWindowType_SKYLIGHT, IfcWindowType_LIGHTDOME, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -12111,16 +11805,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -12136,16 +11829,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -12161,16 +11853,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -12186,16 +11877,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -12205,11 +11895,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -12219,11 +11908,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -12236,11 +11924,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -12250,31 +11937,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -12286,21 +11970,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -12310,11 +11992,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12362,11 +12043,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12382,11 +12062,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12439,11 +12118,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12454,11 +12132,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12469,11 +12146,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCountMeasure initialize(double v); operator double() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12485,11 +12161,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12500,11 +12175,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12527,11 +12201,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12548,11 +12221,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12591,11 +12263,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12606,11 +12277,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12622,11 +12292,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12636,11 +12305,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12650,11 +12318,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12665,11 +12332,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12679,11 +12345,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12693,11 +12358,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12707,11 +12371,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12723,11 +12386,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12737,11 +12399,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12751,11 +12412,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12765,11 +12425,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12788,11 +12447,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12809,11 +12467,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12841,11 +12498,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12855,11 +12511,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12869,11 +12524,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12891,11 +12545,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12905,11 +12558,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12917,11 +12569,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12940,11 +12591,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12954,11 +12604,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12968,11 +12617,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12984,11 +12632,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -13000,11 +12647,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -13012,11 +12658,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -13026,11 +12671,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -13040,11 +12684,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -13063,11 +12706,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -13082,11 +12724,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -13098,21 +12739,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -13122,11 +12761,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -13136,11 +12774,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -13150,11 +12787,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -13164,11 +12800,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -13192,11 +12826,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -13208,11 +12841,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -13224,11 +12856,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -13238,11 +12869,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -13252,11 +12882,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -13266,11 +12895,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -13280,11 +12908,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -13296,11 +12923,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -13312,11 +12938,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -13326,11 +12951,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -13340,11 +12964,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -13354,11 +12977,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13372,11 +12994,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13386,11 +13007,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13400,11 +13020,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13414,11 +13033,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13427,11 +13045,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13492,11 +13109,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13506,11 +13122,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13521,11 +13136,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13533,11 +13147,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13549,11 +13162,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13563,11 +13175,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13583,21 +13194,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13608,11 +13217,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13623,11 +13231,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13637,11 +13244,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13655,11 +13261,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13669,21 +13274,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13693,11 +13296,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13712,11 +13314,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13728,11 +13329,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13742,11 +13342,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13757,11 +13356,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13771,11 +13369,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13785,11 +13382,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13799,11 +13395,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13813,11 +13408,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13829,21 +13423,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13853,21 +13445,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13877,11 +13467,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13891,11 +13480,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13907,11 +13495,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13925,11 +13512,10 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13939,11 +13525,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13953,11 +13538,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13973,11 +13557,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13992,11 +13575,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -14014,11 +13596,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -14042,11 +13623,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -14061,11 +13641,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -14075,11 +13654,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -14089,11 +13667,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -14102,11 +13679,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -14115,11 +13691,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -14129,11 +13704,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -14145,11 +13719,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -14162,11 +13735,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -14178,11 +13750,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -14191,11 +13762,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -14205,11 +13775,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -14221,11 +13790,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -14235,11 +13803,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -14251,11 +13818,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -14265,11 +13831,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -14279,11 +13844,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -14293,11 +13857,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -14327,11 +13890,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -14341,11 +13903,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14356,11 +13917,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14377,8 +13937,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14396,7 +13955,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14405,8 +13964,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Purpose() const; @@ -14424,13 +13982,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14438,13 +13995,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14462,15 +14018,14 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_rc4::IfcOrganization ApplicationDeveloper() const; @@ -14486,7 +14041,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_rc4::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14504,8 +14059,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14544,7 +14098,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14553,8 +14107,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14596,7 +14149,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc4::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc4::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_rc4::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_rc4::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14615,15 +14168,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14637,8 +14189,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14660,7 +14211,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14674,8 +14225,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14688,7 +14238,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14702,8 +14252,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14725,7 +14274,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_rc4::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14738,15 +14287,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_rc4::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_rc4::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc4::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_rc4::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_rc4::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_rc4::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14764,12 +14312,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14789,8 +14336,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14800,7 +14346,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_rc4::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14812,8 +14358,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14823,7 +14368,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14833,8 +14378,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14844,7 +14388,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_rc4::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_rc4::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14860,8 +14404,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14891,7 +14434,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14941,8 +14484,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14952,7 +14494,7 @@ public: void setTargetCRS(const ::Ifc4x3_rc4::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14978,8 +14520,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -15004,7 +14545,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -15050,12 +14591,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -15066,8 +14606,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > Elements() const; @@ -15079,7 +14618,7 @@ public: void setUserDefinedType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_rc4::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -15092,8 +14631,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_rc4::IfcNamedUnit Unit() const; @@ -15103,7 +14641,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_rc4::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -15124,8 +14662,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -15150,7 +14687,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -15160,12 +14697,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -15178,8 +14714,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -15203,7 +14738,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -15215,12 +14750,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -15231,12 +14765,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -15247,12 +14780,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -15279,8 +14811,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -15297,15 +14828,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -15315,7 +14845,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc4::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_rc4::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -15327,8 +14857,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15355,7 +14884,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_rc4::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15366,8 +14895,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15385,7 +14913,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc4::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_rc4::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15404,8 +14932,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15420,15 +14947,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15438,7 +14964,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_rc4::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc4::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_rc4::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15453,8 +14979,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15487,7 +15012,7 @@ public: void setScaleZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); + IfcMapConversion initialize(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15496,8 +15021,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > MaterialClassifications() const; @@ -15507,7 +15031,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_rc4::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_rc4::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15535,15 +15059,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15570,8 +15093,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_rc4::IfcMaterial Material() const; @@ -15605,7 +15127,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15642,8 +15164,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > MaterialLayers() const; @@ -15658,7 +15179,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_rc4::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15705,8 +15226,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15716,7 +15236,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_rc4::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15737,15 +15257,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_rc4::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_rc4::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_rc4::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15754,8 +15273,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15778,7 +15296,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15787,8 +15305,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15807,7 +15324,7 @@ public: void setCompositeProfile(const ::Ifc4x3_rc4::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc4::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_rc4::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15816,15 +15333,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, ::Ifc4x3_rc4::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15859,13 +15375,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15879,8 +15394,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_rc4::IfcValue ValueComponent() const; @@ -15890,7 +15404,7 @@ public: void setUnitComponent(const ::Ifc4x3_rc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcValue v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_rc4::IfcValue v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15946,8 +15460,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_rc4::IfcBenchmarkEnum::Value Benchmark() const; @@ -15962,7 +15475,7 @@ public: void setReferencePath(const ::Ifc4x3_rc4::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc4::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc4::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc4::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_rc4::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_rc4::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15971,15 +15484,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15988,8 +15500,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_rc4::IfcDimensionalExponents Dimensions() const; @@ -15999,7 +15510,7 @@ public: void setUnitType(const ::Ifc4x3_rc4::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -16014,15 +15525,14 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_rc4::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_rc4::IfcObjectPlacement& v); std::vector< IfcProduct > PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -16035,8 +15545,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > > BenchmarkValues() const; @@ -16051,7 +15560,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc4::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_rc4::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -16063,8 +15572,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -16087,7 +15595,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -16101,8 +15609,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_rc4::IfcPersonAndOrganization OwningUser() const; @@ -16130,7 +15637,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_rc4::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_rc4::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc4::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_rc4::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -16143,8 +15650,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -16179,7 +15685,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_rc4::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -16188,8 +15694,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_rc4::IfcPerson ThePerson() const; @@ -16202,7 +15707,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPerson v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_rc4::IfcPerson v1_ThePerson, ::Ifc4x3_rc4::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -16211,8 +15716,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -16224,7 +15728,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -16237,23 +15741,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_rc4::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_rc4::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -16284,17 +15786,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -16313,8 +15814,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -16330,7 +15830,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -16347,8 +15847,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16368,7 +15867,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_rc4::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16377,15 +15876,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16406,8 +15904,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16420,7 +15917,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_rc4::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16594,8 +16091,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_rc4::IfcProfileTypeEnum::Value ProfileType() const; @@ -16607,7 +16103,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16634,8 +16130,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16655,18 +16150,17 @@ public: void setMapUnit(const ::Ifc4x3_rc4::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc4::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_rc4::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16716,8 +16210,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16730,7 +16223,7 @@ public: void setUnit(const ::Ifc4x3_rc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc4::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_rc4::IfcValue > v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16739,8 +16232,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16752,7 +16244,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16761,8 +16253,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. double CountValue() const; @@ -16774,7 +16265,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16783,8 +16274,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16796,7 +16286,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16805,8 +16295,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16818,7 +16307,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16827,8 +16316,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16840,7 +16328,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16849,8 +16337,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16862,7 +16349,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16872,8 +16359,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16914,13 +16400,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_rc4::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16934,7 +16419,7 @@ public: void setInnerReference(const ::Ifc4x3_rc4::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc4::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_rc4::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16984,8 +16469,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_rc4::IfcRepresentationContext ContextOfItems() const; @@ -17005,7 +16489,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -17019,8 +16503,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -17031,7 +16514,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -17067,14 +16550,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -17089,8 +16571,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -17103,15 +16584,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -17121,7 +16601,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -17134,8 +16614,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -17155,7 +16634,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -17166,8 +16645,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Prefix() const; @@ -17179,15 +16657,14 @@ public: void setName(const ::Ifc4x3_rc4::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc4::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc4::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -17201,7 +16678,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -17242,8 +16719,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -17267,7 +16743,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_rc4::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc4::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -17289,13 +16765,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17434,42 +16909,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17484,8 +16956,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > Values() const; @@ -17495,31 +16966,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17528,8 +16997,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17548,7 +17016,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17557,12 +17025,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17594,8 +17061,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17615,7 +17081,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_rc4::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_rc4::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17626,12 +17092,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17640,8 +17105,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17654,7 +17118,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17665,8 +17129,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_rc4::IfcSurfaceSide::Value Side() const; @@ -17676,7 +17139,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17691,8 +17154,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17712,7 +17174,7 @@ public: void setReflectanceColour(const ::Ifc4x3_rc4::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc4::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_rc4::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_rc4::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_rc4::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17721,8 +17183,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17732,7 +17193,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17743,8 +17204,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_rc4::IfcColourRgb SurfaceColour() const; @@ -17753,7 +17213,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17775,15 +17235,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17879,8 +17338,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17912,7 +17370,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17931,8 +17389,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17945,7 +17402,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_rc4::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17954,8 +17411,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17973,7 +17429,7 @@ public: void setReferencePath(const ::Ifc4x3_rc4::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit v4_Unit, ::Ifc4x3_rc4::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_rc4::IfcUnit v4_Unit, ::Ifc4x3_rc4::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17990,8 +17446,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > RowCells() const; @@ -18001,7 +17456,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -18013,8 +17468,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -18123,21 +17577,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_rc4::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_rc4::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc4::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_rc4::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -18147,8 +17600,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -18173,7 +17625,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -18205,8 +17657,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_rc4::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -18227,7 +17678,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_rc4::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_rc4::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -18248,8 +17699,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_rc4::IfcColour Colour() const; @@ -18259,7 +17709,7 @@ public: void setBackgroundColour(const ::Ifc4x3_rc4::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcColour v1_Colour, ::Ifc4x3_rc4::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_rc4::IfcColour v1_Colour, ::Ifc4x3_rc4::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -18270,8 +17720,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -18303,7 +17752,7 @@ public: void setLineHeight(const ::Ifc4x3_rc4::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc4::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_rc4::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc4::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_rc4::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_rc4::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -18318,14 +17767,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18355,8 +17803,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18370,7 +17817,7 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18425,8 +17872,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18437,7 +17883,7 @@ public: void setMappedTo(const ::Ifc4x3_rc4::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc4::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc4::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_rc4::IfcTextureVertex > v2_Vertices, ::Ifc4x3_rc4::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18468,27 +17914,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18498,8 +17942,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18509,7 +17952,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18518,8 +17961,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18548,7 +17990,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18561,15 +18003,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_rc4::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_rc4::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_rc4::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18578,12 +18019,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18621,12 +18061,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_rc4::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_rc4::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18635,15 +18074,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_rc4::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_rc4::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_rc4::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18657,12 +18095,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18675,15 +18112,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_rc4::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_rc4::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_rc4::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18746,8 +18182,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_rc4::IfcGridAxis > IntersectingAxes() const; @@ -18757,7 +18192,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_rc4::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18769,8 +18204,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18787,13 +18221,12 @@ public: void setFinish(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_Start, std::optional< std::string > v6_Finish); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18811,13 +18244,12 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3_rc4::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_rc4::IfcCartesianPoint& v); @@ -18835,7 +18267,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc4::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_rc4::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18846,8 +18278,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_rc4::IfcApproval RelatingApproval() const; @@ -18857,7 +18288,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_rc4::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc4::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_rc4::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18879,15 +18310,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_rc4::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_rc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18906,15 +18336,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_rc4::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_rc4::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18937,15 +18366,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_rc4::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_rc4::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc4::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_rc4::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18958,8 +18386,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18969,7 +18396,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -19002,15 +18429,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -19029,8 +18455,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -19084,7 +18509,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Location, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -19109,8 +18534,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_rc4::IfcClassificationReferenceSelect ReferencedSource() const; @@ -19126,19 +18550,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_rc4::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -19147,8 +18570,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -19158,7 +18580,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -19198,8 +18620,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_rc4::IfcProfileDef > Profiles() const; @@ -19209,7 +18630,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -19222,15 +18643,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_rc4::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_rc4::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -19247,8 +18667,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_rc4::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -19258,7 +18677,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_rc4::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_rc4::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -19281,8 +18700,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -19295,7 +18713,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_rc4::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -19306,8 +18724,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19315,7 +18732,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19366,8 +18783,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19378,7 +18794,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19400,15 +18816,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_rc4::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc4::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19423,8 +18838,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_rc4::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19445,7 +18859,7 @@ public: void setRateSource(const ::Ifc4x3_rc4::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc4::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_rc4::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc4::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19466,8 +18880,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19482,7 +18895,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc4::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_rc4::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_rc4::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19491,8 +18904,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19502,7 +18914,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19517,8 +18929,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19531,7 +18942,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect v2_CurveFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19540,8 +18951,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19555,7 +18965,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19643,8 +19053,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_rc4::IfcProfileDef ParentProfile() const; @@ -19657,15 +19066,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19737,7 +19145,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_rc4::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_rc4::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19749,8 +19157,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_rc4::IfcDocumentInformation RelatingDocument() const; @@ -19763,7 +19170,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_rc4::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19778,8 +19185,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19792,7 +19198,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19845,8 +19251,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_rc4::IfcVertex EdgeStart() const; @@ -19856,7 +19261,7 @@ public: void setEdgeEnd(const ::Ifc4x3_rc4::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19893,8 +19298,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_rc4::IfcCurve EdgeGeometry() const; @@ -19904,7 +19308,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19931,8 +19335,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19950,13 +19353,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19966,7 +19368,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19977,8 +19379,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19990,7 +19391,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -20038,8 +19439,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_rc4::IfcFaceBound > Bounds() const; @@ -20047,7 +19447,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -20056,8 +19456,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_rc4::IfcLoop Bound() const; @@ -20067,7 +19466,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -20076,12 +19475,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_rc4::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -20121,8 +19519,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_rc4::IfcSurface FaceSurface() const; @@ -20132,7 +19529,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -20143,8 +19540,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -20166,7 +19562,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -20204,8 +19600,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > FillStyles() const; @@ -20214,7 +19609,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_rc4::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -20265,8 +19660,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -20286,7 +19680,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc4::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_rc4::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_rc4::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -20309,12 +19703,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20331,8 +19724,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_rc4::IfcGeometricRepresentationContext ParentContext() const; @@ -20358,7 +19750,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_rc4::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20369,15 +19761,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20426,8 +19817,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_rc4::IfcVirtualGridIntersection PlacementLocation() const; @@ -20439,7 +19829,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20458,8 +19848,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_rc4::IfcSurface BaseSurface() const; @@ -20469,7 +19858,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20508,21 +19897,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_rc4::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc4::IfcTessellatedFaceSet& v); @@ -20534,13 +19921,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_rc4::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_rc4::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_rc4::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_rc4::IfcTessellatedFaceSet& v); @@ -20548,19 +19934,18 @@ public: void setTexCoords(const ::Ifc4x3_rc4::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_rc4::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20569,15 +19954,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, std::vector< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20618,8 +20002,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20631,7 +20014,7 @@ public: void setDurationType(const ::Ifc4x3_rc4::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc4::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_rc4::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20642,8 +20025,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20660,7 +20042,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20671,12 +20053,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20689,8 +20070,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20698,7 +20078,7 @@ public: void setOrientation(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20709,8 +20089,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_rc4::IfcAxis2Placement3D Position() const; @@ -20732,7 +20111,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcAxis2Placement3D v5_Position, ::Ifc4x3_rc4::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20751,8 +20130,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20773,7 +20151,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20792,8 +20170,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20812,13 +20189,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_rc4::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc4::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_rc4::IfcAxis2PlacementLinear RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_rc4::IfcAxis2PlacementLinear& v); @@ -20826,7 +20202,7 @@ public: void setCartesianPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20882,15 +20258,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_rc4::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_rc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_rc4::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20920,12 +20295,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20948,8 +20322,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_rc4::IfcRepresentationMap MappingSource() const; @@ -20959,7 +20332,7 @@ public: void setMappingTarget(const ::Ifc4x3_rc4::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_rc4::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20990,8 +20363,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -21017,7 +20389,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -21026,8 +20398,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -21047,7 +20418,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -21065,8 +20436,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -21079,7 +20449,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -21113,15 +20483,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_rc4::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_rc4::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations, ::Ifc4x3_rc4::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations, ::Ifc4x3_rc4::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -21225,8 +20594,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialLayerSet ForLayerSet() const; @@ -21257,7 +20625,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_rc4::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -21268,8 +20636,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialProfileSet ForProfileSet() const; @@ -21287,7 +20654,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21316,8 +20683,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_rc4::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21327,7 +20693,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_rc4::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc4::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21353,8 +20719,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21363,15 +20728,14 @@ public: void setMaterial(const ::Ifc4x3_rc4::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_rc4::IfcMaterial RelatingMaterial() const; @@ -21384,7 +20748,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_rc4::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_Expression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21415,12 +20779,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21474,8 +20837,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21486,13 +20848,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21504,7 +20865,7 @@ public: void setTags(const std::optional< std::vector< std::string > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); + IfcOpenCrossProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21567,12 +20928,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21582,8 +20942,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_rc4::IfcOrganization RelatingOrganization() const; @@ -21593,7 +20952,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_rc4::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc4::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_rc4::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21604,8 +20963,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_rc4::IfcEdge EdgeElement() const; @@ -21615,7 +20973,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_rc4::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21661,15 +21019,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_rc4::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21687,15 +21044,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21708,8 +21064,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > HasQuantities() const; @@ -21725,7 +21080,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21747,8 +21102,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21766,7 +21120,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_rc4::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21779,15 +21133,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_rc4::IfcPoint Location() const; void setLocation(const ::Ifc4x3_rc4::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_rc4::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21796,8 +21149,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21807,7 +21159,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21816,18 +21168,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3_rc4::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v); @@ -21841,7 +21191,7 @@ public: void setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc4::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3_rc4::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc4::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21854,8 +21204,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_rc4::IfcCurve BasisCurve() const; @@ -21865,7 +21214,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21878,8 +21227,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_rc4::IfcSurface BasisSurface() const; @@ -21892,7 +21240,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21935,15 +21283,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -22003,8 +21350,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_rc4::IfcAxis2Placement3D Position() const; @@ -22016,7 +21362,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_rc4::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -22027,25 +21373,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -22060,12 +21404,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -22081,14 +21424,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -22103,23 +21445,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_rc4::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_rc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v3_Properties, ::Ifc4x3_rc4::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -22135,7 +21475,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -22189,14 +21529,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -22208,8 +21547,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_rc4::IfcProperty DependingProperty() const; @@ -22222,7 +21560,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcProperty v3_DependingProperty, ::Ifc4x3_rc4::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -22268,15 +21606,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -22305,22 +21642,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22358,8 +21693,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22369,7 +21703,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22378,8 +21712,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22389,7 +21722,7 @@ public: void setValues(const std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc4::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc4::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_rc4::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22398,8 +21731,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22421,7 +21753,7 @@ public: void setBarCount(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< double > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22433,12 +21765,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22448,8 +21779,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22459,7 +21789,7 @@ public: void setRelatingApproval(const ::Ifc4x3_rc4::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22483,8 +21813,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_rc4::IfcConstraint RelatingConstraint() const; @@ -22494,14 +21823,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_rc4::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22550,7 +21878,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22591,15 +21919,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22608,8 +21935,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_rc4::IfcSectionTypeEnum::Value SectionType() const; @@ -22622,7 +21948,7 @@ public: void setEndProfile(const ::Ifc4x3_rc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22633,8 +21959,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22656,7 +21981,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc4::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_rc4::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22713,8 +22038,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_rc4::IfcCompositeCurve SpineCurve() const; @@ -22727,20 +22051,19 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_rc4::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_rc4::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3_rc4::IfcTransitionCode::Value& v); std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22756,26 +22079,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_rc4::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_rc4::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc4::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22788,8 +22109,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22802,7 +22122,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22811,12 +22131,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22825,8 +22144,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22848,7 +22166,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22857,8 +22175,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22871,7 +22188,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22880,8 +22197,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22903,22 +22219,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22928,8 +22243,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22951,7 +22265,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22963,15 +22277,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22985,15 +22298,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_rc4::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_rc4::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_rc4::IfcVertex v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -23007,12 +22319,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -23061,8 +22372,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -23097,7 +22407,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_rc4::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_rc4::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_rc4::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_rc4::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_rc4::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_rc4::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -23119,8 +22429,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_rc4::IfcProfileDef SweptArea() const; @@ -23130,7 +22439,7 @@ public: void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -23187,8 +22496,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_rc4::IfcCurve Directrix() const; @@ -23211,7 +22519,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -23225,15 +22533,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -23242,8 +22549,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_rc4::IfcProfileDef SweptCurve() const; @@ -23253,7 +22559,7 @@ public: void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -23285,8 +22591,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23317,17 +22622,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23341,8 +22645,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23356,7 +22659,7 @@ public: void setPath(const ::Ifc4x3_rc4::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23369,8 +22672,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_rc4::IfcPlanarExtent Extent() const; @@ -23380,7 +22682,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path, ::Ifc4x3_rc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path, ::Ifc4x3_rc4::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23449,8 +22751,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23472,7 +22773,7 @@ public: void setFontSize(const ::Ifc4x3_rc4::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc4::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_rc4::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23514,8 +22815,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23531,7 +22831,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23566,8 +22866,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23586,7 +22885,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23618,8 +22917,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23635,7 +22933,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23705,8 +23003,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > RepresentationMaps() const; @@ -23717,7 +23014,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23733,8 +23030,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23750,7 +23046,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23782,8 +23078,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23808,7 +23103,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23819,8 +23114,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_rc4::IfcDirection Orientation() const; @@ -23830,7 +23124,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_rc4::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23846,15 +23140,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_rc4::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_rc4::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_rc4::IfcVertex v1_LoopVertex); }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. /// @@ -23876,8 +23169,7 @@ public: /// HasPropertySets. See geometry use definitions there. class IFC_PARSE_API IfcWindowStyle : public IfcTypeProduct { public: - IfcWindowStyle() {} - explicit IfcWindowStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the basic construction and material type of the window. ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value ConstructionType() const; @@ -23893,7 +23185,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23922,8 +23214,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23945,7 +23236,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23962,12 +23253,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_rc4::IfcFaceBound > v1_Bounds, ::Ifc4x3_rc4::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23991,8 +23281,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -24006,7 +23295,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_rc4::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_rc4::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -24047,8 +23336,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -24079,7 +23367,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -24092,15 +23380,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_rc4::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -24115,15 +23402,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_rc4::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -24140,8 +23426,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_rc4::IfcDirection Axis() const; @@ -24151,13 +23436,12 @@ public: void setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3_rc4::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_rc4::IfcDirection& v); @@ -24165,7 +23449,7 @@ public: void setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3_rc4::IfcPoint v1_Location, ::Ifc4x3_rc4::IfcDirection v2_Axis, ::Ifc4x3_rc4::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -24195,8 +23479,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_rc4::IfcBooleanOperator::Value Operator() const; @@ -24209,7 +23492,7 @@ public: void setSecondOperand(const ::Ifc4x3_rc4::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -24225,12 +23508,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -24256,8 +23538,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_rc4::IfcCartesianPoint Corner() const; @@ -24273,7 +23554,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -24307,15 +23588,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_rc4::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_rc4::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_rc4::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -24341,8 +23621,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24361,7 +23640,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24372,31 +23651,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24404,13 +23680,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24418,7 +23693,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24452,8 +23727,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_rc4::IfcDirection Axis1() const; @@ -24469,7 +23743,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24478,12 +23752,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24497,15 +23770,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24514,15 +23786,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_rc4::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24537,8 +23808,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24548,7 +23818,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_rc4::IfcDirection v1_Axis1, ::Ifc4x3_rc4::IfcDirection v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_rc4::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24564,15 +23834,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24625,12 +23894,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_rc4::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24642,8 +23910,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24662,7 +23929,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24671,8 +23938,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24683,7 +23949,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc4::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_UsageName, std::vector< ::Ifc4x3_rc4::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24694,8 +23960,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24707,7 +23972,7 @@ public: void setParentCurve(const ::Ifc4x3_rc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24726,8 +23991,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > >& v); @@ -24735,7 +23999,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc4::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24752,8 +24016,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24778,7 +24041,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24792,15 +24055,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24809,15 +24071,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_rc4::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24862,15 +24123,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_rc4::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_rc4::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_rc4::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24884,12 +24144,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24906,8 +24165,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_rc4::IfcPlane BasisSurface() const; @@ -24920,7 +24178,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_rc4::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPlane v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc4::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_rc4::IfcPlane v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_rc4::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24945,8 +24203,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_rc4::IfcSurface BasisSurface() const; @@ -24958,13 +24215,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_rc4::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3_rc4::IfcPlacement Placement() const; void setPlacement(const ::Ifc4x3_rc4::IfcPlacement& v); @@ -24976,7 +24232,7 @@ public: void setParentCurve(const ::Ifc4x3_rc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc4::IfcPlacement v2_Placement, ::Ifc4x3_rc4::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc4::IfcCurve v5_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc4::IfcPlacement v2_Placement, ::Ifc4x3_rc4::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_rc4::IfcCurve v5_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24987,21 +24243,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_rc4::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v); @@ -25011,7 +24265,7 @@ public: void setEndParam(const ::Ifc4x3_rc4::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam); }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. /// @@ -25041,8 +24295,7 @@ public: /// See geometry use definitions at IfcDoorStyleOperationTypeEnum for the correct usage of opening symbols for different operation types. class IFC_PARSE_API IfcDoorStyle : public IfcTypeProduct { public: - IfcDoorStyle() {} - explicit IfcDoorStyle (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// Type defining the general layout and operation of the door style. ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value OperationType() const; @@ -25058,7 +24311,7 @@ public: void setSizeable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -25073,15 +24326,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_rc4::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_rc4::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -25162,8 +24414,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -25175,7 +24426,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -25201,15 +24452,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -25218,15 +24468,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_rc4::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -25246,8 +24495,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -25257,7 +24505,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -25267,8 +24515,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -25285,7 +24532,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -25357,8 +24604,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_rc4::IfcDirection ExtrudedDirection() const; @@ -25369,7 +24615,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25471,15 +24717,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_rc4::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25495,15 +24740,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_rc4::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25554,8 +24798,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_rc4::IfcCurveStyle HatchLineAppearance() const; @@ -25582,7 +24825,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_rc4::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_rc4::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_rc4::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25591,8 +24834,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_rc4::IfcVector > TilingPattern() const; @@ -25605,7 +24847,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc4::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_rc4::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_rc4::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25667,15 +24909,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_rc4::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25707,12 +24948,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25753,8 +24993,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25763,7 +25002,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25828,15 +25067,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25847,12 +25085,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_rc4::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25919,8 +25156,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25943,32 +25179,30 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); std::vector< IfcPolygonalFaceSet > ToFaceSet() const; // INVERSE IfcPolygonalFaceSet::Faces static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -26023,8 +25257,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -26046,7 +25279,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -26061,15 +25294,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -26086,8 +25318,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_rc4::IfcCartesianPoint Pnt() const; @@ -26097,7 +25328,7 @@ public: void setDir(const ::Ifc4x3_rc4::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc4::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_rc4::IfcCartesianPoint v1_Pnt, ::Ifc4x3_rc4::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -26164,15 +25395,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_rc4::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_rc4::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -26258,8 +25488,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -26270,19 +25499,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc4::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_rc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -26297,8 +25525,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -26308,7 +25535,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -26327,8 +25554,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -26341,13 +25567,12 @@ public: void setRefDirection(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression >& v); @@ -26355,7 +25580,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -26366,8 +25591,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc4::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_rc4::IfcSurface& v); @@ -26375,7 +25599,7 @@ public: void setReferenceCurve(const ::Ifc4x3_rc4::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -26385,8 +25609,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26394,7 +25617,7 @@ public: void setPlacement(const ::Ifc4x3_rc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26434,18 +25657,16 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position); }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: - IfcPolynomialCurve() {} - explicit IfcPolynomialCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc4::IfcPlacement Position() const; void setPosition(const ::Ifc4x3_rc4::IfcPlacement& v); @@ -26457,7 +25678,7 @@ public: void setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); + IfcPolynomialCurve initialize(::Ifc4x3_rc4::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26466,12 +25687,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26482,12 +25702,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26511,12 +25730,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26533,8 +25751,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26542,7 +25759,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26586,8 +25803,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26605,7 +25821,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26700,8 +25916,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_rc4::IfcObjectPlacement ObjectPlacement() const; @@ -26714,7 +25929,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26762,12 +25977,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26795,12 +26009,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26908,8 +26121,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_rc4::IfcValue UpperBoundValue() const; @@ -26927,7 +26139,7 @@ public: void setSetPointValue(const ::Ifc4x3_rc4::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc4::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc4::IfcUnit v5_Unit, ::Ifc4x3_rc4::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_UpperBoundValue, ::Ifc4x3_rc4::IfcValue v4_LowerBoundValue, ::Ifc4x3_rc4::IfcUnit v5_Unit, ::Ifc4x3_rc4::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -27008,8 +26220,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -27021,7 +26232,7 @@ public: void setEnumerationReference(const ::Ifc4x3_rc4::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -27090,8 +26301,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -27103,7 +26313,7 @@ public: void setUnit(const ::Ifc4x3_rc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_ListValues, ::Ifc4x3_rc4::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_ListValues, ::Ifc4x3_rc4::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -27122,8 +26332,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -27135,7 +26344,7 @@ public: void setPropertyReference(const ::Ifc4x3_rc4::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc4::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_UsageName, ::Ifc4x3_rc4::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -27192,15 +26401,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_rc4::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_rc4::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -27235,8 +26443,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -27260,7 +26467,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -27308,8 +26515,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -27323,7 +26529,7 @@ public: void setUnit(const ::Ifc4x3_rc4::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_NominalValue, ::Ifc4x3_rc4::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcValue v3_NominalValue, ::Ifc4x3_rc4::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27443,8 +26649,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27472,7 +26677,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_rc4::IfcUnit v6_DefiningUnit, ::Ifc4x3_rc4::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27500,14 +26705,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -27527,8 +26731,7 @@ public: /// HISTORY  New entity in IFC Release 1.5. class IFC_PARSE_API IfcProxy : public IfcProduct { public: - IfcProxy() {} - explicit IfcProxy (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. ::Ifc4x3_rc4::IfcObjectTypeEnum::Value ProxyType() const; @@ -27538,7 +26741,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); + IfcProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcObjectTypeEnum::Value v8_ProxyType, std::optional< std::string > v9_Tag); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27562,8 +26765,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27576,7 +26778,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27668,8 +26870,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27682,7 +26883,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27701,8 +26902,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_rc4::IfcSurface BasisSurface() const; @@ -27727,7 +26927,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_rc4::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27757,8 +26957,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27768,7 +26967,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_rc4::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27783,8 +26982,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > RelatedObjects() const; @@ -27795,7 +26993,7 @@ public: void setRelatedObjectsType(const std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27808,8 +27006,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_rc4::IfcActor RelatingActor() const; @@ -27819,7 +27016,7 @@ public: void setActingRole(const ::Ifc4x3_rc4::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27828,15 +27025,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_rc4::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_rc4::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27853,15 +27049,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_rc4::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_rc4::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27874,15 +27069,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27908,8 +27102,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27921,7 +27114,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_rc4::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc4::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_rc4::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27933,8 +27126,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27943,7 +27135,7 @@ public: void setRelatingProduct(const ::Ifc4x3_rc4::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27953,8 +27145,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27963,7 +27154,7 @@ public: void setRelatingResource(const ::Ifc4x3_rc4::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, std::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -28008,8 +27199,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -28018,22 +27208,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_rc4::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_rc4::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -28067,23 +27256,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_rc4::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_rc4::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -28093,7 +27280,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_rc4::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -28104,15 +27291,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_rc4::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_rc4::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -28123,15 +27309,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_rc4::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_rc4::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -28229,39 +27414,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_rc4::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_rc4::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_rc4::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_rc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -28287,8 +27469,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_rc4::IfcConnectionGeometry ConnectionGeometry() const; @@ -28301,7 +27482,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc4::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -28335,8 +27516,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -28352,7 +27532,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -28381,8 +27561,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_rc4::IfcPort RelatingPort() const; @@ -28394,7 +27573,7 @@ public: void setRelatedElement(const ::Ifc4x3_rc4::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -28411,8 +27590,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_rc4::IfcPort RelatingPort() const; @@ -28425,15 +27603,14 @@ public: void setRealizingElement(const ::Ifc4x3_rc4::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcPort v6_RelatedPort, ::Ifc4x3_rc4::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPort v5_RelatingPort, ::Ifc4x3_rc4::IfcPort v6_RelatedPort, ::Ifc4x3_rc4::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28443,7 +27620,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_rc4::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28471,8 +27648,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_rc4::IfcStructuralMember RelatingStructuralMember() const; @@ -28494,7 +27670,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28515,15 +27691,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_rc4::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_rc4::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc4::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_rc4::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_rc4::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_rc4::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_rc4::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_rc4::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28550,8 +27725,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_rc4::IfcElement > RealizingElements() const; @@ -28561,7 +27735,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_rc4::IfcElement v6_RelatingElement, ::Ifc4x3_rc4::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_rc4::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28625,8 +27799,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28638,7 +27811,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc4::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcProduct > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28658,8 +27831,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28671,7 +27843,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc4::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28701,8 +27873,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28714,7 +27885,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_rc4::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_rc4::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28729,8 +27900,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_rc4::IfcContext RelatingContext() const; @@ -28740,7 +27910,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_rc4::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28774,12 +27944,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28810,12 +27979,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28834,8 +28002,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_rc4::IfcObject > RelatedObjects() const; @@ -28845,7 +28012,7 @@ public: void setRelatingObject(const ::Ifc4x3_rc4::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28864,8 +28031,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > RelatedObjects() const; @@ -28875,7 +28041,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28891,8 +28057,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28902,7 +28067,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_rc4::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28975,8 +28140,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_rc4::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObject >& v); @@ -28985,7 +28149,7 @@ public: void setRelatingType(const ::Ifc4x3_rc4::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcObject > v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28998,8 +28162,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_rc4::IfcOpeningElement RelatingOpeningElement() const; @@ -29011,7 +28174,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_rc4::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -29022,8 +28185,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > RelatedControlElements() const; @@ -29033,7 +28195,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_rc4::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -29084,8 +28246,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_rc4::IfcInterferenceSelect RelatingElement() const; @@ -29106,7 +28267,7 @@ public: void setImpliedOrder(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3_rc4::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_rc4::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_InterferenceGeometry, ::Ifc4x3_rc4::IfcSpatialZone v8_InterferenceSpace, std::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -29135,8 +28296,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -29150,13 +28310,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_rc4::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_rc4::IfcPositioningElement& v); @@ -29164,7 +28323,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_rc4::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc4::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_rc4::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -29200,8 +28359,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_rc4::IfcElement RelatingElement() const; @@ -29211,7 +28369,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_rc4::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, ::Ifc4x3_rc4::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, ::Ifc4x3_rc4::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -29264,8 +28422,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -29278,7 +28435,7 @@ public: void setRelatingStructure(const ::Ifc4x3_rc4::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_rc4::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -29336,8 +28493,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_rc4::IfcProcess RelatingProcess() const; @@ -29366,7 +28522,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc4::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcProcess v5_RelatingProcess, ::Ifc4x3_rc4::IfcProcess v6_RelatedProcess, ::Ifc4x3_rc4::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -29391,8 +28547,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_rc4::IfcSystem RelatingSystem() const; @@ -29406,7 +28561,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_rc4::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc4::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_rc4::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29572,8 +28727,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_rc4::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29598,7 +28752,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29649,8 +28803,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29658,7 +28811,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29694,8 +28847,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29703,7 +28855,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_rc4::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_rc4::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29714,8 +28866,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_rc4::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_rc4::IfcElement& v); @@ -29723,7 +28874,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_rc4::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_rc4::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29750,14 +28901,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29774,8 +28924,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29791,7 +28940,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29871,8 +29020,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_rc4::IfcAxis1Placement Axis() const; @@ -29882,7 +29030,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29944,14 +29092,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_rc4::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_rc4::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_rc4::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30020,8 +29167,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -30031,7 +29177,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -30116,8 +29262,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -30127,13 +29272,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_rc4::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v); @@ -30141,13 +29285,12 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_rc4::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >& v); @@ -30155,13 +29298,12 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_rc4::IfcAxis2PlacementLinear > v3_CrossSectionPositions, bool v4_FixedAxisVertical); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_rc4::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_rc4::IfcCurve& v); @@ -30173,7 +29315,7 @@ public: void setFixedAxisVertical(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); + IfcSectionedSurface initialize(::Ifc4x3_rc4::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_rc4::IfcPointByDistanceExpression > v2_CrossSectionPositions, std::vector< ::Ifc4x3_rc4::IfcProfileDef > v3_CrossSections, bool v4_FixedAxisVertical); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -30222,8 +29364,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -30274,7 +29415,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc4::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc4::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_rc4::IfcUnit v9_PrimaryUnit, ::Ifc4x3_rc4::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -30309,8 +29450,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -30322,7 +29462,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -30357,15 +29497,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30443,8 +29582,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30454,7 +29592,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30492,12 +29630,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30550,15 +29687,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30592,8 +29728,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30602,7 +29737,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30656,39 +29791,36 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - IfcSpiral() {} - explicit IfcSpiral (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc4::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position); + IfcSpiral initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30785,8 +29917,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30815,7 +29946,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30906,13 +30037,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30920,13 +30050,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30950,12 +30079,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30979,8 +30107,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30990,7 +30117,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -31012,12 +30139,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -31043,15 +30169,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -31066,21 +30191,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_rc4::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_rc4::IfcCurve& v); @@ -31090,7 +30213,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -31156,15 +30279,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_rc4::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_rc4::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -31181,8 +30303,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_rc4::IfcDirection ExtrudedDirection() const; @@ -31192,7 +30313,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -31213,15 +30334,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_rc4::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_rc4::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -31255,14 +30375,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31511,8 +30630,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31555,7 +30673,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_rc4::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31599,8 +30717,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31611,13 +30728,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_rc4::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_rc4::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_rc4::IfcCartesianPointList3D& v); @@ -31625,13 +30741,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - IfcThirdOrderPolynomialSpiral() {} - explicit IfcThirdOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CubicTerm() const; void setCubicTerm(const double& v); @@ -31643,13 +30758,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31657,7 +30771,7 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -31724,21 +30838,19 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcElementType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcTransportElementTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31750,19 +30862,18 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31864,8 +30975,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31913,7 +31023,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_rc4::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31962,8 +31072,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31984,7 +31093,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -32003,8 +31112,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_rc4::IfcActorSelect TheActor() const; @@ -32012,7 +31120,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -32049,12 +31157,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -32079,14 +31186,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_rc4::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc4::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -32263,15 +31369,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -32344,8 +31449,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -32370,7 +31474,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -32381,8 +31485,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -32401,7 +31504,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc4::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32502,8 +31605,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32516,7 +31618,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32527,12 +31629,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32546,12 +31647,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32732,25 +31832,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32779,15 +31877,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32809,37 +31906,34 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double ClothoidConstant() const; void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32941,15 +32035,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_rc4::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32961,8 +32054,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32973,7 +32065,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -33043,8 +32135,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_rc4::IfcSegment > Segments() const; @@ -33054,7 +32145,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -33069,12 +32160,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -33083,15 +32173,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_rc4::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_rc4::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -33108,15 +32197,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -33133,15 +32221,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -33158,15 +32245,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -33242,8 +32328,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_rc4::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_rc4::IfcResourceTime& v); @@ -33253,7 +32338,7 @@ public: void setBaseQuantity(const ::Ifc4x3_rc4::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -33267,8 +32352,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -33279,13 +32363,12 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; class IFC_PARSE_API IfcCosine : public IfcSpiral { public: - IfcCosine() {} - explicit IfcCosine (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CosineTerm() const; void setCosineTerm(const double& v); @@ -33293,7 +32376,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); + IfcCosine initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -33333,8 +32416,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -33357,7 +32439,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_rc4::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_rc4::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -33384,8 +32466,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -33413,19 +32494,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33508,15 +32588,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33530,8 +32609,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33539,7 +32617,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33564,15 +32642,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33630,35 +32707,32 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_rc4::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: - IfcDirectrixDerivedReferenceSweptAreaSolid() {} - explicit IfcDirectrixDerivedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcFixedReferenceSweptAreaSolid(data) {} + using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference); + IfcDirectrixDerivedReferenceSweptAreaSolid initialize(::Ifc4x3_rc4::IfcProfileDef v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D v2_Position, ::Ifc4x3_rc4::IfcCurve v3_Directrix, ::Ifc4x3_rc4::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_rc4::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_rc4::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33690,12 +32764,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33764,12 +32837,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33868,8 +32940,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33918,7 +32989,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_rc4::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33967,8 +33038,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33989,7 +33059,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -34121,8 +33191,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_rc4::IfcDoorTypeEnum::Value PredefinedType() const; @@ -34136,7 +33205,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -34212,12 +33281,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -34234,12 +33302,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -34296,8 +33363,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -34316,7 +33382,7 @@ public: std::vector< IfcRelAdheresToElement > HasSurfaceFeatures() const; // INVERSE IfcRelAdheresToElement::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -34414,8 +33480,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -34427,7 +33492,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -34453,15 +33518,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34542,12 +33606,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34560,12 +33623,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34596,8 +33658,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34607,7 +33668,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34634,12 +33695,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34669,14 +33729,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc4::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34706,15 +33765,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34744,15 +33802,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34833,8 +33890,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34854,7 +33910,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_rc4::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc4::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc4::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34863,12 +33919,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34896,12 +33951,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34929,31 +33983,28 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_rc4::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_rc4::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_rc4::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_rc4::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_rc4::IfcFacilityPartTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFacilityPartTypeSelect& v); @@ -34961,7 +34012,7 @@ public: void setUsageType(const ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc4::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v11_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc4::IfcFacilityPartTypeSelect v10_PredefinedType, ::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v11_UsageType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34973,15 +34024,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -35008,15 +34058,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -35114,12 +34163,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -35178,13 +34226,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -35238,13 +34285,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -35270,12 +34316,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -35302,12 +34347,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -35343,15 +34387,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -35377,12 +34420,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -35417,12 +34459,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35433,12 +34474,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -35449,12 +34489,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35466,12 +34505,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35484,15 +34522,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_rc4::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35600,12 +34637,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35640,14 +34676,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35791,41 +34826,37 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_rc4::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_rc4::IfcBoundedCurve& v); @@ -35833,7 +34864,7 @@ public: void setEndPoint(const ::Ifc4x3_rc4::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint); + IfcGradientCurve initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35867,13 +34898,12 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35906,15 +34936,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35944,45 +34973,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_rc4::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_rc4::IfcCartesianPointList& v); @@ -35992,7 +35017,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_rc4::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_rc4::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -36029,24 +35054,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -36061,8 +35084,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -36088,7 +35110,7 @@ public: void setOriginalValue(const ::Ifc4x3_rc4::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc4::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc4::IfcCostValue v10_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -36119,27 +35141,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, bool v10_Mountable); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -36167,8 +35187,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -36176,7 +35195,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -36209,15 +35228,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_rc4::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -36252,49 +35270,45 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -36327,8 +35341,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -36339,7 +35352,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -36378,8 +35391,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -36392,7 +35404,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -36422,14 +35434,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36534,39 +35545,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_rc4::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36597,27 +35605,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36628,8 +35634,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36638,7 +35643,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36844,8 +35849,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36855,7 +35859,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -36952,12 +35956,11 @@ public: /// Figure 37 — Opening standard representation class IFC_PARSE_API IfcOpeningStandardCase : public IfcOpeningElement { public: - IfcOpeningStandardCase() {} - explicit IfcOpeningStandardCase (const std::weak_ptr& data) : IfcOpeningElement(data) {} + using IfcOpeningElement::IfcOpeningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36990,27 +35993,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_rc4::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcPavementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPavementTypeEnum::Value v10_PredefinedType); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPavementTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -37019,8 +36020,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -37032,7 +36032,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -37067,8 +36067,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -37087,7 +36086,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_rc4::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_rc4::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -37128,8 +36127,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -37148,7 +36146,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -37159,15 +36157,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_rc4::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -37200,15 +36197,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -37245,25 +36241,23 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPlant : public IfcGeographicElement { public: - IfcPlant() {} - explicit IfcPlant (const std::weak_ptr& data) : IfcGeographicElement(data) {} + using IfcGeographicElement::IfcGeographicElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcPlant initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -37344,21 +36338,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_rc4::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -37368,7 +36360,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_rc4::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_rc4::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -37386,15 +36378,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_rc4::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -37451,27 +36442,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37579,8 +36568,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37588,7 +36576,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37635,8 +36623,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37659,7 +36646,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37770,8 +36757,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37780,7 +36766,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37819,15 +36805,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37859,27 +36844,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_rc4::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37903,27 +36886,25 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_rc4::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v10_PredefinedType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37947,15 +36928,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37992,15 +36972,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_rc4::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -38017,21 +36996,19 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_rc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value >& v); @@ -38039,7 +37016,7 @@ public: void setRestartDistance(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v8_PredefinedType, std::optional< double > v9_RestartDistance); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -38051,26 +37028,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38098,8 +37073,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -38122,7 +37096,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -38137,8 +37111,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -38173,13 +37146,12 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v20_BendingParameters); }; class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { public: - IfcRelAdheresToElement() {} - explicit IfcRelAdheresToElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_rc4::IfcElement RelatingElement() const; void setRelatingElement(const ::Ifc4x3_rc4::IfcElement& v); @@ -38187,7 +37159,7 @@ public: void setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); + IfcRelAdheresToElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_rc4::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -38213,8 +37185,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -38228,19 +37199,18 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_rc4::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_rc4::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_rc4::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v10_PredefinedType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -38276,15 +37246,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_rc4::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -38325,31 +37294,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_rc4::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_rc4::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: - IfcSecondOrderPolynomialSpiral() {} - explicit IfcSecondOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QuadraticTerm() const; void setQuadraticTerm(const double& v); @@ -38359,13 +37325,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSecondOrderPolynomialSpiral initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_rc4::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_rc4::IfcBoundedCurve& v); @@ -38373,13 +37338,12 @@ public: void setEndPoint(const ::Ifc4x3_rc4::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint); + IfcSegmentedReferenceCurve initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc4::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_rc4::IfcPlacement v4_EndPoint); }; class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: - IfcSeventhOrderPolynomialSpiral() {} - explicit IfcSeventhOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SepticTerm() const; void setSepticTerm(const double& v); @@ -38399,7 +37363,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); + IfcSeventhOrderPolynomialSpiral initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -38424,57 +37388,52 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_rc4::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc4::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSignalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSine : public IfcSpiral { public: - IfcSine() {} - explicit IfcSine (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SineTerm() const; void setSineTerm(const double& v); @@ -38484,7 +37443,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSine initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38677,8 +37636,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38700,7 +37658,7 @@ public: void setSiteAddress(const ::Ifc4x3_rc4::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc4::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_rc4::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38781,15 +37739,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_rc4::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38819,24 +37776,22 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSolidStratum : public IfcGeotechnicalStratum { public: - IfcSolidStratum() {} - explicit IfcSolidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcSolidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -39090,8 +38045,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -39107,7 +38061,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -39141,15 +38095,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -39234,8 +38187,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -39244,7 +38196,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -39274,15 +38226,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -39306,15 +38257,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -39351,15 +38301,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_rc4::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -39382,23 +38331,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_rc4::IfcBoundaryCondition AppliedCondition() const; @@ -39406,7 +38353,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -39466,8 +38413,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39477,7 +38423,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -39498,8 +38444,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// @@ -39508,7 +38453,7 @@ public: void setAxis(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcDirection v9_Axis); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcDirection v9_Axis); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -39549,8 +38494,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39562,7 +38506,7 @@ public: void setAxis(const ::Ifc4x3_rc4::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39586,12 +38530,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc4::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39645,15 +38588,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39664,12 +38606,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39706,8 +38647,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39728,7 +38668,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39777,12 +38717,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39799,15 +38738,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_rc4::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_rc4::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_rc4::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39854,12 +38792,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39867,8 +38804,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39882,7 +38818,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc4::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39938,8 +38874,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39949,7 +38884,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39965,12 +38900,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39998,8 +38932,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -40007,7 +38940,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -40043,8 +38976,7 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -40052,7 +38984,7 @@ public: std::vector< IfcRelAdheresToElement > AdheresToElement() const; // INVERSE IfcRelAdheresToElement::RelatedSurfaceFeatures static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -40096,15 +39028,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -40125,14 +39056,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -40160,14 +39090,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -40203,21 +39132,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_rc4::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value >& v); @@ -40237,61 +39164,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_rc4::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTendonTypeEnum::Value& v); @@ -40303,19 +39225,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -40346,15 +39267,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -40474,8 +39394,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcElement { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -40484,7 +39403,7 @@ public: void setPredefinedType(const ::Ifc4x3_rc4::IfcTransportElementTypeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, ::Ifc4x3_rc4::IfcTransportElementTypeSelect v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -40566,8 +39485,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_rc4::IfcCurve BasisCurve() const; @@ -40586,7 +39504,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_rc4::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_rc4::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_rc4::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40619,15 +39537,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40659,15 +39576,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40709,39 +39625,36 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_rc4::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40779,14 +39692,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40812,15 +39724,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40910,22 +39821,20 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcVoidStratum : public IfcGeotechnicalStratum { public: - IfcVoidStratum() {} - explicit IfcVoidStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcVoidStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40961,15 +39870,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -41057,15 +39965,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_rc4::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -41105,25 +40012,23 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcWaterStratum : public IfcGeotechnicalStratum { public: - IfcWaterStratum() {} - explicit IfcWaterStratum (const std::weak_ptr& data) : IfcGeotechnicalStratum(data) {} + using IfcGeotechnicalStratum::IfcGeotechnicalStratum; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcWaterStratum initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -41248,8 +40153,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_rc4::IfcWindowTypeEnum::Value PredefinedType() const; @@ -41263,7 +40167,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -41280,8 +40184,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -41301,7 +40204,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_rc4::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -41349,8 +40252,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -41375,7 +40277,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -41404,8 +40306,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -41413,7 +40314,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -41457,8 +40358,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -41466,7 +40366,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_rc4::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -41555,8 +40455,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -41567,7 +40466,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41609,8 +40508,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41633,7 +40531,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41663,15 +40561,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41701,14 +40598,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41738,59 +40634,54 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3_rc4::IfcAlignmentParameterSegment DesignParameters() const; void setDesignParameters(const ::Ifc4x3_rc4::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcAlignmentParameterSegment v8_DesignParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcAlignmentParameterSegment v8_DesignParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41818,8 +40709,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41855,7 +40745,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_rc4::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc4::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc4::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc4::IfcActorSelect v10_Owner, ::Ifc4x3_rc4::IfcActorSelect v11_User, ::Ifc4x3_rc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc4::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_rc4::IfcCostValue v7_OriginalValue, ::Ifc4x3_rc4::IfcCostValue v8_CurrentValue, ::Ifc4x3_rc4::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_rc4::IfcActorSelect v10_Owner, ::Ifc4x3_rc4::IfcActorSelect v11_User, ::Ifc4x3_rc4::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc4::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41901,15 +40791,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41962,8 +40851,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41982,7 +40870,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -42003,8 +40891,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -42017,7 +40904,7 @@ public: void setKnotSpec(const ::Ifc4x3_rc4::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -42119,27 +41006,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_rc4::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_rc4::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -42172,15 +41057,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -42191,24 +41075,22 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -42386,8 +41268,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -42400,7 +41281,7 @@ public: void setBuildingAddress(const ::Ifc4x3_rc4::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc4::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc4::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -42421,15 +41302,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -42437,15 +41317,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -42483,15 +41362,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -42531,8 +41409,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -42541,23 +41418,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value >& v); @@ -42565,7 +41440,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42596,14 +41471,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42633,15 +41507,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42677,15 +41550,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42717,15 +41589,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42770,27 +41641,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42826,15 +41695,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_rc4::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42879,8 +41747,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42888,7 +41755,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42919,25 +41786,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_rc4::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42968,15 +41833,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_rc4::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -43251,8 +42115,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -43262,7 +42125,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -43511,12 +42374,11 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcColumnStandardCase : public IfcColumn { public: - IfcColumnStandardCase() {} - explicit IfcColumnStandardCase (const std::weak_ptr& data) : IfcColumn(data) {} + using IfcColumn::IfcColumn; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumnStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -43552,15 +42414,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -43591,15 +42452,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -43630,15 +42490,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -43664,8 +42523,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -43673,7 +42531,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -43703,8 +42561,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -43712,7 +42569,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -43731,8 +42588,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -43740,19 +42596,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_rc4::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_rc4::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -43785,15 +42640,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -43830,27 +42684,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -44078,8 +42930,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -44088,7 +42939,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -44230,8 +43081,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -44241,7 +43091,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -44279,25 +43129,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_rc4::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -44474,15 +43322,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -44674,27 +43521,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -44735,15 +43580,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -44801,12 +43645,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44972,13 +43815,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -45050,13 +43892,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -45142,8 +43983,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -45155,7 +43995,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -45199,8 +44039,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -45212,7 +44051,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -45572,8 +44411,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -45602,7 +44440,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -45710,12 +44548,11 @@ public: /// Figure 98 — Door profile class IFC_PARSE_API IfcDoorStandardCase : public IfcDoor { public: - IfcDoorStandardCase() {} - explicit IfcDoorStandardCase (const std::weak_ptr& data) : IfcDoor(data) {} + using IfcDoor::IfcDoor; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -45748,15 +44585,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -45789,15 +44625,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -45827,49 +44662,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -45902,15 +44733,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -45941,15 +44771,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45980,27 +44809,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -46036,15 +44863,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -46075,15 +44901,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -46114,15 +44939,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -46135,12 +44959,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -46185,14 +45008,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -46240,14 +45062,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -46315,14 +45136,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -46341,8 +45161,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -46350,7 +45169,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -46382,15 +45201,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_rc4::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -46423,15 +45241,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_rc4::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -46468,15 +45285,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -46489,12 +45305,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -46503,12 +45318,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -46542,15 +45356,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -46634,14 +45447,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -46650,12 +45462,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -46682,12 +45493,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -46700,12 +45510,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -46720,12 +45529,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -46734,12 +45542,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -46765,8 +45572,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -46775,17 +45581,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -46885,8 +45690,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_rc4::IfcGridAxis > UAxes() const; @@ -46901,7 +45705,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_rc4::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_rc4::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -46955,14 +45759,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -47009,14 +45812,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -47077,14 +45879,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -47154,26 +45955,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; bool Mountable() const; void setMountable(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, bool v9_Mountable); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -47224,14 +46023,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -47301,36 +46099,33 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -47378,14 +46173,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -47639,8 +46433,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -47650,7 +46443,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType); }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -47893,36 +46686,33 @@ public: /// Extrusion:not applicable class IFC_PARSE_API IfcMemberStandardCase : public IfcMember { public: - IfcMemberStandardCase() {} - explicit IfcMemberStandardCase (const std::weak_ptr& data) : IfcMember(data) {} + using IfcMember::IfcMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMemberStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -47967,26 +46757,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -47995,12 +46783,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_rc4::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -48070,26 +46857,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v9_PredefinedType); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -48111,8 +46896,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -48126,7 +46910,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -48215,14 +46999,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -48286,14 +47069,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -48525,8 +47307,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -48536,7 +47317,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -48693,12 +47474,11 @@ public: /// Figure 110 — Plate body clipping class IFC_PARSE_API IfcPlateStandardCase : public IfcPlate { public: - IfcPlateStandardCase() {} - explicit IfcPlateStandardCase (const std::weak_ptr& data) : IfcPlate(data) {} + using IfcPlate::IfcPlate; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlateStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -48778,14 +47558,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -48829,15 +47608,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -48890,26 +47668,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -49045,8 +47821,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -49055,7 +47830,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -49192,8 +47967,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -49204,7 +47978,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -49396,8 +48170,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -49407,7 +48180,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -49447,27 +48220,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_rc4::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_rc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_rc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -49499,8 +48270,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -49515,7 +48285,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -49535,8 +48305,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -49559,7 +48328,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_rc4::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -49708,8 +48477,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -49718,7 +48486,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -49848,14 +48616,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -49907,15 +48674,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_rc4::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -49933,8 +48699,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -49942,19 +48707,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -50218,8 +48982,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -50229,7 +48992,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -50316,12 +49079,11 @@ public: /// decomposition. class IFC_PARSE_API IfcSlabElementedCase : public IfcSlab { public: - IfcSlabElementedCase() {} - explicit IfcSlabElementedCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -50484,12 +49246,11 @@ public: /// Figure 126 — Slab body clipping class IFC_PARSE_API IfcSlabStandardCase : public IfcSlab { public: - IfcSlabStandardCase() {} - explicit IfcSlabStandardCase (const std::weak_ptr& data) : IfcSlab(data) {} + using IfcSlab::IfcSlab; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlabStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -50540,14 +49301,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -50613,14 +49373,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -50674,14 +49433,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -50850,8 +49608,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -50860,7 +49617,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -51031,8 +49788,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -51059,7 +49815,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -51086,8 +49842,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -51119,15 +49874,14 @@ public: void setSharedPlacement(const ::Ifc4x3_rc4::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc4::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_rc4::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_rc4::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -51138,7 +49892,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -51149,12 +49903,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, ::Ifc4x3_rc4::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -51246,14 +49999,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -51317,26 +50069,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -51382,14 +50132,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -51440,14 +50189,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -51477,15 +50225,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -51561,14 +50308,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -51758,14 +50504,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -52011,8 +50756,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -52022,7 +50766,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -52124,12 +50868,11 @@ public: /// decomposition. class IFC_PARSE_API IfcWallElementedCase : public IfcWall { public: - IfcWallElementedCase() {} - explicit IfcWallElementedCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallElementedCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -52335,12 +51078,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -52448,14 +51190,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -52817,8 +51558,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -52847,7 +51587,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -52965,12 +51705,11 @@ public: /// Figure 145 — Window profile class IFC_PARSE_API IfcWindowStandardCase : public IfcWindow { public: - IfcWindowStandardCase() {} - explicit IfcWindowStandardCase (const std::weak_ptr& data) : IfcWindow(data) {} + using IfcWindow::IfcWindow; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -53005,15 +51744,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -53074,14 +51812,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -53127,14 +51864,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -53183,14 +51919,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -53220,27 +51955,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v8_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v8_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -53422,14 +52155,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -53670,8 +52402,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -53681,7 +52412,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType); }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -53936,24 +52667,22 @@ public: /// Extrusion: not applicable class IFC_PARSE_API IfcBeamStandardCase : public IfcBeam { public: - IfcBeamStandardCase() {} - explicit IfcBeamStandardCase (const std::weak_ptr& data) : IfcBeam(data) {} + using IfcBeam::IfcBeam; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeamStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -54026,24 +52755,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -54237,14 +52964,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -54289,14 +53015,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -54361,15 +53086,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -54432,15 +53156,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -54518,15 +53241,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -54617,27 +53339,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -54710,14 +53430,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -54787,14 +53506,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -54900,14 +53618,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -54957,14 +53674,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -55034,14 +53750,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -55081,27 +53796,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_rc4::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_rc4::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_rc4::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_rc4::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -55154,14 +53867,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -55222,14 +53934,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -55304,26 +54015,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -55358,24 +54067,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -55457,13 +54164,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -55542,14 +54248,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -55602,14 +54307,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -55655,14 +54359,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -55764,14 +54467,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -55832,14 +54534,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -55884,26 +54585,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -55954,14 +54653,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -56006,14 +54704,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -56058,14 +54755,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -56123,14 +54819,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -56221,14 +54916,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -56298,14 +54992,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -56361,34 +55054,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -56444,14 +55134,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -56589,14 +55278,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -56655,14 +55343,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -56728,14 +55415,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -56781,14 +55467,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -56898,14 +55583,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_rc4::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_rc4::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v9_PredefinedType); }; }; diff --git a/src/ifcparse/schemas/Ifc4x3_tc1.cpp b/src/ifcparse/schemas/Ifc4x3_tc1.cpp index c23275f8f1..667e4fb6a8 100644 --- a/src/ifcparse/schemas/Ifc4x3_tc1.cpp +++ b/src/ifcparse/schemas/Ifc4x3_tc1.cpp @@ -7211,657 +7211,657 @@ const ifcopenshell::select_type& Ifc4x3_tc1::IfcWarpingStiffnessSelect::Class() // Function implementations for IfcAbsorbedDoseMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcAbsorbedDoseMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[0]); } -void Ifc4x3_tc1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcAbsorbedDoseMeasure Ifc4x3_tc1::IfcAbsorbedDoseMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcAccelerationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1]); } -void Ifc4x3_tc1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcAccelerationMeasure Ifc4x3_tc1::IfcAccelerationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[42]); } -void Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcAmountOfSubstanceMeasure Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcAngularVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[45]); } -void Ifc4x3_tc1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcAngularVelocityMeasure Ifc4x3_tc1::IfcAngularVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcArcIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[57]); } -void Ifc4x3_tc1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcArcIndex Ifc4x3_tc1::IfcArcIndex::initialize(std::vector< int > /*[3:3]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcAreaDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[58]); } -void Ifc4x3_tc1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcAreaDensityMeasure Ifc4x3_tc1::IfcAreaDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcAreaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[59]); } -void Ifc4x3_tc1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcAreaMeasure Ifc4x3_tc1::IfcAreaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcBinary::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[80]); } -void Ifc4x3_tc1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcBinary Ifc4x3_tc1::IfcBinary::initialize(boost::dynamic_bitset<> v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcBoolean::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[86]); } -void Ifc4x3_tc1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcBoolean Ifc4x3_tc1::IfcBoolean::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcBoxAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[101]); } -void Ifc4x3_tc1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcBoxAlignment Ifc4x3_tc1::IfcBoxAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcCardinalPointReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[145]); } -void Ifc4x3_tc1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcCardinalPointReference Ifc4x3_tc1::IfcCardinalPointReference::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcComplexNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[188]); } -void Ifc4x3_tc1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcComplexNumber Ifc4x3_tc1::IfcComplexNumber::initialize(std::vector< double > /*[1:2]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[196]); } -void Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::initialize(std::vector< int > /*[3:4]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcContextDependentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[226]); } -void Ifc4x3_tc1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcContextDependentMeasure Ifc4x3_tc1::IfcContextDependentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcCountMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[252]); } -void Ifc4x3_tc1::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcCountMeasure Ifc4x3_tc1::IfcCountMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcCurvatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[270]); } -void Ifc4x3_tc1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcCurvatureMeasure Ifc4x3_tc1::IfcCurvatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDate::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[290]); } -void Ifc4x3_tc1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDate Ifc4x3_tc1::IfcDate::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDateTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[291]); } -void Ifc4x3_tc1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDateTime Ifc4x3_tc1::IfcDateTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDayInMonthNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[292]); } -void Ifc4x3_tc1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDayInMonthNumber Ifc4x3_tc1::IfcDayInMonthNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDayInWeekNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[293]); } -void Ifc4x3_tc1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDayInWeekNumber Ifc4x3_tc1::IfcDayInWeekNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDescriptiveMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[302]); } -void Ifc4x3_tc1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDescriptiveMeasure Ifc4x3_tc1::IfcDescriptiveMeasure::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDimensionCount::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[304]); } -void Ifc4x3_tc1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDimensionCount Ifc4x3_tc1::IfcDimensionCount::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDoseEquivalentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[343]); } -void Ifc4x3_tc1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDoseEquivalentMeasure Ifc4x3_tc1::IfcDoseEquivalentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDuration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[355]); } -void Ifc4x3_tc1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDuration Ifc4x3_tc1::IfcDuration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcDynamicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[356]); } -void Ifc4x3_tc1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcDynamicViscosityMeasure Ifc4x3_tc1::IfcDynamicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcElectricCapacitanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[368]); } -void Ifc4x3_tc1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcElectricCapacitanceMeasure Ifc4x3_tc1::IfcElectricCapacitanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcElectricChargeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[369]); } -void Ifc4x3_tc1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcElectricChargeMeasure Ifc4x3_tc1::IfcElectricChargeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcElectricConductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[370]); } -void Ifc4x3_tc1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcElectricConductanceMeasure Ifc4x3_tc1::IfcElectricConductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcElectricCurrentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[371]); } -void Ifc4x3_tc1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcElectricCurrentMeasure Ifc4x3_tc1::IfcElectricCurrentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcElectricResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[387]); } -void Ifc4x3_tc1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcElectricResistanceMeasure Ifc4x3_tc1::IfcElectricResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcElectricVoltageMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[391]); } -void Ifc4x3_tc1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcElectricVoltageMeasure Ifc4x3_tc1::IfcElectricVoltageMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcEnergyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[406]); } -void Ifc4x3_tc1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcEnergyMeasure Ifc4x3_tc1::IfcEnergyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcFontStyle::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[487]); } -void Ifc4x3_tc1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcFontStyle Ifc4x3_tc1::IfcFontStyle::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcFontVariant::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[488]); } -void Ifc4x3_tc1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcFontVariant Ifc4x3_tc1::IfcFontVariant::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcFontWeight::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[489]); } -void Ifc4x3_tc1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcFontWeight Ifc4x3_tc1::IfcFontWeight::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[493]); } -void Ifc4x3_tc1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcForceMeasure Ifc4x3_tc1::IfcForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[494]); } -void Ifc4x3_tc1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcFrequencyMeasure Ifc4x3_tc1::IfcFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcGloballyUniqueId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[516]); } -void Ifc4x3_tc1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcGloballyUniqueId Ifc4x3_tc1::IfcGloballyUniqueId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcHeatFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[530]); } -void Ifc4x3_tc1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcHeatFluxDensityMeasure Ifc4x3_tc1::IfcHeatFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcHeatingValueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[531]); } -void Ifc4x3_tc1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcHeatingValueMeasure Ifc4x3_tc1::IfcHeatingValueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcIdentifier::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[535]); } -void Ifc4x3_tc1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcIdentifier Ifc4x3_tc1::IfcIdentifier::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcIlluminanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[536]); } -void Ifc4x3_tc1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcIlluminanceMeasure Ifc4x3_tc1::IfcIlluminanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcInductanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[548]); } -void Ifc4x3_tc1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcInductanceMeasure Ifc4x3_tc1::IfcInductanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[549]); } -void Ifc4x3_tc1::IfcInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcInteger Ifc4x3_tc1::IfcInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcIntegerCountRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[550]); } -void Ifc4x3_tc1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcIntegerCountRateMeasure Ifc4x3_tc1::IfcIntegerCountRateMeasure::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcIonConcentrationMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[559]); } -void Ifc4x3_tc1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcIonConcentrationMeasure Ifc4x3_tc1::IfcIonConcentrationMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[563]); } -void Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcKinematicViscosityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[570]); } -void Ifc4x3_tc1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcKinematicViscosityMeasure Ifc4x3_tc1::IfcKinematicViscosityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLabel::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[572]); } -void Ifc4x3_tc1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLabel Ifc4x3_tc1::IfcLabel::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLanguageId::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[580]); } -void Ifc4x3_tc1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLanguageId Ifc4x3_tc1::IfcLanguageId::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[583]); } -void Ifc4x3_tc1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLengthMeasure Ifc4x3_tc1::IfcLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLineIndex::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[609]); } -void Ifc4x3_tc1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLineIndex Ifc4x3_tc1::IfcLineIndex::initialize(std::vector< int > /*[2:?]*/ v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLinearForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[603]); } -void Ifc4x3_tc1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLinearForceMeasure Ifc4x3_tc1::IfcLinearForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLinearMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[604]); } -void Ifc4x3_tc1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLinearMomentMeasure Ifc4x3_tc1::IfcLinearMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLinearStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[607]); } -void Ifc4x3_tc1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLinearStiffnessMeasure Ifc4x3_tc1::IfcLinearStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLinearVelocityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[608]); } -void Ifc4x3_tc1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLinearVelocityMeasure Ifc4x3_tc1::IfcLinearVelocityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLogical::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[615]); } -void Ifc4x3_tc1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLogical Ifc4x3_tc1::IfcLogical::initialize(boost::logic::tribool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLuminousFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[619]); } -void Ifc4x3_tc1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLuminousFluxMeasure Ifc4x3_tc1::IfcLuminousFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[620]); } -void Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcLuminousIntensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[621]); } -void Ifc4x3_tc1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcLuminousIntensityMeasure Ifc4x3_tc1::IfcLuminousIntensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[622]); } -void Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMagneticFluxDensityMeasure Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMagneticFluxMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[623]); } -void Ifc4x3_tc1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMagneticFluxMeasure Ifc4x3_tc1::IfcMagneticFluxMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMassDensityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[631]); } -void Ifc4x3_tc1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMassDensityMeasure Ifc4x3_tc1::IfcMassDensityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMassFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[632]); } -void Ifc4x3_tc1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMassFlowRateMeasure Ifc4x3_tc1::IfcMassFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[633]); } -void Ifc4x3_tc1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMassMeasure Ifc4x3_tc1::IfcMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMassPerLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[634]); } -void Ifc4x3_tc1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMassPerLengthMeasure Ifc4x3_tc1::IfcMassPerLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcModulusOfElasticityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[672]); } -void Ifc4x3_tc1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcModulusOfElasticityMeasure Ifc4x3_tc1::IfcModulusOfElasticityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[673]); } -void Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[674]); } -void Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[676]); } -void Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[679]); } -void Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMoistureDiffusivityMeasure Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMolecularWeightMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[680]); } -void Ifc4x3_tc1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMolecularWeightMeasure Ifc4x3_tc1::IfcMolecularWeightMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMomentOfInertiaMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[681]); } -void Ifc4x3_tc1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMomentOfInertiaMeasure Ifc4x3_tc1::IfcMomentOfInertiaMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMonetaryMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[682]); } -void Ifc4x3_tc1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMonetaryMeasure Ifc4x3_tc1::IfcMonetaryMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcMonthInYearNumber::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[684]); } -void Ifc4x3_tc1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcMonthInYearNumber Ifc4x3_tc1::IfcMonthInYearNumber::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcNonNegativeLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[695]); } -void Ifc4x3_tc1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcNonNegativeLengthMeasure Ifc4x3_tc1::IfcNonNegativeLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcNormalisedRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[696]); } -void Ifc4x3_tc1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcNormalisedRatioMeasure Ifc4x3_tc1::IfcNormalisedRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcNumericMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[697]); } -void Ifc4x3_tc1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcNumericMeasure Ifc4x3_tc1::IfcNumericMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPHMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[737]); } -void Ifc4x3_tc1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPHMeasure Ifc4x3_tc1::IfcPHMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcParameterValue::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[723]); } -void Ifc4x3_tc1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcParameterValue Ifc4x3_tc1::IfcParameterValue::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPlanarForceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[756]); } -void Ifc4x3_tc1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPlanarForceMeasure Ifc4x3_tc1::IfcPlanarForceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[758]); } -void Ifc4x3_tc1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPlaneAngleMeasure Ifc4x3_tc1::IfcPlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPositiveInteger::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[774]); } -void Ifc4x3_tc1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPositiveInteger Ifc4x3_tc1::IfcPositiveInteger::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPositiveLengthMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[775]); } -void Ifc4x3_tc1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPositiveLengthMeasure Ifc4x3_tc1::IfcPositiveLengthMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[776]); } -void Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPositivePlaneAngleMeasure Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPositiveRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[777]); } -void Ifc4x3_tc1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPositiveRatioMeasure Ifc4x3_tc1::IfcPositiveRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[779]); } -void Ifc4x3_tc1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPowerMeasure Ifc4x3_tc1::IfcPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPresentableText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[787]); } -void Ifc4x3_tc1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPresentableText Ifc4x3_tc1::IfcPresentableText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[792]); } -void Ifc4x3_tc1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcPressureMeasure Ifc4x3_tc1::IfcPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcPropertySetDefinitionSet::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[826]); } -void Ifc4x3_tc1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v)); } +Ifc4x3_tc1::IfcPropertySetDefinitionSet Ifc4x3_tc1::IfcPropertySetDefinitionSet::initialize(std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v) { set_attribute_value(0, cast_vector(v));; return *this; } Ifc4x3_tc1::IfcPropertySetDefinitionSet::operator std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition >() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcPropertySetDefinition>(es); } // Function implementations for IfcRadioActivityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcRadioActivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[850]); } -void Ifc4x3_tc1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcRadioActivityMeasure Ifc4x3_tc1::IfcRadioActivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcRatioMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[867]); } -void Ifc4x3_tc1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcRatioMeasure Ifc4x3_tc1::IfcRatioMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcReal::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[870]); } -void Ifc4x3_tc1::IfcReal::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcReal Ifc4x3_tc1::IfcReal::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcRotationalFrequencyMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[972]); } -void Ifc4x3_tc1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcRotationalFrequencyMeasure Ifc4x3_tc1::IfcRotationalFrequencyMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcRotationalMassMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[973]); } -void Ifc4x3_tc1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcRotationalMassMeasure Ifc4x3_tc1::IfcRotationalMassMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcRotationalStiffnessMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[974]); } -void Ifc4x3_tc1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcRotationalStiffnessMeasure Ifc4x3_tc1::IfcRotationalStiffnessMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSectionModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[988]); } -void Ifc4x3_tc1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSectionModulusMeasure Ifc4x3_tc1::IfcSectionModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[983]); } -void Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcShearModulusMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1006]); } -void Ifc4x3_tc1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcShearModulusMeasure Ifc4x3_tc1::IfcShearModulusMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSolidAngleMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1032]); } -void Ifc4x3_tc1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSolidAngleMeasure Ifc4x3_tc1::IfcSolidAngleMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSoundPowerLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1035]); } -void Ifc4x3_tc1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSoundPowerLevelMeasure Ifc4x3_tc1::IfcSoundPowerLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSoundPowerMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1036]); } -void Ifc4x3_tc1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSoundPowerMeasure Ifc4x3_tc1::IfcSoundPowerMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSoundPressureLevelMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1037]); } -void Ifc4x3_tc1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSoundPressureLevelMeasure Ifc4x3_tc1::IfcSoundPressureLevelMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSoundPressureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1038]); } -void Ifc4x3_tc1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSoundPressureMeasure Ifc4x3_tc1::IfcSoundPressureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1054]); } -void Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSpecularExponent::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1055]); } -void Ifc4x3_tc1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSpecularExponent Ifc4x3_tc1::IfcSpecularExponent::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcSpecularRoughness::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1057]); } -void Ifc4x3_tc1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcSpecularRoughness Ifc4x3_tc1::IfcSpecularRoughness::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcStrippedOptional const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcStrippedOptional::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1071]); } -void Ifc4x3_tc1::IfcStrippedOptional::initialize(bool v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcStrippedOptional Ifc4x3_tc1::IfcStrippedOptional::initialize(bool v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcStrippedOptional::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTemperatureGradientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1163]); } -void Ifc4x3_tc1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTemperatureGradientMeasure Ifc4x3_tc1::IfcTemperatureGradientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1164]); } -void Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcText::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1176]); } -void Ifc4x3_tc1::IfcText::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcText Ifc4x3_tc1::IfcText::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTextAlignment::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1177]); } -void Ifc4x3_tc1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTextAlignment Ifc4x3_tc1::IfcTextAlignment::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTextDecoration::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1178]); } -void Ifc4x3_tc1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTextDecoration Ifc4x3_tc1::IfcTextDecoration::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTextFontName::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1179]); } -void Ifc4x3_tc1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTextFontName Ifc4x3_tc1::IfcTextFontName::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTextTransformation::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1188]); } -void Ifc4x3_tc1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTextTransformation Ifc4x3_tc1::IfcTextTransformation::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcThermalAdmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1196]); } -void Ifc4x3_tc1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcThermalAdmittanceMeasure Ifc4x3_tc1::IfcThermalAdmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcThermalConductivityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1197]); } -void Ifc4x3_tc1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcThermalConductivityMeasure Ifc4x3_tc1::IfcThermalConductivityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1198]); } -void Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcThermalResistanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1199]); } -void Ifc4x3_tc1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcThermalResistanceMeasure Ifc4x3_tc1::IfcThermalResistanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcThermalTransmittanceMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1200]); } -void Ifc4x3_tc1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcThermalTransmittanceMeasure Ifc4x3_tc1::IfcThermalTransmittanceMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1201]); } -void Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTime::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1203]); } -void Ifc4x3_tc1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTime Ifc4x3_tc1::IfcTime::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTimeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1204]); } -void Ifc4x3_tc1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTimeMeasure Ifc4x3_tc1::IfcTimeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTimeStamp::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1210]); } -void Ifc4x3_tc1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTimeStamp Ifc4x3_tc1::IfcTimeStamp::initialize(int v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcTorqueMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1214]); } -void Ifc4x3_tc1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcTorqueMeasure Ifc4x3_tc1::IfcTorqueMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcURIReference::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1251]); } -void Ifc4x3_tc1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcURIReference Ifc4x3_tc1::IfcURIReference::initialize(std::string v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcVaporPermeabilityMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1257]); } -void Ifc4x3_tc1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcVaporPermeabilityMeasure Ifc4x3_tc1::IfcVaporPermeabilityMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcVolumeMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1277]); } -void Ifc4x3_tc1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcVolumeMeasure Ifc4x3_tc1::IfcVolumeMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1278]); } -void Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcVolumetricFlowRateMeasure Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcWarpingConstantMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1283]); } -void Ifc4x3_tc1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcWarpingConstantMeasure Ifc4x3_tc1::IfcWarpingConstantMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const ifcopenshell::type_declaration& Ifc4x3_tc1::IfcWarpingMomentMeasure::Class() { return *((ifcopenshell::type_declaration*)IFC4X3_TC1_types[1284]); } -void Ifc4x3_tc1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v)); } +Ifc4x3_tc1::IfcWarpingMomentMeasure Ifc4x3_tc1::IfcWarpingMomentMeasure::initialize(double v) { set_attribute_value(0, (v));; return *this; } Ifc4x3_tc1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } @@ -7875,7 +7875,7 @@ void Ifc4x3_tc1::IfcActionRequest::setLongDescription(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcActionRequest::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[2]); } -void Ifc4x3_tc1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_tc1::IfcActionRequest Ifc4x3_tc1::IfcActionRequest::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcActor ::Ifc4x3_tc1::IfcActorSelect Ifc4x3_tc1::IfcActor::TheActor() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcActorSelect>(); } @@ -7884,7 +7884,7 @@ void Ifc4x3_tc1::IfcActor::setTheActor(const ::Ifc4x3_tc1::IfcActorSelect& v) { std::vector<::Ifc4x3_tc1::IfcRelAssignsToActor> Ifc4x3_tc1::IfcActor::IsActingUpon() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[899], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcActor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[6]); } -void Ifc4x3_tc1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); } +Ifc4x3_tc1::IfcActor Ifc4x3_tc1::IfcActor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor));; return *this; } // Function implementations for IfcActorRole ::Ifc4x3_tc1::IfcRoleEnum::Value Ifc4x3_tc1::IfcActorRole::Role() const { return ::Ifc4x3_tc1::IfcRoleEnum::FromString(get_attribute_value(0)); } @@ -7897,7 +7897,7 @@ void Ifc4x3_tc1::IfcActorRole::setDescription(const std::optional< std::string > std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcActorRole::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcActorRole::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[7]); } -void Ifc4x3_tc1::IfcActorRole::initialize(::Ifc4x3_tc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_tc1::IfcActorRole Ifc4x3_tc1::IfcActorRole::initialize(::Ifc4x3_tc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcActuator std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > Ifc4x3_tc1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } @@ -7905,7 +7905,7 @@ void Ifc4x3_tc1::IfcActuator::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcActuator::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[9]); } -void Ifc4x3_tc1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcActuator Ifc4x3_tc1::IfcActuator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcActuatorType ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value Ifc4x3_tc1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } @@ -7913,7 +7913,7 @@ void Ifc4x3_tc1::IfcActuatorType::setPredefinedType(const ::Ifc4x3_tc1::IfcActua const ifcopenshell::entity& Ifc4x3_tc1::IfcActuatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[10]); } -void Ifc4x3_tc1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcActuatorType Ifc4x3_tc1::IfcActuatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAddress std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > Ifc4x3_tc1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } @@ -7927,13 +7927,13 @@ std::vector<::Ifc4x3_tc1::IfcPerson> Ifc4x3_tc1::IfcAddress::OfPerson() const { std::vector<::Ifc4x3_tc1::IfcOrganization> Ifc4x3_tc1::IfcAddress::OfOrganization() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[714], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[12]); } -void Ifc4x3_tc1::IfcAddress::initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } } +Ifc4x3_tc1::IfcAddress Ifc4x3_tc1::IfcAddress::initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; return *this; } // Function implementations for IfcAdvancedBrep const ifcopenshell::entity& Ifc4x3_tc1::IfcAdvancedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[14]); } -void Ifc4x3_tc1::IfcAdvancedBrep::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_tc1::IfcAdvancedBrep Ifc4x3_tc1::IfcAdvancedBrep::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcAdvancedBrepWithVoids std::vector< ::Ifc4x3_tc1::IfcClosedShell > Ifc4x3_tc1::IfcAdvancedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_tc1::IfcClosedShell>(es); } @@ -7941,13 +7941,13 @@ void Ifc4x3_tc1::IfcAdvancedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcAdvancedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[15]); } -void Ifc4x3_tc1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_tc1::IfcAdvancedBrepWithVoids Ifc4x3_tc1::IfcAdvancedBrepWithVoids::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcAdvancedFace const ifcopenshell::entity& Ifc4x3_tc1::IfcAdvancedFace::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[16]); } -void Ifc4x3_tc1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_tc1::IfcAdvancedFace Ifc4x3_tc1::IfcAdvancedFace::initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcAirTerminal std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_tc1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -7955,7 +7955,7 @@ void Ifc4x3_tc1::IfcAirTerminal::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcAirTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[17]); } -void Ifc4x3_tc1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcAirTerminal Ifc4x3_tc1::IfcAirTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBox std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_tc1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -7963,7 +7963,7 @@ void Ifc4x3_tc1::IfcAirTerminalBox::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcAirTerminalBox::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[18]); } -void Ifc4x3_tc1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcAirTerminalBox Ifc4x3_tc1::IfcAirTerminalBox::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirTerminalBoxType ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -7971,7 +7971,7 @@ void Ifc4x3_tc1::IfcAirTerminalBoxType::setPredefinedType(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcAirTerminalBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[19]); } -void Ifc4x3_tc1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcAirTerminalBoxType Ifc4x3_tc1::IfcAirTerminalBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirTerminalType ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -7979,7 +7979,7 @@ void Ifc4x3_tc1::IfcAirTerminalType::setPredefinedType(const ::Ifc4x3_tc1::IfcAi const ifcopenshell::entity& Ifc4x3_tc1::IfcAirTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[21]); } -void Ifc4x3_tc1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcAirTerminalType Ifc4x3_tc1::IfcAirTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAirToAirHeatRecovery std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_tc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } @@ -7987,7 +7987,7 @@ void Ifc4x3_tc1::IfcAirToAirHeatRecovery::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcAirToAirHeatRecovery::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[23]); } -void Ifc4x3_tc1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcAirToAirHeatRecovery Ifc4x3_tc1::IfcAirToAirHeatRecovery::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAirToAirHeatRecoveryType ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } @@ -7995,7 +7995,7 @@ void Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::setPredefinedType(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[24]); } -void Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcAirToAirHeatRecoveryType Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlarm std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > Ifc4x3_tc1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } @@ -8003,7 +8003,7 @@ void Ifc4x3_tc1::IfcAlarm::setPredefinedType(const std::optional< ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcAlarm::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[26]); } -void Ifc4x3_tc1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcAlarm Ifc4x3_tc1::IfcAlarm::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAlarmType ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value Ifc4x3_tc1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } @@ -8011,7 +8011,7 @@ void Ifc4x3_tc1::IfcAlarmType::setPredefinedType(const ::Ifc4x3_tc1::IfcAlarmTyp const ifcopenshell::entity& Ifc4x3_tc1::IfcAlarmType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[27]); } -void Ifc4x3_tc1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcAlarmType Ifc4x3_tc1::IfcAlarmType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAlignment std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > Ifc4x3_tc1::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } @@ -8019,7 +8019,7 @@ void Ifc4x3_tc1::IfcAlignment::setPredefinedType(const std::optional< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[29]); } -void Ifc4x3_tc1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_tc1::IfcAlignment Ifc4x3_tc1::IfcAlignment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAlignmentCant double Ifc4x3_tc1::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } @@ -8027,7 +8027,7 @@ void Ifc4x3_tc1::IfcAlignmentCant::setRailHeadDistance(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentCant::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[30]); } -void Ifc4x3_tc1::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance)); } +Ifc4x3_tc1::IfcAlignmentCant Ifc4x3_tc1::IfcAlignmentCant::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_RailHeadDistance));; return *this; } // Function implementations for IfcAlignmentCantSegment double Ifc4x3_tc1::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8047,13 +8047,13 @@ void Ifc4x3_tc1::IfcAlignmentCantSegment::setPredefinedType(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentCantSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[31]); } -void Ifc4x3_tc1::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_tc1::IfcAlignmentCantSegment Ifc4x3_tc1::IfcAlignmentCantSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentHorizontal const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[33]); } -void Ifc4x3_tc1::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcAlignmentHorizontal Ifc4x3_tc1::IfcAlignmentHorizontal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentHorizontalSegment ::Ifc4x3_tc1::IfcCartesianPoint Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartPoint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcCartesianPoint>(); } @@ -8073,7 +8073,7 @@ void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentHorizontalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[34]); } -void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_tc1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_tc1::IfcAlignmentHorizontalSegment Ifc4x3_tc1::IfcAlignmentHorizontalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_tc1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartPoint));set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAlignmentParameterSegment std::optional< std::string > Ifc4x3_tc1::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8083,7 +8083,7 @@ void Ifc4x3_tc1::IfcAlignmentParameterSegment::setEndTag(const std::optional< st const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentParameterSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[36]); } -void Ifc4x3_tc1::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); } } +Ifc4x3_tc1::IfcAlignmentParameterSegment Ifc4x3_tc1::IfcAlignmentParameterSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; return *this; } // Function implementations for IfcAlignmentSegment ::Ifc4x3_tc1::IfcAlignmentParameterSegment Ifc4x3_tc1::IfcAlignmentSegment::DesignParameters() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcAlignmentParameterSegment>(); } @@ -8091,13 +8091,13 @@ void Ifc4x3_tc1::IfcAlignmentSegment::setDesignParameters(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[37]); } -void Ifc4x3_tc1::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters)); } +Ifc4x3_tc1::IfcAlignmentSegment Ifc4x3_tc1::IfcAlignmentSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcAlignmentParameterSegment v8_DesignParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_DesignParameters));; return *this; } // Function implementations for IfcAlignmentVertical const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentVertical::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[39]); } -void Ifc4x3_tc1::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcAlignmentVertical Ifc4x3_tc1::IfcAlignmentVertical::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcAlignmentVerticalSegment double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } @@ -8117,7 +8117,7 @@ void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setPredefinedType(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcAlignmentVerticalSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[40]); } -void Ifc4x3_tc1::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType))); } +Ifc4x3_tc1::IfcAlignmentVerticalSegment Ifc4x3_tc1::IfcAlignmentVerticalSegment::initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; return *this; } // Function implementations for IfcAnnotation std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > Ifc4x3_tc1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } @@ -8126,7 +8126,7 @@ void Ifc4x3_tc1::IfcAnnotation::setPredefinedType(const std::optional< ::Ifc4x3_ std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcAnnotation::ContainedInStructure() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[924], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcAnnotation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[46]); } -void Ifc4x3_tc1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_tc1::IfcAnnotation Ifc4x3_tc1::IfcAnnotation::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcAnnotationFillArea ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcAnnotationFillArea::OuterBoundary() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -8136,7 +8136,7 @@ void Ifc4x3_tc1::IfcAnnotationFillArea::setInnerBoundaries(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcAnnotationFillArea::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[47]); } -void Ifc4x3_tc1::IfcAnnotationFillArea::initialize(::Ifc4x3_tc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_tc1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); } } +Ifc4x3_tc1::IfcAnnotationFillArea Ifc4x3_tc1::IfcAnnotationFillArea::initialize(::Ifc4x3_tc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_tc1::IfcCurve > > v2_InnerBoundaries) { set_attribute_value(0, (v1_OuterBoundary)); if (v2_InnerBoundaries) {set_attribute_value(1, cast_vector(*v2_InnerBoundaries)); }; return *this; } // Function implementations for IfcApplication ::Ifc4x3_tc1::IfcOrganization Ifc4x3_tc1::IfcApplication::ApplicationDeveloper() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcOrganization>(); } @@ -8150,7 +8150,7 @@ void Ifc4x3_tc1::IfcApplication::setApplicationIdentifier(const std::string& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcApplication::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[49]); } -void Ifc4x3_tc1::IfcApplication::initialize(::Ifc4x3_tc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier)); } +Ifc4x3_tc1::IfcApplication Ifc4x3_tc1::IfcApplication::initialize(::Ifc4x3_tc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) { set_attribute_value(0, (v1_ApplicationDeveloper));set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; return *this; } // Function implementations for IfcAppliedValue std::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8177,7 +8177,7 @@ void Ifc4x3_tc1::IfcAppliedValue::setComponents(const std::optional< std::vector std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcAppliedValue::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcAppliedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[50]); } -void Ifc4x3_tc1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_tc1::IfcAppliedValue Ifc4x3_tc1::IfcAppliedValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcApproval std::optional< std::string > Ifc4x3_tc1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8206,7 +8206,7 @@ std::vector<::Ifc4x3_tc1::IfcApprovalRelationship> Ifc4x3_tc1::IfcApproval::IsRe std::vector<::Ifc4x3_tc1::IfcApprovalRelationship> Ifc4x3_tc1::IfcApproval::Relates() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[53], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[52]); } -void Ifc4x3_tc1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_tc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_tc1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval)); } +Ifc4x3_tc1::IfcApproval Ifc4x3_tc1::IfcApproval::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_tc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_tc1::IfcActorSelect v9_GivingApproval) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, (v8_RequestingApproval));set_attribute_value(8, (v9_GivingApproval));; return *this; } // Function implementations for IfcApprovalRelationship ::Ifc4x3_tc1::IfcApproval Ifc4x3_tc1::IfcApprovalRelationship::RelatingApproval() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcApproval>(); } @@ -8216,7 +8216,7 @@ void Ifc4x3_tc1::IfcApprovalRelationship::setRelatedApprovals(const std::vector< const ifcopenshell::entity& Ifc4x3_tc1::IfcApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[53]); } -void Ifc4x3_tc1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_tc1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals)); } +Ifc4x3_tc1::IfcApprovalRelationship Ifc4x3_tc1::IfcApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_tc1::IfcApproval > v4_RelatedApprovals) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingApproval));set_attribute_value(3, cast_vector(v4_RelatedApprovals));; return *this; } // Function implementations for IfcArbitraryClosedProfileDef ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -8224,7 +8224,7 @@ void Ifc4x3_tc1::IfcArbitraryClosedProfileDef::setOuterCurve(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcArbitraryClosedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[54]); } -void Ifc4x3_tc1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve)); } +Ifc4x3_tc1::IfcArbitraryClosedProfileDef Ifc4x3_tc1::IfcArbitraryClosedProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));; return *this; } // Function implementations for IfcArbitraryOpenProfileDef ::Ifc4x3_tc1::IfcBoundedCurve Ifc4x3_tc1::IfcArbitraryOpenProfileDef::Curve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcBoundedCurve>(); } @@ -8232,7 +8232,7 @@ void Ifc4x3_tc1::IfcArbitraryOpenProfileDef::setCurve(const ::Ifc4x3_tc1::IfcBou const ifcopenshell::entity& Ifc4x3_tc1::IfcArbitraryOpenProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[55]); } -void Ifc4x3_tc1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve)); } +Ifc4x3_tc1::IfcArbitraryOpenProfileDef Ifc4x3_tc1::IfcArbitraryOpenProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));; return *this; } // Function implementations for IfcArbitraryProfileDefWithVoids std::vector< ::Ifc4x3_tc1::IfcCurve > Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_tc1::IfcCurve>(es); } @@ -8240,7 +8240,7 @@ void Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::setInnerCurves(const std::vect const ifcopenshell::entity& Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[56]); } -void Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_tc1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves)); } +Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_tc1::IfcCurve > v4_InnerCurves) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_OuterCurve));set_attribute_value(3, cast_vector(v4_InnerCurves));; return *this; } // Function implementations for IfcAsset std::optional< std::string > Ifc4x3_tc1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -8264,7 +8264,7 @@ void Ifc4x3_tc1::IfcAsset::setDepreciatedValue(const ::Ifc4x3_tc1::IfcCostValue& const ifcopenshell::entity& Ifc4x3_tc1::IfcAsset::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[62]); } -void Ifc4x3_tc1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_tc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_tc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_tc1::IfcActorSelect v10_Owner, ::Ifc4x3_tc1::IfcActorSelect v11_User, ::Ifc4x3_tc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_tc1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue)); } +Ifc4x3_tc1::IfcAsset Ifc4x3_tc1::IfcAsset::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_tc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_tc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_tc1::IfcActorSelect v10_Owner, ::Ifc4x3_tc1::IfcActorSelect v11_User, ::Ifc4x3_tc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_tc1::IfcCostValue v14_DepreciatedValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_OriginalValue));set_attribute_value(7, (v8_CurrentValue));set_attribute_value(8, (v9_TotalReplacementCost));set_attribute_value(9, (v10_Owner));set_attribute_value(10, (v11_User));set_attribute_value(11, (v12_ResponsiblePerson)); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, (v14_DepreciatedValue));; return *this; } // Function implementations for IfcAsymmetricIShapeProfileDef double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } @@ -8294,7 +8294,7 @@ void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[63]); } -void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); } } +Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; return *this; } // Function implementations for IfcAudioVisualAppliance std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_tc1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -8302,7 +8302,7 @@ void Ifc4x3_tc1::IfcAudioVisualAppliance::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcAudioVisualAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[64]); } -void Ifc4x3_tc1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcAudioVisualAppliance Ifc4x3_tc1::IfcAudioVisualAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcAudioVisualApplianceType ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_tc1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -8310,7 +8310,7 @@ void Ifc4x3_tc1::IfcAudioVisualApplianceType::setPredefinedType(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcAudioVisualApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[65]); } -void Ifc4x3_tc1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcAudioVisualApplianceType Ifc4x3_tc1::IfcAudioVisualApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcAxis1Placement ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -8318,7 +8318,7 @@ void Ifc4x3_tc1::IfcAxis1Placement::setAxis(const ::Ifc4x3_tc1::IfcDirection& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcAxis1Placement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[67]); } -void Ifc4x3_tc1::IfcAxis1Placement::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis)); } +Ifc4x3_tc1::IfcAxis1Placement Ifc4x3_tc1::IfcAxis1Placement::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));; return *this; } // Function implementations for IfcAxis2Placement2D ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -8326,7 +8326,7 @@ void Ifc4x3_tc1::IfcAxis2Placement2D::setRefDirection(const ::Ifc4x3_tc1::IfcDir const ifcopenshell::entity& Ifc4x3_tc1::IfcAxis2Placement2D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[69]); } -void Ifc4x3_tc1::IfcAxis2Placement2D::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection)); } +Ifc4x3_tc1::IfcAxis2Placement2D Ifc4x3_tc1::IfcAxis2Placement2D::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_RefDirection));; return *this; } // Function implementations for IfcAxis2Placement3D ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -8336,7 +8336,7 @@ void Ifc4x3_tc1::IfcAxis2Placement3D::setRefDirection(const ::Ifc4x3_tc1::IfcDir const ifcopenshell::entity& Ifc4x3_tc1::IfcAxis2Placement3D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[70]); } -void Ifc4x3_tc1::IfcAxis2Placement3D::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_tc1::IfcAxis2Placement3D Ifc4x3_tc1::IfcAxis2Placement3D::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcAxis2PlacementLinear ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -8346,7 +8346,7 @@ void Ifc4x3_tc1::IfcAxis2PlacementLinear::setRefDirection(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcAxis2PlacementLinear::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[71]); } -void Ifc4x3_tc1::IfcAxis2PlacementLinear::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection)); } +Ifc4x3_tc1::IfcAxis2PlacementLinear Ifc4x3_tc1::IfcAxis2PlacementLinear::initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection) { set_attribute_value(0, (v1_Location));set_attribute_value(1, (v2_Axis));set_attribute_value(2, (v3_RefDirection));; return *this; } // Function implementations for IfcBSplineCurve int Ifc4x3_tc1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } @@ -8362,7 +8362,7 @@ void Ifc4x3_tc1::IfcBSplineCurve::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_tc1::IfcBSplineCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[107]); } -void Ifc4x3_tc1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect)); } +Ifc4x3_tc1::IfcBSplineCurve Ifc4x3_tc1::IfcBSplineCurve::initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; return *this; } // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } @@ -8374,7 +8374,7 @@ void Ifc4x3_tc1::IfcBSplineCurveWithKnots::setKnotSpec(const ::Ifc4x3_tc1::IfcKn const ifcopenshell::entity& Ifc4x3_tc1::IfcBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[109]); } -void Ifc4x3_tc1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec))); } +Ifc4x3_tc1::IfcBSplineCurveWithKnots Ifc4x3_tc1::IfcBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; return *this; } // Function implementations for IfcBSplineSurface int Ifc4x3_tc1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } @@ -8394,7 +8394,7 @@ void Ifc4x3_tc1::IfcBSplineSurface::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_tc1::IfcBSplineSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[110]); } -void Ifc4x3_tc1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect)); } +Ifc4x3_tc1::IfcBSplineSurface Ifc4x3_tc1::IfcBSplineSurface::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; return *this; } // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } @@ -8410,7 +8410,7 @@ void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::setKnotSpec(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[112]); } -void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec))); } +Ifc4x3_tc1::IfcBSplineSurfaceWithKnots Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; return *this; } // Function implementations for IfcBeam std::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > Ifc4x3_tc1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -8418,7 +8418,7 @@ void Ifc4x3_tc1::IfcBeam::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[72]); } -void Ifc4x3_tc1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcBeam Ifc4x3_tc1::IfcBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBeamType ::Ifc4x3_tc1::IfcBeamTypeEnum::Value Ifc4x3_tc1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -8426,7 +8426,7 @@ void Ifc4x3_tc1::IfcBeamType::setPredefinedType(const ::Ifc4x3_tc1::IfcBeamTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[73]); } -void Ifc4x3_tc1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcBeamType Ifc4x3_tc1::IfcBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBearing std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > Ifc4x3_tc1::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } @@ -8434,7 +8434,7 @@ void Ifc4x3_tc1::IfcBearing::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcBearing::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[75]); } -void Ifc4x3_tc1::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcBearing Ifc4x3_tc1::IfcBearing::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBearingType ::Ifc4x3_tc1::IfcBearingTypeEnum::Value Ifc4x3_tc1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } @@ -8442,7 +8442,7 @@ void Ifc4x3_tc1::IfcBearingType::setPredefinedType(const ::Ifc4x3_tc1::IfcBearin const ifcopenshell::entity& Ifc4x3_tc1::IfcBearingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[76]); } -void Ifc4x3_tc1::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcBearingType Ifc4x3_tc1::IfcBearingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBearingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBlobTexture std::string Ifc4x3_tc1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } @@ -8452,7 +8452,7 @@ void Ifc4x3_tc1::IfcBlobTexture::setRasterCode(const boost::dynamic_bitset<>& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcBlobTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[81]); } -void Ifc4x3_tc1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode)); } +Ifc4x3_tc1::IfcBlobTexture Ifc4x3_tc1::IfcBlobTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; return *this; } // Function implementations for IfcBlock double Ifc4x3_tc1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } @@ -8464,7 +8464,7 @@ void Ifc4x3_tc1::IfcBlock::setZLength(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_tc1::IfcBlock::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[82]); } -void Ifc4x3_tc1::IfcBlock::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength)); } +Ifc4x3_tc1::IfcBlock Ifc4x3_tc1::IfcBlock::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; return *this; } // Function implementations for IfcBoiler std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > Ifc4x3_tc1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } @@ -8472,7 +8472,7 @@ void Ifc4x3_tc1::IfcBoiler::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcBoiler::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[83]); } -void Ifc4x3_tc1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcBoiler Ifc4x3_tc1::IfcBoiler::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBoilerType ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value Ifc4x3_tc1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } @@ -8480,13 +8480,13 @@ void Ifc4x3_tc1::IfcBoilerType::setPredefinedType(const ::Ifc4x3_tc1::IfcBoilerT const ifcopenshell::entity& Ifc4x3_tc1::IfcBoilerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[84]); } -void Ifc4x3_tc1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcBoilerType Ifc4x3_tc1::IfcBoilerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBooleanClippingResult const ifcopenshell::entity& Ifc4x3_tc1::IfcBooleanClippingResult::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[87]); } -void Ifc4x3_tc1::IfcBooleanClippingResult::initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_tc1::IfcBooleanClippingResult Ifc4x3_tc1::IfcBooleanClippingResult::initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBooleanResult ::Ifc4x3_tc1::IfcBooleanOperator::Value Ifc4x3_tc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_tc1::IfcBooleanOperator::FromString(get_attribute_value(0)); } @@ -8498,13 +8498,13 @@ void Ifc4x3_tc1::IfcBooleanResult::setSecondOperand(const ::Ifc4x3_tc1::IfcBoole const ifcopenshell::entity& Ifc4x3_tc1::IfcBooleanResult::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[90]); } -void Ifc4x3_tc1::IfcBooleanResult::initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand)); } +Ifc4x3_tc1::IfcBooleanResult Ifc4x3_tc1::IfcBooleanResult::initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, (v2_FirstOperand));set_attribute_value(2, (v3_SecondOperand));; return *this; } // Function implementations for IfcBorehole const ifcopenshell::entity& Ifc4x3_tc1::IfcBorehole::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[91]); } -void Ifc4x3_tc1::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcBorehole Ifc4x3_tc1::IfcBorehole::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBoundaryCondition std::optional< std::string > Ifc4x3_tc1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8512,13 +8512,13 @@ void Ifc4x3_tc1::IfcBoundaryCondition::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundaryCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[92]); } -void Ifc4x3_tc1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcBoundaryCondition Ifc4x3_tc1::IfcBoundaryCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcBoundaryCurve const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[93]); } -void Ifc4x3_tc1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_tc1::IfcBoundaryCurve Ifc4x3_tc1::IfcBoundaryCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcBoundaryEdgeCondition ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(); } @@ -8536,7 +8536,7 @@ void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(const const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundaryEdgeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[94]); } -void Ifc4x3_tc1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ)); } +Ifc4x3_tc1::IfcBoundaryEdgeCondition Ifc4x3_tc1::IfcBoundaryEdgeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByLengthX));set_attribute_value(2, (v3_TranslationalStiffnessByLengthY));set_attribute_value(3, (v4_TranslationalStiffnessByLengthZ));set_attribute_value(4, (v5_RotationalStiffnessByLengthX));set_attribute_value(5, (v6_RotationalStiffnessByLengthY));set_attribute_value(6, (v7_RotationalStiffnessByLengthZ));; return *this; } // Function implementations for IfcBoundaryFaceCondition ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(); } @@ -8548,7 +8548,7 @@ void Ifc4x3_tc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(cons const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundaryFaceCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[95]); } -void Ifc4x3_tc1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ)); } +Ifc4x3_tc1::IfcBoundaryFaceCondition Ifc4x3_tc1::IfcBoundaryFaceCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessByAreaX));set_attribute_value(2, (v3_TranslationalStiffnessByAreaY));set_attribute_value(3, (v4_TranslationalStiffnessByAreaZ));; return *this; } // Function implementations for IfcBoundaryNodeCondition ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(); } @@ -8566,7 +8566,7 @@ void Ifc4x3_tc1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundaryNodeCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[96]); } -void Ifc4x3_tc1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ)); } +Ifc4x3_tc1::IfcBoundaryNodeCondition Ifc4x3_tc1::IfcBoundaryNodeCondition::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));; return *this; } // Function implementations for IfcBoundaryNodeConditionWarping ::Ifc4x3_tc1::IfcWarpingStiffnessSelect Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_tc1::IfcWarpingStiffnessSelect{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcWarpingStiffnessSelect>(); } @@ -8574,19 +8574,19 @@ void Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(const ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[97]); } -void Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_tc1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness)); } +Ifc4x3_tc1::IfcBoundaryNodeConditionWarping Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_tc1::IfcWarpingStiffnessSelect v8_WarpingStiffness) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TranslationalStiffnessX));set_attribute_value(2, (v3_TranslationalStiffnessY));set_attribute_value(3, (v4_TranslationalStiffnessZ));set_attribute_value(4, (v5_RotationalStiffnessX));set_attribute_value(5, (v6_RotationalStiffnessY));set_attribute_value(6, (v7_RotationalStiffnessZ));set_attribute_value(7, (v8_WarpingStiffness));; return *this; } // Function implementations for IfcBoundedCurve const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[98]); } -void Ifc4x3_tc1::IfcBoundedCurve::initialize() { } +Ifc4x3_tc1::IfcBoundedCurve Ifc4x3_tc1::IfcBoundedCurve::initialize() { ; return *this; } // Function implementations for IfcBoundedSurface const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[99]); } -void Ifc4x3_tc1::IfcBoundedSurface::initialize() { } +Ifc4x3_tc1::IfcBoundedSurface Ifc4x3_tc1::IfcBoundedSurface::initialize() { ; return *this; } // Function implementations for IfcBoundingBox ::Ifc4x3_tc1::IfcCartesianPoint Ifc4x3_tc1::IfcBoundingBox::Corner() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCartesianPoint>(); } @@ -8600,7 +8600,7 @@ void Ifc4x3_tc1::IfcBoundingBox::setZDim(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_tc1::IfcBoundingBox::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[100]); } -void Ifc4x3_tc1::IfcBoundingBox::initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim)); } +Ifc4x3_tc1::IfcBoundingBox Ifc4x3_tc1::IfcBoundingBox::initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) { set_attribute_value(0, (v1_Corner));set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; return *this; } // Function implementations for IfcBoxedHalfSpace ::Ifc4x3_tc1::IfcBoundingBox Ifc4x3_tc1::IfcBoxedHalfSpace::Enclosure() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcBoundingBox>(); } @@ -8608,7 +8608,7 @@ void Ifc4x3_tc1::IfcBoxedHalfSpace::setEnclosure(const ::Ifc4x3_tc1::IfcBounding const ifcopenshell::entity& Ifc4x3_tc1::IfcBoxedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[102]); } -void Ifc4x3_tc1::IfcBoxedHalfSpace::initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure)); } +Ifc4x3_tc1::IfcBoxedHalfSpace Ifc4x3_tc1::IfcBoxedHalfSpace::initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcBoundingBox v3_Enclosure) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Enclosure));; return *this; } // Function implementations for IfcBridge std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > Ifc4x3_tc1::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } @@ -8616,7 +8616,7 @@ void Ifc4x3_tc1::IfcBridge::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcBridge::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[103]); } -void Ifc4x3_tc1::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcBridge Ifc4x3_tc1::IfcBridge::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcBridgePart std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > Ifc4x3_tc1::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } @@ -8624,7 +8624,7 @@ void Ifc4x3_tc1::IfcBridgePart::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcBridgePart::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[104]); } -void Ifc4x3_tc1::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcBridgePart Ifc4x3_tc1::IfcBridgePart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcBuilding std::optional< double > Ifc4x3_tc1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8636,7 +8636,7 @@ void Ifc4x3_tc1::IfcBuilding::setBuildingAddress(const ::Ifc4x3_tc1::IfcPostalAd const ifcopenshell::entity& Ifc4x3_tc1::IfcBuilding::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[113]); } -void Ifc4x3_tc1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_tc1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress)); } +Ifc4x3_tc1::IfcBuilding Ifc4x3_tc1::IfcBuilding::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_tc1::IfcPostalAddress v12_BuildingAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, (v12_BuildingAddress));; return *this; } // Function implementations for IfcBuildingElementPart std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_tc1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } @@ -8644,7 +8644,7 @@ void Ifc4x3_tc1::IfcBuildingElementPart::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcBuildingElementPart::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[114]); } -void Ifc4x3_tc1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcBuildingElementPart Ifc4x3_tc1::IfcBuildingElementPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementPartType ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_tc1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } @@ -8652,7 +8652,7 @@ void Ifc4x3_tc1::IfcBuildingElementPartType::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcBuildingElementPartType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[115]); } -void Ifc4x3_tc1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcBuildingElementPartType Ifc4x3_tc1::IfcBuildingElementPartType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingElementProxy std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_tc1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } @@ -8660,7 +8660,7 @@ void Ifc4x3_tc1::IfcBuildingElementProxy::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcBuildingElementProxy::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[117]); } -void Ifc4x3_tc1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcBuildingElementProxy Ifc4x3_tc1::IfcBuildingElementProxy::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBuildingElementProxyType ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_tc1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } @@ -8668,7 +8668,7 @@ void Ifc4x3_tc1::IfcBuildingElementProxyType::setPredefinedType(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcBuildingElementProxyType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[118]); } -void Ifc4x3_tc1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcBuildingElementProxyType Ifc4x3_tc1::IfcBuildingElementProxyType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcBuildingStorey std::optional< double > Ifc4x3_tc1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -8676,7 +8676,7 @@ void Ifc4x3_tc1::IfcBuildingStorey::setElevation(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_tc1::IfcBuildingStorey::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[120]); } -void Ifc4x3_tc1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); } } +Ifc4x3_tc1::IfcBuildingStorey Ifc4x3_tc1::IfcBuildingStorey::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; return *this; } // Function implementations for IfcBuildingSystem std::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_tc1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8686,19 +8686,19 @@ void Ifc4x3_tc1::IfcBuildingSystem::setLongName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcBuildingSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[121]); } -void Ifc4x3_tc1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_tc1::IfcBuildingSystem Ifc4x3_tc1::IfcBuildingSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBuiltElement const ifcopenshell::entity& Ifc4x3_tc1::IfcBuiltElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[123]); } -void Ifc4x3_tc1::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcBuiltElement Ifc4x3_tc1::IfcBuiltElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcBuiltElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcBuiltElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[124]); } -void Ifc4x3_tc1::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcBuiltElementType Ifc4x3_tc1::IfcBuiltElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcBuiltSystem std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_tc1::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } @@ -8708,7 +8708,7 @@ void Ifc4x3_tc1::IfcBuiltSystem::setLongName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_tc1::IfcBuiltSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[125]); } -void Ifc4x3_tc1::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); } } +Ifc4x3_tc1::IfcBuiltSystem Ifc4x3_tc1::IfcBuiltSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; return *this; } // Function implementations for IfcBurner std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > Ifc4x3_tc1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } @@ -8716,7 +8716,7 @@ void Ifc4x3_tc1::IfcBurner::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcBurner::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[127]); } -void Ifc4x3_tc1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcBurner Ifc4x3_tc1::IfcBurner::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcBurnerType ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value Ifc4x3_tc1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } @@ -8724,7 +8724,7 @@ void Ifc4x3_tc1::IfcBurnerType::setPredefinedType(const ::Ifc4x3_tc1::IfcBurnerT const ifcopenshell::entity& Ifc4x3_tc1::IfcBurnerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[128]); } -void Ifc4x3_tc1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcBurnerType Ifc4x3_tc1::IfcBurnerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCShapeProfileDef double Ifc4x3_tc1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -8740,7 +8740,7 @@ void Ifc4x3_tc1::IfcCShapeProfileDef::setInternalFilletRadius(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcCShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[265]); } -void Ifc4x3_tc1::IfcCShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } } +Ifc4x3_tc1::IfcCShapeProfileDef Ifc4x3_tc1::IfcCShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; return *this; } // Function implementations for IfcCableCarrierFitting std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_tc1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8748,7 +8748,7 @@ void Ifc4x3_tc1::IfcCableCarrierFitting::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcCableCarrierFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[130]); } -void Ifc4x3_tc1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCableCarrierFitting Ifc4x3_tc1::IfcCableCarrierFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierFittingType ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8756,7 +8756,7 @@ void Ifc4x3_tc1::IfcCableCarrierFittingType::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcCableCarrierFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[131]); } -void Ifc4x3_tc1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCableCarrierFittingType Ifc4x3_tc1::IfcCableCarrierFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableCarrierSegment std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_tc1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8764,7 +8764,7 @@ void Ifc4x3_tc1::IfcCableCarrierSegment::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcCableCarrierSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[133]); } -void Ifc4x3_tc1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCableCarrierSegment Ifc4x3_tc1::IfcCableCarrierSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableCarrierSegmentType ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8772,7 +8772,7 @@ void Ifc4x3_tc1::IfcCableCarrierSegmentType::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcCableCarrierSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[134]); } -void Ifc4x3_tc1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCableCarrierSegmentType Ifc4x3_tc1::IfcCableCarrierSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableFitting std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > Ifc4x3_tc1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -8780,7 +8780,7 @@ void Ifc4x3_tc1::IfcCableFitting::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcCableFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[136]); } -void Ifc4x3_tc1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCableFitting Ifc4x3_tc1::IfcCableFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableFittingType ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value Ifc4x3_tc1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -8788,7 +8788,7 @@ void Ifc4x3_tc1::IfcCableFittingType::setPredefinedType(const ::Ifc4x3_tc1::IfcC const ifcopenshell::entity& Ifc4x3_tc1::IfcCableFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[137]); } -void Ifc4x3_tc1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCableFittingType Ifc4x3_tc1::IfcCableFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCableSegment std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_tc1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -8796,7 +8796,7 @@ void Ifc4x3_tc1::IfcCableSegment::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcCableSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[139]); } -void Ifc4x3_tc1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCableSegment Ifc4x3_tc1::IfcCableSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCableSegmentType ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -8804,7 +8804,7 @@ void Ifc4x3_tc1::IfcCableSegmentType::setPredefinedType(const ::Ifc4x3_tc1::IfcC const ifcopenshell::entity& Ifc4x3_tc1::IfcCableSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[140]); } -void Ifc4x3_tc1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCableSegmentType Ifc4x3_tc1::IfcCableSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCaissonFoundation std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_tc1::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } @@ -8812,7 +8812,7 @@ void Ifc4x3_tc1::IfcCaissonFoundation::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcCaissonFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[142]); } -void Ifc4x3_tc1::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCaissonFoundation Ifc4x3_tc1::IfcCaissonFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCaissonFoundationType ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_tc1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } @@ -8820,7 +8820,7 @@ void Ifc4x3_tc1::IfcCaissonFoundationType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcCaissonFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[143]); } -void Ifc4x3_tc1::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCaissonFoundationType Ifc4x3_tc1::IfcCaissonFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ Ifc4x3_tc1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } @@ -8828,13 +8828,13 @@ void Ifc4x3_tc1::IfcCartesianPoint::setCoordinates(const std::vector< double > / const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[146]); } -void Ifc4x3_tc1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_tc1::IfcCartesianPoint Ifc4x3_tc1::IfcCartesianPoint::initialize(std::vector< double > /*[1:3]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcCartesianPointList const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianPointList::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[147]); } -void Ifc4x3_tc1::IfcCartesianPointList::initialize() { } +Ifc4x3_tc1::IfcCartesianPointList Ifc4x3_tc1::IfcCartesianPointList::initialize() { ; return *this; } // Function implementations for IfcCartesianPointList2D std::vector< std::vector< double > > Ifc4x3_tc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8844,7 +8844,7 @@ void Ifc4x3_tc1::IfcCartesianPointList2D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianPointList2D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[148]); } -void Ifc4x3_tc1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_tc1::IfcCartesianPointList2D Ifc4x3_tc1::IfcCartesianPointList2D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > Ifc4x3_tc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -8854,7 +8854,7 @@ void Ifc4x3_tc1::IfcCartesianPointList3D::setTagList(const std::optional< std::v const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianPointList3D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[149]); } -void Ifc4x3_tc1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); } } +Ifc4x3_tc1::IfcCartesianPointList3D Ifc4x3_tc1::IfcCartesianPointList3D::initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -8868,13 +8868,13 @@ void Ifc4x3_tc1::IfcCartesianTransformationOperator::setScale(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[150]); } -void Ifc4x3_tc1::IfcCartesianTransformationOperator::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_tc1::IfcCartesianTransformationOperator Ifc4x3_tc1::IfcCartesianTransformationOperator::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2D const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator2D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[151]); } -void Ifc4x3_tc1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } } +Ifc4x3_tc1::IfcCartesianTransformationOperator2D Ifc4x3_tc1::IfcCartesianTransformationOperator2D::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator2DnonUniform std::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -8882,7 +8882,7 @@ void Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::setScale2(const const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[152]); } -void Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); } } +Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; return *this; } // Function implementations for IfcCartesianTransformationOperator3D ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_tc1::IfcDirection{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -8890,7 +8890,7 @@ void Ifc4x3_tc1::IfcCartesianTransformationOperator3D::setAxis3(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator3D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[153]); } -void Ifc4x3_tc1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); } +Ifc4x3_tc1::IfcCartesianTransformationOperator3D Ifc4x3_tc1::IfcCartesianTransformationOperator3D::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3));; return *this; } // Function implementations for IfcCartesianTransformationOperator3DnonUniform std::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -8900,7 +8900,7 @@ void Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::setScale3(const const ifcopenshell::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[154]); } -void Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); } } +Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3) { set_attribute_value(0, (v1_Axis1));set_attribute_value(1, (v2_Axis2));set_attribute_value(2, (v3_LocalOrigin)); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, (v5_Axis3)); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; return *this; } // Function implementations for IfcCenterLineProfileDef double Ifc4x3_tc1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } @@ -8908,7 +8908,7 @@ void Ifc4x3_tc1::IfcCenterLineProfileDef::setThickness(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcCenterLineProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[155]); } -void Ifc4x3_tc1::IfcCenterLineProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness)); } +Ifc4x3_tc1::IfcCenterLineProfileDef Ifc4x3_tc1::IfcCenterLineProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve, double v4_Thickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Curve));set_attribute_value(3, (v4_Thickness));; return *this; } // Function implementations for IfcChiller std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > Ifc4x3_tc1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } @@ -8916,7 +8916,7 @@ void Ifc4x3_tc1::IfcChiller::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcChiller::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[157]); } -void Ifc4x3_tc1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcChiller Ifc4x3_tc1::IfcChiller::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChillerType ::Ifc4x3_tc1::IfcChillerTypeEnum::Value Ifc4x3_tc1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } @@ -8924,7 +8924,7 @@ void Ifc4x3_tc1::IfcChillerType::setPredefinedType(const ::Ifc4x3_tc1::IfcChille const ifcopenshell::entity& Ifc4x3_tc1::IfcChillerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[158]); } -void Ifc4x3_tc1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcChillerType Ifc4x3_tc1::IfcChillerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChillerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcChimney std::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > Ifc4x3_tc1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } @@ -8932,7 +8932,7 @@ void Ifc4x3_tc1::IfcChimney::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcChimney::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[160]); } -void Ifc4x3_tc1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcChimney Ifc4x3_tc1::IfcChimney::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcChimneyType ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value Ifc4x3_tc1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } @@ -8940,7 +8940,7 @@ void Ifc4x3_tc1::IfcChimneyType::setPredefinedType(const ::Ifc4x3_tc1::IfcChimne const ifcopenshell::entity& Ifc4x3_tc1::IfcChimneyType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[161]); } -void Ifc4x3_tc1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcChimneyType Ifc4x3_tc1::IfcChimneyType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCircle double Ifc4x3_tc1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } @@ -8948,7 +8948,7 @@ void Ifc4x3_tc1::IfcCircle::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_tc1::IfcCircle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[163]); } -void Ifc4x3_tc1::IfcCircle::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_tc1::IfcCircle Ifc4x3_tc1::IfcCircle::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcCircleHollowProfileDef double Ifc4x3_tc1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } @@ -8956,7 +8956,7 @@ void Ifc4x3_tc1::IfcCircleHollowProfileDef::setWallThickness(const double& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcCircleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[164]); } -void Ifc4x3_tc1::IfcCircleHollowProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness)); } +Ifc4x3_tc1::IfcCircleHollowProfileDef Ifc4x3_tc1::IfcCircleHollowProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; return *this; } // Function implementations for IfcCircleProfileDef double Ifc4x3_tc1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } @@ -8964,19 +8964,19 @@ void Ifc4x3_tc1::IfcCircleProfileDef::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_tc1::IfcCircleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[165]); } -void Ifc4x3_tc1::IfcCircleProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius)); } +Ifc4x3_tc1::IfcCircleProfileDef Ifc4x3_tc1::IfcCircleProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Radius));; return *this; } // Function implementations for IfcCivilElement const ifcopenshell::entity& Ifc4x3_tc1::IfcCivilElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[166]); } -void Ifc4x3_tc1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcCivilElement Ifc4x3_tc1::IfcCivilElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcCivilElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcCivilElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[167]); } -void Ifc4x3_tc1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcCivilElementType Ifc4x3_tc1::IfcCivilElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcClassification std::optional< std::string > Ifc4x3_tc1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -8998,7 +8998,7 @@ std::vector<::Ifc4x3_tc1::IfcRelAssociatesClassification> Ifc4x3_tc1::IfcClassif std::vector<::Ifc4x3_tc1::IfcClassificationReference> Ifc4x3_tc1::IfcClassification::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[169], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[168]); } -void Ifc4x3_tc1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); } } +Ifc4x3_tc1::IfcClassification Ifc4x3_tc1::IfcClassification::initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; return *this; } // Function implementations for IfcClassificationReference ::Ifc4x3_tc1::IfcClassificationReferenceSelect Ifc4x3_tc1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_tc1::IfcClassificationReferenceSelect{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcClassificationReferenceSelect>(); } @@ -9012,13 +9012,13 @@ std::vector<::Ifc4x3_tc1::IfcRelAssociatesClassification> Ifc4x3_tc1::IfcClassif std::vector<::Ifc4x3_tc1::IfcClassificationReference> Ifc4x3_tc1::IfcClassificationReference::HasReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[169], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcClassificationReference::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[169]); } -void Ifc4x3_tc1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_tc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); } } +Ifc4x3_tc1::IfcClassificationReference Ifc4x3_tc1::IfcClassificationReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_tc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, (v4_ReferencedSource)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; return *this; } // Function implementations for IfcClosedShell const ifcopenshell::entity& Ifc4x3_tc1::IfcClosedShell::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[172]); } -void Ifc4x3_tc1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_tc1::IfcClosedShell Ifc4x3_tc1::IfcClosedShell::initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcClothoid double Ifc4x3_tc1::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } @@ -9026,7 +9026,7 @@ void Ifc4x3_tc1::IfcClothoid::setClothoidConstant(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_tc1::IfcClothoid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[173]); } -void Ifc4x3_tc1::IfcClothoid::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant)); } +Ifc4x3_tc1::IfcClothoid Ifc4x3_tc1::IfcClothoid::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_ClothoidConstant));; return *this; } // Function implementations for IfcCoil std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > Ifc4x3_tc1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } @@ -9034,7 +9034,7 @@ void Ifc4x3_tc1::IfcCoil::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcCoil::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[174]); } -void Ifc4x3_tc1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCoil Ifc4x3_tc1::IfcCoil::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoilType ::Ifc4x3_tc1::IfcCoilTypeEnum::Value Ifc4x3_tc1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } @@ -9042,7 +9042,7 @@ void Ifc4x3_tc1::IfcCoilType::setPredefinedType(const ::Ifc4x3_tc1::IfcCoilTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcCoilType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[175]); } -void Ifc4x3_tc1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCoilType Ifc4x3_tc1::IfcCoilType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoilTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcColourRgb double Ifc4x3_tc1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } @@ -9054,7 +9054,7 @@ void Ifc4x3_tc1::IfcColourRgb::setBlue(const double& v) { set_attribute_value(3, const ifcopenshell::entity& Ifc4x3_tc1::IfcColourRgb::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[179]); } -void Ifc4x3_tc1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue)); } +Ifc4x3_tc1::IfcColourRgb Ifc4x3_tc1::IfcColourRgb::initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; return *this; } // Function implementations for IfcColourRgbList std::vector< std::vector< double > > Ifc4x3_tc1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -9062,7 +9062,7 @@ void Ifc4x3_tc1::IfcColourRgbList::setColourList(const std::vector< std::vector< const ifcopenshell::entity& Ifc4x3_tc1::IfcColourRgbList::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[180]); } -void Ifc4x3_tc1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList)); } +Ifc4x3_tc1::IfcColourRgbList Ifc4x3_tc1::IfcColourRgbList::initialize(std::vector< std::vector< double > > v1_ColourList) { set_attribute_value(0, (v1_ColourList));; return *this; } // Function implementations for IfcColourSpecification std::optional< std::string > Ifc4x3_tc1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9070,7 +9070,7 @@ void Ifc4x3_tc1::IfcColourSpecification::setName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_tc1::IfcColourSpecification::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[181]); } -void Ifc4x3_tc1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcColourSpecification Ifc4x3_tc1::IfcColourSpecification::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcColumn std::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > Ifc4x3_tc1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } @@ -9078,7 +9078,7 @@ void Ifc4x3_tc1::IfcColumn::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[182]); } -void Ifc4x3_tc1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcColumn Ifc4x3_tc1::IfcColumn::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcColumnType ::Ifc4x3_tc1::IfcColumnTypeEnum::Value Ifc4x3_tc1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_tc1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } @@ -9086,7 +9086,7 @@ void Ifc4x3_tc1::IfcColumnType::setPredefinedType(const ::Ifc4x3_tc1::IfcColumnT const ifcopenshell::entity& Ifc4x3_tc1::IfcColumnType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[183]); } -void Ifc4x3_tc1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcColumnType Ifc4x3_tc1::IfcColumnType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcColumnTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCommunicationsAppliance std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_tc1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -9094,7 +9094,7 @@ void Ifc4x3_tc1::IfcCommunicationsAppliance::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_tc1::IfcCommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[185]); } -void Ifc4x3_tc1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCommunicationsAppliance Ifc4x3_tc1::IfcCommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCommunicationsApplianceType ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -9102,7 +9102,7 @@ void Ifc4x3_tc1::IfcCommunicationsApplianceType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcCommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[186]); } -void Ifc4x3_tc1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCommunicationsApplianceType Ifc4x3_tc1::IfcCommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcComplexProperty std::string Ifc4x3_tc1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } @@ -9112,7 +9112,7 @@ void Ifc4x3_tc1::IfcComplexProperty::setHasProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcComplexProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[189]); } -void Ifc4x3_tc1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_tc1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties)); } +Ifc4x3_tc1::IfcComplexProperty Ifc4x3_tc1::IfcComplexProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_tc1::IfcProperty > v4_HasProperties) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, cast_vector(v4_HasProperties));; return *this; } // Function implementations for IfcComplexPropertyTemplate std::optional< std::string > Ifc4x3_tc1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9124,7 +9124,7 @@ void Ifc4x3_tc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(const std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcComplexPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[190]); } -void Ifc4x3_tc1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); } } +Ifc4x3_tc1::IfcComplexPropertyTemplate Ifc4x3_tc1::IfcComplexPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, cast_vector(*v7_HasPropertyTemplates)); }; return *this; } // Function implementations for IfcCompositeCurve std::vector< ::Ifc4x3_tc1::IfcSegment > Ifc4x3_tc1::IfcCompositeCurve::Segments() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcSegment>(es); } @@ -9134,13 +9134,13 @@ void Ifc4x3_tc1::IfcCompositeCurve::setSelfIntersect(const boost::logic::tribool const ifcopenshell::entity& Ifc4x3_tc1::IfcCompositeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[192]); } -void Ifc4x3_tc1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_tc1::IfcCompositeCurve Ifc4x3_tc1::IfcCompositeCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveOnSurface const ifcopenshell::entity& Ifc4x3_tc1::IfcCompositeCurveOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[193]); } -void Ifc4x3_tc1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_tc1::IfcCompositeCurveOnSurface Ifc4x3_tc1::IfcCompositeCurveOnSurface::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcCompositeCurveSegment bool Ifc4x3_tc1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } @@ -9150,7 +9150,7 @@ void Ifc4x3_tc1::IfcCompositeCurveSegment::setParentCurve(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[194]); } -void Ifc4x3_tc1::IfcCompositeCurveSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve)); } +Ifc4x3_tc1::IfcCompositeCurveSegment Ifc4x3_tc1::IfcCompositeCurveSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));; return *this; } // Function implementations for IfcCompositeProfileDef std::vector< ::Ifc4x3_tc1::IfcProfileDef > Ifc4x3_tc1::IfcCompositeProfileDef::Profiles() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcProfileDef>(es); } @@ -9160,7 +9160,7 @@ void Ifc4x3_tc1::IfcCompositeProfileDef::setLabel(const std::optional< std::stri const ifcopenshell::entity& Ifc4x3_tc1::IfcCompositeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[195]); } -void Ifc4x3_tc1::IfcCompositeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); } } +Ifc4x3_tc1::IfcCompositeProfileDef Ifc4x3_tc1::IfcCompositeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, cast_vector(v3_Profiles)); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; return *this; } // Function implementations for IfcCompressor std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > Ifc4x3_tc1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } @@ -9168,7 +9168,7 @@ void Ifc4x3_tc1::IfcCompressor::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcCompressor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[197]); } -void Ifc4x3_tc1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCompressor Ifc4x3_tc1::IfcCompressor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCompressorType ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value Ifc4x3_tc1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } @@ -9176,7 +9176,7 @@ void Ifc4x3_tc1::IfcCompressorType::setPredefinedType(const ::Ifc4x3_tc1::IfcCom const ifcopenshell::entity& Ifc4x3_tc1::IfcCompressorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[198]); } -void Ifc4x3_tc1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCompressorType Ifc4x3_tc1::IfcCompressorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCondenser std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > Ifc4x3_tc1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } @@ -9184,7 +9184,7 @@ void Ifc4x3_tc1::IfcCondenser::setPredefinedType(const std::optional< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcCondenser::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[200]); } -void Ifc4x3_tc1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCondenser Ifc4x3_tc1::IfcCondenser::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCondenserType ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value Ifc4x3_tc1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } @@ -9192,7 +9192,7 @@ void Ifc4x3_tc1::IfcCondenserType::setPredefinedType(const ::Ifc4x3_tc1::IfcCond const ifcopenshell::entity& Ifc4x3_tc1::IfcCondenserType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[201]); } -void Ifc4x3_tc1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCondenserType Ifc4x3_tc1::IfcCondenserType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConic ::Ifc4x3_tc1::IfcAxis2Placement Ifc4x3_tc1::IfcConic::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcAxis2Placement>(); } @@ -9200,7 +9200,7 @@ void Ifc4x3_tc1::IfcConic::setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcConic::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[203]); } -void Ifc4x3_tc1::IfcConic::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_tc1::IfcConic Ifc4x3_tc1::IfcConic::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcConnectedFaceSet std::vector< ::Ifc4x3_tc1::IfcFace > Ifc4x3_tc1::IfcConnectedFaceSet::CfsFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcFace>(es); } @@ -9208,7 +9208,7 @@ void Ifc4x3_tc1::IfcConnectedFaceSet::setCfsFaces(const std::vector< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[204]); } -void Ifc4x3_tc1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_tc1::IfcConnectedFaceSet Ifc4x3_tc1::IfcConnectedFaceSet::initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcConnectionCurveGeometry ::Ifc4x3_tc1::IfcCurveOrEdgeCurve Ifc4x3_tc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurveOrEdgeCurve>(); } @@ -9218,13 +9218,13 @@ void Ifc4x3_tc1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectionCurveGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[205]); } -void Ifc4x3_tc1::IfcConnectionCurveGeometry::initialize(::Ifc4x3_tc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_tc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement)); } +Ifc4x3_tc1::IfcConnectionCurveGeometry Ifc4x3_tc1::IfcConnectionCurveGeometry::initialize(::Ifc4x3_tc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_tc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement) { set_attribute_value(0, (v1_CurveOnRelatingElement));set_attribute_value(1, (v2_CurveOnRelatedElement));; return *this; } // Function implementations for IfcConnectionGeometry const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectionGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[206]); } -void Ifc4x3_tc1::IfcConnectionGeometry::initialize() { } +Ifc4x3_tc1::IfcConnectionGeometry Ifc4x3_tc1::IfcConnectionGeometry::initialize() { ; return *this; } // Function implementations for IfcConnectionPointEccentricity std::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } double v = get_attribute_value(2); return v; } @@ -9236,7 +9236,7 @@ void Ifc4x3_tc1::IfcConnectionPointEccentricity::setEccentricityInZ(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectionPointEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[207]); } -void Ifc4x3_tc1::IfcConnectionPointEccentricity::initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); } } +Ifc4x3_tc1::IfcConnectionPointEccentricity Ifc4x3_tc1::IfcConnectionPointEccentricity::initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; return *this; } // Function implementations for IfcConnectionPointGeometry ::Ifc4x3_tc1::IfcPointOrVertexPoint Ifc4x3_tc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPointOrVertexPoint>(); } @@ -9246,7 +9246,7 @@ void Ifc4x3_tc1::IfcConnectionPointGeometry::setPointOnRelatedElement(const ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectionPointGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[208]); } -void Ifc4x3_tc1::IfcConnectionPointGeometry::initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement)); } +Ifc4x3_tc1::IfcConnectionPointGeometry Ifc4x3_tc1::IfcConnectionPointGeometry::initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement) { set_attribute_value(0, (v1_PointOnRelatingElement));set_attribute_value(1, (v2_PointOnRelatedElement));; return *this; } // Function implementations for IfcConnectionSurfaceGeometry ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface Ifc4x3_tc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSurfaceOrFaceSurface>(); } @@ -9256,7 +9256,7 @@ void Ifc4x3_tc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(const const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectionSurfaceGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[209]); } -void Ifc4x3_tc1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement)); } +Ifc4x3_tc1::IfcConnectionSurfaceGeometry Ifc4x3_tc1::IfcConnectionSurfaceGeometry::initialize(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement) { set_attribute_value(0, (v1_SurfaceOnRelatingElement));set_attribute_value(1, (v2_SurfaceOnRelatedElement));; return *this; } // Function implementations for IfcConnectionVolumeGeometry ::Ifc4x3_tc1::IfcSolidOrShell Ifc4x3_tc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSolidOrShell>(); } @@ -9266,7 +9266,7 @@ void Ifc4x3_tc1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(const :: const ifcopenshell::entity& Ifc4x3_tc1::IfcConnectionVolumeGeometry::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[211]); } -void Ifc4x3_tc1::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_tc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_tc1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement)); } +Ifc4x3_tc1::IfcConnectionVolumeGeometry Ifc4x3_tc1::IfcConnectionVolumeGeometry::initialize(::Ifc4x3_tc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_tc1::IfcSolidOrShell v2_VolumeOnRelatedElement) { set_attribute_value(0, (v1_VolumeOnRelatingElement));set_attribute_value(1, (v2_VolumeOnRelatedElement));; return *this; } // Function implementations for IfcConstraint std::string Ifc4x3_tc1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9288,7 +9288,7 @@ std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcConst std::vector<::Ifc4x3_tc1::IfcResourceConstraintRelationship> Ifc4x3_tc1::IfcConstraint::PropertiesForConstraint() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[954], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[212]); } -void Ifc4x3_tc1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } } +Ifc4x3_tc1::IfcConstraint Ifc4x3_tc1::IfcConstraint::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; return *this; } // Function implementations for IfcConstructionEquipmentResource std::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9296,7 +9296,7 @@ void Ifc4x3_tc1::IfcConstructionEquipmentResource::setPredefinedType(const std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionEquipmentResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[214]); } -void Ifc4x3_tc1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcConstructionEquipmentResource Ifc4x3_tc1::IfcConstructionEquipmentResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionEquipmentResourceType ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9304,7 +9304,7 @@ void Ifc4x3_tc1::IfcConstructionEquipmentResourceType::setPredefinedType(const : const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionEquipmentResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[215]); } -void Ifc4x3_tc1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcConstructionEquipmentResourceType Ifc4x3_tc1::IfcConstructionEquipmentResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionMaterialResource std::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9312,7 +9312,7 @@ void Ifc4x3_tc1::IfcConstructionMaterialResource::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionMaterialResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[217]); } -void Ifc4x3_tc1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcConstructionMaterialResource Ifc4x3_tc1::IfcConstructionMaterialResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionMaterialResourceType ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9320,7 +9320,7 @@ void Ifc4x3_tc1::IfcConstructionMaterialResourceType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionMaterialResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[218]); } -void Ifc4x3_tc1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcConstructionMaterialResourceType Ifc4x3_tc1::IfcConstructionMaterialResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionProductResource std::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9328,7 +9328,7 @@ void Ifc4x3_tc1::IfcConstructionProductResource::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionProductResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[220]); } -void Ifc4x3_tc1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcConstructionProductResource Ifc4x3_tc1::IfcConstructionProductResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcConstructionProductResourceType ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9336,7 +9336,7 @@ void Ifc4x3_tc1::IfcConstructionProductResourceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionProductResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[221]); } -void Ifc4x3_tc1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcConstructionProductResourceType Ifc4x3_tc1::IfcConstructionProductResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcConstructionResource ::Ifc4x3_tc1::IfcResourceTime Ifc4x3_tc1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_tc1::IfcResourceTime{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcResourceTime>(); } @@ -9348,7 +9348,7 @@ void Ifc4x3_tc1::IfcConstructionResource::setBaseQuantity(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[223]); } -void Ifc4x3_tc1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); } +Ifc4x3_tc1::IfcConstructionResource Ifc4x3_tc1::IfcConstructionResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity));; return *this; } // Function implementations for IfcConstructionResourceType std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > Ifc4x3_tc1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(9); return cast_vector<::Ifc4x3_tc1::IfcAppliedValue>(es); } @@ -9358,7 +9358,7 @@ void Ifc4x3_tc1::IfcConstructionResourceType::setBaseQuantity(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcConstructionResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[224]); } -void Ifc4x3_tc1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity)); } +Ifc4x3_tc1::IfcConstructionResourceType Ifc4x3_tc1::IfcConstructionResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));; return *this; } // Function implementations for IfcContext std::optional< std::string > Ifc4x3_tc1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -9376,7 +9376,7 @@ std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcContext::IsD std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcContext::Declares() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[927], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcContext::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[225]); } -void Ifc4x3_tc1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_tc1::IfcContext Ifc4x3_tc1::IfcContext::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcContextDependentUnit std::string Ifc4x3_tc1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9385,7 +9385,7 @@ void Ifc4x3_tc1::IfcContextDependentUnit::setName(const std::string& v) { set_at std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcContextDependentUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcContextDependentUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[227]); } -void Ifc4x3_tc1::IfcContextDependentUnit::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name)); } +Ifc4x3_tc1::IfcContextDependentUnit Ifc4x3_tc1::IfcContextDependentUnit::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; return *this; } // Function implementations for IfcControl std::optional< std::string > Ifc4x3_tc1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9394,7 +9394,7 @@ void Ifc4x3_tc1::IfcControl::setIdentification(const std::optional< std::string std::vector<::Ifc4x3_tc1::IfcRelAssignsToControl> Ifc4x3_tc1::IfcControl::Controls() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[900], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcControl::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[228]); } -void Ifc4x3_tc1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } } +Ifc4x3_tc1::IfcControl Ifc4x3_tc1::IfcControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; return *this; } // Function implementations for IfcController std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > Ifc4x3_tc1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } @@ -9402,7 +9402,7 @@ void Ifc4x3_tc1::IfcController::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcController::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[229]); } -void Ifc4x3_tc1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcController Ifc4x3_tc1::IfcController::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcControllerType ::Ifc4x3_tc1::IfcControllerTypeEnum::Value Ifc4x3_tc1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } @@ -9410,7 +9410,7 @@ void Ifc4x3_tc1::IfcControllerType::setPredefinedType(const ::Ifc4x3_tc1::IfcCon const ifcopenshell::entity& Ifc4x3_tc1::IfcControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[230]); } -void Ifc4x3_tc1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcControllerType Ifc4x3_tc1::IfcControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcControllerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcConversionBasedUnit std::string Ifc4x3_tc1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } @@ -9421,7 +9421,7 @@ void Ifc4x3_tc1::IfcConversionBasedUnit::setConversionFactor(const ::Ifc4x3_tc1: std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcConversionBasedUnit::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcConversionBasedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[232]); } -void Ifc4x3_tc1::IfcConversionBasedUnit::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor)); } +Ifc4x3_tc1::IfcConversionBasedUnit Ifc4x3_tc1::IfcConversionBasedUnit::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));; return *this; } // Function implementations for IfcConversionBasedUnitWithOffset double Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } @@ -9429,7 +9429,7 @@ void Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::setConversionOffset(const dou const ifcopenshell::entity& Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[233]); } -void Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset)); } +Ifc4x3_tc1::IfcConversionBasedUnitWithOffset Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, (v4_ConversionFactor));set_attribute_value(4, (v5_ConversionOffset));; return *this; } // Function implementations for IfcConveyorSegment std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_tc1::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -9437,7 +9437,7 @@ void Ifc4x3_tc1::IfcConveyorSegment::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcConveyorSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[234]); } -void Ifc4x3_tc1::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcConveyorSegment Ifc4x3_tc1::IfcConveyorSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcConveyorSegmentType ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_tc1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -9445,7 +9445,7 @@ void Ifc4x3_tc1::IfcConveyorSegmentType::setPredefinedType(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcConveyorSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[235]); } -void Ifc4x3_tc1::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcConveyorSegmentType Ifc4x3_tc1::IfcConveyorSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCooledBeam std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_tc1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } @@ -9453,7 +9453,7 @@ void Ifc4x3_tc1::IfcCooledBeam::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcCooledBeam::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[237]); } -void Ifc4x3_tc1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCooledBeam Ifc4x3_tc1::IfcCooledBeam::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCooledBeamType ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value Ifc4x3_tc1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } @@ -9461,7 +9461,7 @@ void Ifc4x3_tc1::IfcCooledBeamType::setPredefinedType(const ::Ifc4x3_tc1::IfcCoo const ifcopenshell::entity& Ifc4x3_tc1::IfcCooledBeamType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[238]); } -void Ifc4x3_tc1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCooledBeamType Ifc4x3_tc1::IfcCooledBeamType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoolingTower std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_tc1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } @@ -9469,7 +9469,7 @@ void Ifc4x3_tc1::IfcCoolingTower::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcCoolingTower::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[240]); } -void Ifc4x3_tc1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCoolingTower Ifc4x3_tc1::IfcCoolingTower::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoolingTowerType ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_tc1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } @@ -9477,7 +9477,7 @@ void Ifc4x3_tc1::IfcCoolingTowerType::setPredefinedType(const ::Ifc4x3_tc1::IfcC const ifcopenshell::entity& Ifc4x3_tc1::IfcCoolingTowerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[241]); } -void Ifc4x3_tc1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCoolingTowerType Ifc4x3_tc1::IfcCoolingTowerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCoordinateOperation ::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect Ifc4x3_tc1::IfcCoordinateOperation::SourceCRS() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect>(); } @@ -9487,7 +9487,7 @@ void Ifc4x3_tc1::IfcCoordinateOperation::setTargetCRS(const ::Ifc4x3_tc1::IfcCoo const ifcopenshell::entity& Ifc4x3_tc1::IfcCoordinateOperation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[243]); } -void Ifc4x3_tc1::IfcCoordinateOperation::initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS)); } +Ifc4x3_tc1::IfcCoordinateOperation Ifc4x3_tc1::IfcCoordinateOperation::initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));; return *this; } // Function implementations for IfcCoordinateReferenceSystem std::string Ifc4x3_tc1::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -9502,7 +9502,7 @@ void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setVerticalDatum(const std::optio std::vector<::Ifc4x3_tc1::IfcCoordinateOperation> Ifc4x3_tc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[243], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcCoordinateReferenceSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[244]); } -void Ifc4x3_tc1::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } } +Ifc4x3_tc1::IfcCoordinateReferenceSystem Ifc4x3_tc1::IfcCoordinateReferenceSystem::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; return *this; } // Function implementations for IfcCosineSpiral double Ifc4x3_tc1::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } @@ -9512,7 +9512,7 @@ void Ifc4x3_tc1::IfcCosineSpiral::setConstantTerm(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_tc1::IfcCosineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[246]); } -void Ifc4x3_tc1::IfcCosineSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); } } +Ifc4x3_tc1::IfcCosineSpiral Ifc4x3_tc1::IfcCosineSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; return *this; } // Function implementations for IfcCostItem std::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > Ifc4x3_tc1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } @@ -9524,7 +9524,7 @@ void Ifc4x3_tc1::IfcCostItem::setCostQuantities(const std::optional< std::vector const ifcopenshell::entity& Ifc4x3_tc1::IfcCostItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[247]); } -void Ifc4x3_tc1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_tc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); } } +Ifc4x3_tc1::IfcCostItem Ifc4x3_tc1::IfcCostItem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_tc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > > v9_CostQuantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, cast_vector(*v8_CostValues)); } if (v9_CostQuantities) {set_attribute_value(8, cast_vector(*v9_CostQuantities)); }; return *this; } // Function implementations for IfcCostSchedule std::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_tc1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } @@ -9538,13 +9538,13 @@ void Ifc4x3_tc1::IfcCostSchedule::setUpdateDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcCostSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[249]); } -void Ifc4x3_tc1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); } } +Ifc4x3_tc1::IfcCostSchedule Ifc4x3_tc1::IfcCostSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; return *this; } // Function implementations for IfcCostValue const ifcopenshell::entity& Ifc4x3_tc1::IfcCostValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[251]); } -void Ifc4x3_tc1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); } } +Ifc4x3_tc1::IfcCostValue Ifc4x3_tc1::IfcCostValue::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AppliedValue));set_attribute_value(3, (v4_UnitBasis)); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, cast_vector(*v10_Components)); }; return *this; } // Function implementations for IfcCourse std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > Ifc4x3_tc1::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } @@ -9552,7 +9552,7 @@ void Ifc4x3_tc1::IfcCourse::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcCourse::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[253]); } -void Ifc4x3_tc1::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCourse Ifc4x3_tc1::IfcCourse::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCourseType ::Ifc4x3_tc1::IfcCourseTypeEnum::Value Ifc4x3_tc1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } @@ -9560,7 +9560,7 @@ void Ifc4x3_tc1::IfcCourseType::setPredefinedType(const ::Ifc4x3_tc1::IfcCourseT const ifcopenshell::entity& Ifc4x3_tc1::IfcCourseType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[254]); } -void Ifc4x3_tc1::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCourseType Ifc4x3_tc1::IfcCourseType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCourseTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCovering std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > Ifc4x3_tc1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } @@ -9570,7 +9570,7 @@ std::vector<::Ifc4x3_tc1::IfcRelCoversSpaces> Ifc4x3_tc1::IfcCovering::CoversSpa std::vector<::Ifc4x3_tc1::IfcRelCoversBldgElements> Ifc4x3_tc1::IfcCovering::CoversElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[925], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcCovering::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[256]); } -void Ifc4x3_tc1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCovering Ifc4x3_tc1::IfcCovering::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCoveringType ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value Ifc4x3_tc1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } @@ -9578,7 +9578,7 @@ void Ifc4x3_tc1::IfcCoveringType::setPredefinedType(const ::Ifc4x3_tc1::IfcCover const ifcopenshell::entity& Ifc4x3_tc1::IfcCoveringType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[257]); } -void Ifc4x3_tc1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCoveringType Ifc4x3_tc1::IfcCoveringType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCrewResource std::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_tc1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -9586,7 +9586,7 @@ void Ifc4x3_tc1::IfcCrewResource::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcCrewResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[259]); } -void Ifc4x3_tc1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcCrewResource Ifc4x3_tc1::IfcCrewResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcCrewResourceType ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value Ifc4x3_tc1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -9594,7 +9594,7 @@ void Ifc4x3_tc1::IfcCrewResourceType::setPredefinedType(const ::Ifc4x3_tc1::IfcC const ifcopenshell::entity& Ifc4x3_tc1::IfcCrewResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[260]); } -void Ifc4x3_tc1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcCrewResourceType Ifc4x3_tc1::IfcCrewResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcCsgPrimitive3D ::Ifc4x3_tc1::IfcAxis2Placement3D Ifc4x3_tc1::IfcCsgPrimitive3D::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcAxis2Placement3D>(); } @@ -9602,7 +9602,7 @@ void Ifc4x3_tc1::IfcCsgPrimitive3D::setPosition(const ::Ifc4x3_tc1::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_tc1::IfcCsgPrimitive3D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[262]); } -void Ifc4x3_tc1::IfcCsgPrimitive3D::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_tc1::IfcCsgPrimitive3D Ifc4x3_tc1::IfcCsgPrimitive3D::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcCsgSolid ::Ifc4x3_tc1::IfcCsgSelect Ifc4x3_tc1::IfcCsgSolid::TreeRootExpression() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCsgSelect>(); } @@ -9610,7 +9610,7 @@ void Ifc4x3_tc1::IfcCsgSolid::setTreeRootExpression(const ::Ifc4x3_tc1::IfcCsgSe const ifcopenshell::entity& Ifc4x3_tc1::IfcCsgSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[264]); } -void Ifc4x3_tc1::IfcCsgSolid::initialize(::Ifc4x3_tc1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression)); } +Ifc4x3_tc1::IfcCsgSolid Ifc4x3_tc1::IfcCsgSolid::initialize(::Ifc4x3_tc1::IfcCsgSelect v1_TreeRootExpression) { set_attribute_value(0, (v1_TreeRootExpression));; return *this; } // Function implementations for IfcCurrencyRelationship ::Ifc4x3_tc1::IfcMonetaryUnit Ifc4x3_tc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcMonetaryUnit>(); } @@ -9626,7 +9626,7 @@ void Ifc4x3_tc1::IfcCurrencyRelationship::setRateSource(const ::Ifc4x3_tc1::IfcL const ifcopenshell::entity& Ifc4x3_tc1::IfcCurrencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[266]); } -void Ifc4x3_tc1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_tc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_tc1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource)); } +Ifc4x3_tc1::IfcCurrencyRelationship Ifc4x3_tc1::IfcCurrencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_tc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_tc1::IfcLibraryInformation v7_RateSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMonetaryUnit));set_attribute_value(3, (v4_RelatedMonetaryUnit));set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, (v7_RateSource));; return *this; } // Function implementations for IfcCurtainWall std::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_tc1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } @@ -9634,7 +9634,7 @@ void Ifc4x3_tc1::IfcCurtainWall::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcCurtainWall::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[267]); } -void Ifc4x3_tc1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcCurtainWall Ifc4x3_tc1::IfcCurtainWall::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcCurtainWallType ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value Ifc4x3_tc1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } @@ -9642,13 +9642,13 @@ void Ifc4x3_tc1::IfcCurtainWallType::setPredefinedType(const ::Ifc4x3_tc1::IfcCu const ifcopenshell::entity& Ifc4x3_tc1::IfcCurtainWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[268]); } -void Ifc4x3_tc1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcCurtainWallType Ifc4x3_tc1::IfcCurtainWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcCurve const ifcopenshell::entity& Ifc4x3_tc1::IfcCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[271]); } -void Ifc4x3_tc1::IfcCurve::initialize() { } +Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcCurve::initialize() { ; return *this; } // Function implementations for IfcCurveBoundedPlane ::Ifc4x3_tc1::IfcPlane Ifc4x3_tc1::IfcCurveBoundedPlane::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPlane>(); } @@ -9660,7 +9660,7 @@ void Ifc4x3_tc1::IfcCurveBoundedPlane::setInnerBoundaries(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveBoundedPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[272]); } -void Ifc4x3_tc1::IfcCurveBoundedPlane::initialize(::Ifc4x3_tc1::IfcPlane v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_tc1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries)); } +Ifc4x3_tc1::IfcCurveBoundedPlane Ifc4x3_tc1::IfcCurveBoundedPlane::initialize(::Ifc4x3_tc1::IfcPlane v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_tc1::IfcCurve > v3_InnerBoundaries) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_OuterBoundary));set_attribute_value(2, cast_vector(v3_InnerBoundaries));; return *this; } // Function implementations for IfcCurveBoundedSurface ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcCurveBoundedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -9672,7 +9672,7 @@ void Ifc4x3_tc1::IfcCurveBoundedSurface::setImplicitOuter(const bool& v) { set_a const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveBoundedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[273]); } -void Ifc4x3_tc1::IfcCurveBoundedSurface::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_tc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter)); } +Ifc4x3_tc1::IfcCurveBoundedSurface Ifc4x3_tc1::IfcCurveBoundedSurface::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_tc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, cast_vector(v2_Boundaries));set_attribute_value(2, (v3_ImplicitOuter));; return *this; } // Function implementations for IfcCurveSegment ::Ifc4x3_tc1::IfcPlacement Ifc4x3_tc1::IfcCurveSegment::Placement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcPlacement>(); } @@ -9686,7 +9686,7 @@ void Ifc4x3_tc1::IfcCurveSegment::setParentCurve(const ::Ifc4x3_tc1::IfcCurve& v const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[279]); } -void Ifc4x3_tc1::IfcCurveSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_tc1::IfcPlacement v2_Placement, ::Ifc4x3_tc1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_tc1::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve)); } +Ifc4x3_tc1::IfcCurveSegment Ifc4x3_tc1::IfcCurveSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_tc1::IfcPlacement v2_Placement, ::Ifc4x3_tc1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_tc1::IfcCurve v5_ParentCurve) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (v3_SegmentStart));set_attribute_value(3, (v4_SegmentLength));set_attribute_value(4, (v5_ParentCurve));; return *this; } // Function implementations for IfcCurveStyle ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect Ifc4x3_tc1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect>(); } @@ -9700,7 +9700,7 @@ void Ifc4x3_tc1::IfcCurveStyle::setModelOrDraughting(const std::optional< bool > const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[280]); } -void Ifc4x3_tc1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_tc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_tc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_tc1::IfcCurveStyle Ifc4x3_tc1::IfcCurveStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_tc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_tc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveFont));set_attribute_value(2, (v3_CurveWidth));set_attribute_value(3, (v4_CurveColour)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcCurveStyleFont std::optional< std::string > Ifc4x3_tc1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9710,7 +9710,7 @@ void Ifc4x3_tc1::IfcCurveStyleFont::setPatternList(const std::vector< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveStyleFont::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[281]); } -void Ifc4x3_tc1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList)); } +Ifc4x3_tc1::IfcCurveStyleFont Ifc4x3_tc1::IfcCurveStyleFont::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcCurveStyleFontPattern > v2_PatternList) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_PatternList));; return *this; } // Function implementations for IfcCurveStyleFontAndScaling std::optional< std::string > Ifc4x3_tc1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -9722,7 +9722,7 @@ void Ifc4x3_tc1::IfcCurveStyleFontAndScaling::setCurveFontScaling(const double& const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveStyleFontAndScaling::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[282]); } -void Ifc4x3_tc1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling)); } +Ifc4x3_tc1::IfcCurveStyleFontAndScaling Ifc4x3_tc1::IfcCurveStyleFontAndScaling::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_CurveStyleFont));set_attribute_value(2, (v3_CurveFontScaling));; return *this; } // Function implementations for IfcCurveStyleFontPattern double Ifc4x3_tc1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } @@ -9732,7 +9732,7 @@ void Ifc4x3_tc1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(const doubl const ifcopenshell::entity& Ifc4x3_tc1::IfcCurveStyleFontPattern::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[283]); } -void Ifc4x3_tc1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength)); } +Ifc4x3_tc1::IfcCurveStyleFontPattern Ifc4x3_tc1::IfcCurveStyleFontPattern::initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; return *this; } // Function implementations for IfcCylindricalSurface double Ifc4x3_tc1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -9740,7 +9740,7 @@ void Ifc4x3_tc1::IfcCylindricalSurface::setRadius(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_tc1::IfcCylindricalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[285]); } -void Ifc4x3_tc1::IfcCylindricalSurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_tc1::IfcCylindricalSurface Ifc4x3_tc1::IfcCylindricalSurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcDamper std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > Ifc4x3_tc1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -9748,7 +9748,7 @@ void Ifc4x3_tc1::IfcDamper::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[286]); } -void Ifc4x3_tc1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDamper Ifc4x3_tc1::IfcDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDamperType ::Ifc4x3_tc1::IfcDamperTypeEnum::Value Ifc4x3_tc1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -9756,19 +9756,19 @@ void Ifc4x3_tc1::IfcDamperType::setPredefinedType(const ::Ifc4x3_tc1::IfcDamperT const ifcopenshell::entity& Ifc4x3_tc1::IfcDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[287]); } -void Ifc4x3_tc1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDamperType Ifc4x3_tc1::IfcDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDeepFoundation const ifcopenshell::entity& Ifc4x3_tc1::IfcDeepFoundation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[294]); } -void Ifc4x3_tc1::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcDeepFoundation Ifc4x3_tc1::IfcDeepFoundation::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDeepFoundationType const ifcopenshell::entity& Ifc4x3_tc1::IfcDeepFoundationType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[295]); } -void Ifc4x3_tc1::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcDeepFoundationType Ifc4x3_tc1::IfcDeepFoundationType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDerivedProfileDef ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcDerivedProfileDef::ParentProfile() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -9780,7 +9780,7 @@ void Ifc4x3_tc1::IfcDerivedProfileDef::setLabel(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcDerivedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[298]); } -void Ifc4x3_tc1::IfcDerivedProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_tc1::IfcDerivedProfileDef Ifc4x3_tc1::IfcDerivedProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile));set_attribute_value(3, (v4_Operator)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcDerivedUnit std::vector< ::Ifc4x3_tc1::IfcDerivedUnitElement > Ifc4x3_tc1::IfcDerivedUnit::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcDerivedUnitElement>(es); } @@ -9794,7 +9794,7 @@ void Ifc4x3_tc1::IfcDerivedUnit::setName(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcDerivedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[299]); } -void Ifc4x3_tc1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_tc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } } +Ifc4x3_tc1::IfcDerivedUnit Ifc4x3_tc1::IfcDerivedUnit::initialize(std::vector< ::Ifc4x3_tc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name) { set_attribute_value(0, cast_vector(v1_Elements));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; return *this; } // Function implementations for IfcDerivedUnitElement ::Ifc4x3_tc1::IfcNamedUnit Ifc4x3_tc1::IfcDerivedUnitElement::Unit() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcNamedUnit>(); } @@ -9804,7 +9804,7 @@ void Ifc4x3_tc1::IfcDerivedUnitElement::setExponent(const int& v) { set_attribut const ifcopenshell::entity& Ifc4x3_tc1::IfcDerivedUnitElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[300]); } -void Ifc4x3_tc1::IfcDerivedUnitElement::initialize(::Ifc4x3_tc1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent)); } +Ifc4x3_tc1::IfcDerivedUnitElement Ifc4x3_tc1::IfcDerivedUnitElement::initialize(::Ifc4x3_tc1::IfcNamedUnit v1_Unit, int v2_Exponent) { set_attribute_value(0, (v1_Unit));set_attribute_value(1, (v2_Exponent));; return *this; } // Function implementations for IfcDimensionalExponents int Ifc4x3_tc1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } @@ -9824,7 +9824,7 @@ void Ifc4x3_tc1::IfcDimensionalExponents::setLuminousIntensityExponent(const int const ifcopenshell::entity& Ifc4x3_tc1::IfcDimensionalExponents::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[303]); } -void Ifc4x3_tc1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent)); } +Ifc4x3_tc1::IfcDimensionalExponents Ifc4x3_tc1::IfcDimensionalExponents::initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; return *this; } // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ Ifc4x3_tc1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } @@ -9832,7 +9832,7 @@ void Ifc4x3_tc1::IfcDirection::setDirectionRatios(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_tc1::IfcDirection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[305]); } -void Ifc4x3_tc1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios)); } +Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcDirection::initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios) { set_attribute_value(0, (v1_DirectionRatios));; return *this; } // Function implementations for IfcDirectrixCurveSweptAreaSolid ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -9844,13 +9844,13 @@ void Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::setEndParam(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[307]); } -void Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam)); } +Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; return *this; } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid const ifcopenshell::entity& Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[308]); } -void Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcDiscreteAccessory std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_tc1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } @@ -9858,7 +9858,7 @@ void Ifc4x3_tc1::IfcDiscreteAccessory::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcDiscreteAccessory::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[309]); } -void Ifc4x3_tc1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDiscreteAccessory Ifc4x3_tc1::IfcDiscreteAccessory::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDiscreteAccessoryType ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_tc1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } @@ -9866,7 +9866,7 @@ void Ifc4x3_tc1::IfcDiscreteAccessoryType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcDiscreteAccessoryType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[310]); } -void Ifc4x3_tc1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDiscreteAccessoryType Ifc4x3_tc1::IfcDiscreteAccessoryType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionBoard std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_tc1::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -9874,7 +9874,7 @@ void Ifc4x3_tc1::IfcDistributionBoard::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[312]); } -void Ifc4x3_tc1::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDistributionBoard Ifc4x3_tc1::IfcDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionBoardType ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -9882,7 +9882,7 @@ void Ifc4x3_tc1::IfcDistributionBoardType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[313]); } -void Ifc4x3_tc1::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDistributionBoardType Ifc4x3_tc1::IfcDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionChamberElement std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_tc1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } @@ -9890,7 +9890,7 @@ void Ifc4x3_tc1::IfcDistributionChamberElement::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionChamberElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[315]); } -void Ifc4x3_tc1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDistributionChamberElement Ifc4x3_tc1::IfcDistributionChamberElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionChamberElementType ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_tc1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } @@ -9898,52 +9898,52 @@ void Ifc4x3_tc1::IfcDistributionChamberElementType::setPredefinedType(const ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionChamberElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[316]); } -void Ifc4x3_tc1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDistributionChamberElementType Ifc4x3_tc1::IfcDistributionChamberElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDistributionCircuit const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionCircuit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[318]); } -void Ifc4x3_tc1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_tc1::IfcDistributionCircuit Ifc4x3_tc1::IfcDistributionCircuit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDistributionControlElement std::vector<::Ifc4x3_tc1::IfcRelFlowControlElements> Ifc4x3_tc1::IfcDistributionControlElement::AssignedToFlowElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[935], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[319]); } -void Ifc4x3_tc1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcDistributionControlElement Ifc4x3_tc1::IfcDistributionControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionControlElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[320]); } -void Ifc4x3_tc1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcDistributionControlElementType Ifc4x3_tc1::IfcDistributionControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionElement std::vector<::Ifc4x3_tc1::IfcRelConnectsPortToElement> Ifc4x3_tc1::IfcDistributionElement::HasPorts() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[919], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[321]); } -void Ifc4x3_tc1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcDistributionElement Ifc4x3_tc1::IfcDistributionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[322]); } -void Ifc4x3_tc1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcDistributionElementType Ifc4x3_tc1::IfcDistributionElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionFlowElement std::vector<::Ifc4x3_tc1::IfcRelFlowControlElements> Ifc4x3_tc1::IfcDistributionFlowElement::HasControlElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[935], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionFlowElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[323]); } -void Ifc4x3_tc1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcDistributionFlowElement Ifc4x3_tc1::IfcDistributionFlowElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcDistributionFlowElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionFlowElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[324]); } -void Ifc4x3_tc1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcDistributionFlowElementType Ifc4x3_tc1::IfcDistributionFlowElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcDistributionPort std::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > Ifc4x3_tc1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } @@ -9955,7 +9955,7 @@ void Ifc4x3_tc1::IfcDistributionPort::setSystemType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionPort::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[325]); } -void Ifc4x3_tc1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); } } +Ifc4x3_tc1::IfcDistributionPort Ifc4x3_tc1::IfcDistributionPort::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v10_SystemType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_FlowDirection) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; return *this; } // Function implementations for IfcDistributionSystem std::optional< std::string > Ifc4x3_tc1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -9965,7 +9965,7 @@ void Ifc4x3_tc1::IfcDistributionSystem::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_tc1::IfcDistributionSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[327]); } -void Ifc4x3_tc1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_tc1::IfcDistributionSystem Ifc4x3_tc1::IfcDistributionSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcDocumentInformation std::string Ifc4x3_tc1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } @@ -10009,7 +10009,7 @@ std::vector<::Ifc4x3_tc1::IfcDocumentInformationRelationship> Ifc4x3_tc1::IfcDoc std::vector<::Ifc4x3_tc1::IfcDocumentInformationRelationship> Ifc4x3_tc1::IfcDocumentInformation::IsPointer() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[331], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcDocumentInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[330]); } -void Ifc4x3_tc1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_tc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_tc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); } } +Ifc4x3_tc1::IfcDocumentInformation Ifc4x3_tc1::IfcDocumentInformation::initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_tc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, (v9_DocumentOwner)); if (v10_Editors) {set_attribute_value(9, cast_vector(*v10_Editors)); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (enumeration_reference(&::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (enumeration_reference(&::Ifc4x3_tc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; return *this; } // Function implementations for IfcDocumentInformationRelationship ::Ifc4x3_tc1::IfcDocumentInformation Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcDocumentInformation>(); } @@ -10021,7 +10021,7 @@ void Ifc4x3_tc1::IfcDocumentInformationRelationship::setRelationshipType(const s const ifcopenshell::entity& Ifc4x3_tc1::IfcDocumentInformationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[331]); } -void Ifc4x3_tc1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_tc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); } } +Ifc4x3_tc1::IfcDocumentInformationRelationship Ifc4x3_tc1::IfcDocumentInformationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_tc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingDocument));set_attribute_value(3, cast_vector(v4_RelatedDocuments)); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; return *this; } // Function implementations for IfcDocumentReference std::optional< std::string > Ifc4x3_tc1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10032,7 +10032,7 @@ void Ifc4x3_tc1::IfcDocumentReference::setReferencedDocument(const ::Ifc4x3_tc1: std::vector<::Ifc4x3_tc1::IfcRelAssociatesDocument> Ifc4x3_tc1::IfcDocumentReference::DocumentRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[910], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcDocumentReference::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[332]); } -void Ifc4x3_tc1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument)); } +Ifc4x3_tc1::IfcDocumentReference Ifc4x3_tc1::IfcDocumentReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcDocumentInformation v5_ReferencedDocument) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ReferencedDocument));; return *this; } // Function implementations for IfcDoor std::optional< double > Ifc4x3_tc1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -10048,7 +10048,7 @@ void Ifc4x3_tc1::IfcDoor::setUserDefinedOperationType(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcDoor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[335]); } -void Ifc4x3_tc1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_tc1::IfcDoor Ifc4x3_tc1::IfcDoor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDoorLiningProperties std::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10080,7 +10080,7 @@ void Ifc4x3_tc1::IfcDoorLiningProperties::setLiningToPanelOffsetY(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcDoorLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[336]); } -void Ifc4x3_tc1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_tc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); } } +Ifc4x3_tc1::IfcDoorLiningProperties Ifc4x3_tc1::IfcDoorLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_tc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, (v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcDoorPanelProperties std::optional< double > Ifc4x3_tc1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -10096,7 +10096,7 @@ void Ifc4x3_tc1::IfcDoorPanelProperties::setShapeAspectStyle(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcDoorPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[339]); } -void Ifc4x3_tc1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_tc1::IfcDoorPanelProperties Ifc4x3_tc1::IfcDoorPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcDoorType ::Ifc4x3_tc1::IfcDoorTypeEnum::Value Ifc4x3_tc1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } @@ -10110,19 +10110,19 @@ void Ifc4x3_tc1::IfcDoorType::setUserDefinedOperationType(const std::optional< s const ifcopenshell::entity& Ifc4x3_tc1::IfcDoorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[340]); } -void Ifc4x3_tc1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); } } +Ifc4x3_tc1::IfcDoorType Ifc4x3_tc1::IfcDoorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; return *this; } // Function implementations for IfcDraughtingPreDefinedColour const ifcopenshell::entity& Ifc4x3_tc1::IfcDraughtingPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[344]); } -void Ifc4x3_tc1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_tc1::IfcDraughtingPreDefinedColour Ifc4x3_tc1::IfcDraughtingPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDraughtingPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[345]); } -void Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcDuctFitting std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_tc1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -10130,7 +10130,7 @@ void Ifc4x3_tc1::IfcDuctFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcDuctFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[346]); } -void Ifc4x3_tc1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDuctFitting Ifc4x3_tc1::IfcDuctFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctFittingType ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value Ifc4x3_tc1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -10138,7 +10138,7 @@ void Ifc4x3_tc1::IfcDuctFittingType::setPredefinedType(const ::Ifc4x3_tc1::IfcDu const ifcopenshell::entity& Ifc4x3_tc1::IfcDuctFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[347]); } -void Ifc4x3_tc1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDuctFittingType Ifc4x3_tc1::IfcDuctFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSegment std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_tc1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -10146,7 +10146,7 @@ void Ifc4x3_tc1::IfcDuctSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcDuctSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[349]); } -void Ifc4x3_tc1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDuctSegment Ifc4x3_tc1::IfcDuctSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSegmentType ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_tc1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -10154,7 +10154,7 @@ void Ifc4x3_tc1::IfcDuctSegmentType::setPredefinedType(const ::Ifc4x3_tc1::IfcDu const ifcopenshell::entity& Ifc4x3_tc1::IfcDuctSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[350]); } -void Ifc4x3_tc1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDuctSegmentType Ifc4x3_tc1::IfcDuctSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcDuctSilencer std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_tc1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } @@ -10162,7 +10162,7 @@ void Ifc4x3_tc1::IfcDuctSilencer::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcDuctSilencer::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[352]); } -void Ifc4x3_tc1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcDuctSilencer Ifc4x3_tc1::IfcDuctSilencer::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcDuctSilencerType ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_tc1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } @@ -10170,7 +10170,7 @@ void Ifc4x3_tc1::IfcDuctSilencerType::setPredefinedType(const ::Ifc4x3_tc1::IfcD const ifcopenshell::entity& Ifc4x3_tc1::IfcDuctSilencerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[353]); } -void Ifc4x3_tc1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcDuctSilencerType Ifc4x3_tc1::IfcDuctSilencerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEarthworksCut std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_tc1::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } @@ -10178,13 +10178,13 @@ void Ifc4x3_tc1::IfcEarthworksCut::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcEarthworksCut::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[357]); } -void Ifc4x3_tc1::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcEarthworksCut Ifc4x3_tc1::IfcEarthworksCut::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEarthworksElement const ifcopenshell::entity& Ifc4x3_tc1::IfcEarthworksElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[359]); } -void Ifc4x3_tc1::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcEarthworksElement Ifc4x3_tc1::IfcEarthworksElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEarthworksFill std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_tc1::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } @@ -10192,7 +10192,7 @@ void Ifc4x3_tc1::IfcEarthworksFill::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcEarthworksFill::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[360]); } -void Ifc4x3_tc1::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcEarthworksFill Ifc4x3_tc1::IfcEarthworksFill::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEdge ::Ifc4x3_tc1::IfcVertex Ifc4x3_tc1::IfcEdge::EdgeStart() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcVertex>(); } @@ -10202,7 +10202,7 @@ void Ifc4x3_tc1::IfcEdge::setEdgeEnd(const ::Ifc4x3_tc1::IfcVertex& v) { set_att const ifcopenshell::entity& Ifc4x3_tc1::IfcEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[362]); } -void Ifc4x3_tc1::IfcEdge::initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd)); } +Ifc4x3_tc1::IfcEdge Ifc4x3_tc1::IfcEdge::initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));; return *this; } // Function implementations for IfcEdgeCurve ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcEdgeCurve::EdgeGeometry() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -10212,7 +10212,7 @@ void Ifc4x3_tc1::IfcEdgeCurve::setSameSense(const bool& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_tc1::IfcEdgeCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[363]); } -void Ifc4x3_tc1::IfcEdgeCurve::initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense)); } +Ifc4x3_tc1::IfcEdgeCurve Ifc4x3_tc1::IfcEdgeCurve::initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_EdgeGeometry));set_attribute_value(3, (v4_SameSense));; return *this; } // Function implementations for IfcEdgeLoop std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > Ifc4x3_tc1::IfcEdgeLoop::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcOrientedEdge>(es); } @@ -10220,7 +10220,7 @@ void Ifc4x3_tc1::IfcEdgeLoop::setEdgeList(const std::vector< ::Ifc4x3_tc1::IfcOr const ifcopenshell::entity& Ifc4x3_tc1::IfcEdgeLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[364]); } -void Ifc4x3_tc1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_tc1::IfcEdgeLoop Ifc4x3_tc1::IfcEdgeLoop::initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcElectricAppliance std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_tc1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -10228,7 +10228,7 @@ void Ifc4x3_tc1::IfcElectricAppliance::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[365]); } -void Ifc4x3_tc1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricAppliance Ifc4x3_tc1::IfcElectricAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricApplianceType ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_tc1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -10236,7 +10236,7 @@ void Ifc4x3_tc1::IfcElectricApplianceType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[366]); } -void Ifc4x3_tc1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricApplianceType Ifc4x3_tc1::IfcElectricApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricDistributionBoard std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_tc1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } @@ -10244,7 +10244,7 @@ void Ifc4x3_tc1::IfcElectricDistributionBoard::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricDistributionBoard::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[372]); } -void Ifc4x3_tc1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricDistributionBoard Ifc4x3_tc1::IfcElectricDistributionBoard::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricDistributionBoardType ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } @@ -10252,7 +10252,7 @@ void Ifc4x3_tc1::IfcElectricDistributionBoardType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricDistributionBoardType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[373]); } -void Ifc4x3_tc1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricDistributionBoardType Ifc4x3_tc1::IfcElectricDistributionBoardType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowStorageDevice std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_tc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10260,7 +10260,7 @@ void Ifc4x3_tc1::IfcElectricFlowStorageDevice::setPredefinedType(const std::opti const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[375]); } -void Ifc4x3_tc1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricFlowStorageDevice Ifc4x3_tc1::IfcElectricFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowStorageDeviceType ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10268,7 +10268,7 @@ void Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::setPredefinedType(const ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[376]); } -void Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricFlowStorageDeviceType Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricFlowTreatmentDevice std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -10276,7 +10276,7 @@ void Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::setPredefinedType(const std::op const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[378]); } -void Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricFlowTreatmentDevice Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricFlowTreatmentDeviceType ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -10284,7 +10284,7 @@ void Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::setPredefinedType(const ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[379]); } -void Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricGenerator std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_tc1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } @@ -10292,7 +10292,7 @@ void Ifc4x3_tc1::IfcElectricGenerator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[381]); } -void Ifc4x3_tc1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricGenerator Ifc4x3_tc1::IfcElectricGenerator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricGeneratorType ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_tc1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } @@ -10300,7 +10300,7 @@ void Ifc4x3_tc1::IfcElectricGeneratorType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricGeneratorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[382]); } -void Ifc4x3_tc1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricGeneratorType Ifc4x3_tc1::IfcElectricGeneratorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricMotor std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_tc1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } @@ -10308,7 +10308,7 @@ void Ifc4x3_tc1::IfcElectricMotor::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricMotor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[384]); } -void Ifc4x3_tc1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricMotor Ifc4x3_tc1::IfcElectricMotor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricMotorType ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value Ifc4x3_tc1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } @@ -10316,7 +10316,7 @@ void Ifc4x3_tc1::IfcElectricMotorType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricMotorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[385]); } -void Ifc4x3_tc1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricMotorType Ifc4x3_tc1::IfcElectricMotorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElectricTimeControl std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_tc1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } @@ -10324,7 +10324,7 @@ void Ifc4x3_tc1::IfcElectricTimeControl::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricTimeControl::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[388]); } -void Ifc4x3_tc1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcElectricTimeControl Ifc4x3_tc1::IfcElectricTimeControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcElectricTimeControlType ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_tc1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } @@ -10332,7 +10332,7 @@ void Ifc4x3_tc1::IfcElectricTimeControlType::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcElectricTimeControlType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[389]); } -void Ifc4x3_tc1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElectricTimeControlType Ifc4x3_tc1::IfcElectricTimeControlType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElement std::optional< std::string > Ifc4x3_tc1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -10352,7 +10352,7 @@ std::vector<::Ifc4x3_tc1::IfcRelCoversBldgElements> Ifc4x3_tc1::IfcElement::HasC std::vector<::Ifc4x3_tc1::IfcRelAdheresToElement> Ifc4x3_tc1::IfcElement::HasSurfaceFeatures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[896], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[392]); } -void Ifc4x3_tc1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcElement Ifc4x3_tc1::IfcElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementAssembly std::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_tc1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } @@ -10362,7 +10362,7 @@ void Ifc4x3_tc1::IfcElementAssembly::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcElementAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[394]); } -void Ifc4x3_tc1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcElementAssembly Ifc4x3_tc1::IfcElementAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcElementAssemblyType ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_tc1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } @@ -10370,19 +10370,19 @@ void Ifc4x3_tc1::IfcElementAssemblyType::setPredefinedType(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcElementAssemblyType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[395]); } -void Ifc4x3_tc1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcElementAssemblyType Ifc4x3_tc1::IfcElementAssemblyType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcElementComponent const ifcopenshell::entity& Ifc4x3_tc1::IfcElementComponent::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[397]); } -void Ifc4x3_tc1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcElementComponent Ifc4x3_tc1::IfcElementComponent::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcElementComponentType const ifcopenshell::entity& Ifc4x3_tc1::IfcElementComponentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[398]); } -void Ifc4x3_tc1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcElementComponentType Ifc4x3_tc1::IfcElementComponentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementQuantity std::optional< std::string > Ifc4x3_tc1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -10392,7 +10392,7 @@ void Ifc4x3_tc1::IfcElementQuantity::setQuantities(const std::vector< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcElementQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[400]); } -void Ifc4x3_tc1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities)); } +Ifc4x3_tc1::IfcElementQuantity Ifc4x3_tc1::IfcElementQuantity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v6_Quantities) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, cast_vector(v6_Quantities));; return *this; } // Function implementations for IfcElementType std::optional< std::string > Ifc4x3_tc1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -10400,7 +10400,7 @@ void Ifc4x3_tc1::IfcElementType::setElementType(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[401]); } -void Ifc4x3_tc1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcElementType Ifc4x3_tc1::IfcElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcElementarySurface ::Ifc4x3_tc1::IfcAxis2Placement3D Ifc4x3_tc1::IfcElementarySurface::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcAxis2Placement3D>(); } @@ -10408,7 +10408,7 @@ void Ifc4x3_tc1::IfcElementarySurface::setPosition(const ::Ifc4x3_tc1::IfcAxis2P const ifcopenshell::entity& Ifc4x3_tc1::IfcElementarySurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[393]); } -void Ifc4x3_tc1::IfcElementarySurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_tc1::IfcElementarySurface Ifc4x3_tc1::IfcElementarySurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcEllipse double Ifc4x3_tc1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } @@ -10418,7 +10418,7 @@ void Ifc4x3_tc1::IfcEllipse::setSemiAxis2(const double& v) { set_attribute_value const ifcopenshell::entity& Ifc4x3_tc1::IfcEllipse::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[402]); } -void Ifc4x3_tc1::IfcEllipse::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2)); } +Ifc4x3_tc1::IfcEllipse Ifc4x3_tc1::IfcEllipse::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; return *this; } // Function implementations for IfcEllipseProfileDef double Ifc4x3_tc1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } @@ -10428,19 +10428,19 @@ void Ifc4x3_tc1::IfcEllipseProfileDef::setSemiAxis2(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_tc1::IfcEllipseProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[403]); } -void Ifc4x3_tc1::IfcEllipseProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2)); } +Ifc4x3_tc1::IfcEllipseProfileDef Ifc4x3_tc1::IfcEllipseProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; return *this; } // Function implementations for IfcEnergyConversionDevice const ifcopenshell::entity& Ifc4x3_tc1::IfcEnergyConversionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[404]); } -void Ifc4x3_tc1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcEnergyConversionDevice Ifc4x3_tc1::IfcEnergyConversionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcEnergyConversionDeviceType const ifcopenshell::entity& Ifc4x3_tc1::IfcEnergyConversionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[405]); } -void Ifc4x3_tc1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcEnergyConversionDeviceType Ifc4x3_tc1::IfcEnergyConversionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcEngine std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > Ifc4x3_tc1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } @@ -10448,7 +10448,7 @@ void Ifc4x3_tc1::IfcEngine::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcEngine::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[407]); } -void Ifc4x3_tc1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcEngine Ifc4x3_tc1::IfcEngine::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEngineType ::Ifc4x3_tc1::IfcEngineTypeEnum::Value Ifc4x3_tc1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } @@ -10456,7 +10456,7 @@ void Ifc4x3_tc1::IfcEngineType::setPredefinedType(const ::Ifc4x3_tc1::IfcEngineT const ifcopenshell::entity& Ifc4x3_tc1::IfcEngineType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[408]); } -void Ifc4x3_tc1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcEngineType Ifc4x3_tc1::IfcEngineType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEngineTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporativeCooler std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_tc1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } @@ -10464,7 +10464,7 @@ void Ifc4x3_tc1::IfcEvaporativeCooler::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcEvaporativeCooler::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[410]); } -void Ifc4x3_tc1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcEvaporativeCooler Ifc4x3_tc1::IfcEvaporativeCooler::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporativeCoolerType ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_tc1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } @@ -10472,7 +10472,7 @@ void Ifc4x3_tc1::IfcEvaporativeCoolerType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcEvaporativeCoolerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[411]); } -void Ifc4x3_tc1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcEvaporativeCoolerType Ifc4x3_tc1::IfcEvaporativeCoolerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvaporator std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_tc1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } @@ -10480,7 +10480,7 @@ void Ifc4x3_tc1::IfcEvaporator::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcEvaporator::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[413]); } -void Ifc4x3_tc1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcEvaporator Ifc4x3_tc1::IfcEvaporator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcEvaporatorType ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value Ifc4x3_tc1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } @@ -10488,7 +10488,7 @@ void Ifc4x3_tc1::IfcEvaporatorType::setPredefinedType(const ::Ifc4x3_tc1::IfcEva const ifcopenshell::entity& Ifc4x3_tc1::IfcEvaporatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[414]); } -void Ifc4x3_tc1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcEvaporatorType Ifc4x3_tc1::IfcEvaporatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcEvent std::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > Ifc4x3_tc1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } @@ -10502,7 +10502,7 @@ void Ifc4x3_tc1::IfcEvent::setEventOccurenceTime(const ::Ifc4x3_tc1::IfcEventTim const ifcopenshell::entity& Ifc4x3_tc1::IfcEvent::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[416]); } -void Ifc4x3_tc1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_tc1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime)); } +Ifc4x3_tc1::IfcEvent Ifc4x3_tc1::IfcEvent::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_tc1::IfcEventTime v11_EventOccurenceTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, (v11_EventOccurenceTime));; return *this; } // Function implementations for IfcEventTime std::optional< std::string > Ifc4x3_tc1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -10516,7 +10516,7 @@ void Ifc4x3_tc1::IfcEventTime::setScheduleDate(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcEventTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[417]); } -void Ifc4x3_tc1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); } } +Ifc4x3_tc1::IfcEventTime Ifc4x3_tc1::IfcEventTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; return *this; } // Function implementations for IfcEventType ::Ifc4x3_tc1::IfcEventTypeEnum::Value Ifc4x3_tc1::IfcEventType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } @@ -10528,7 +10528,7 @@ void Ifc4x3_tc1::IfcEventType::setUserDefinedEventTriggerType(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcEventType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[419]); } -void Ifc4x3_tc1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); } } +Ifc4x3_tc1::IfcEventType Ifc4x3_tc1::IfcEventType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; return *this; } // Function implementations for IfcExtendedProperties std::optional< std::string > Ifc4x3_tc1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10540,13 +10540,13 @@ void Ifc4x3_tc1::IfcExtendedProperties::setProperties(const std::vector< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcExtendedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[421]); } -void Ifc4x3_tc1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties)); } +Ifc4x3_tc1::IfcExtendedProperties Ifc4x3_tc1::IfcExtendedProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));; return *this; } // Function implementations for IfcExternalInformation const ifcopenshell::entity& Ifc4x3_tc1::IfcExternalInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[422]); } -void Ifc4x3_tc1::IfcExternalInformation::initialize() { } +Ifc4x3_tc1::IfcExternalInformation Ifc4x3_tc1::IfcExternalInformation::initialize() { ; return *this; } // Function implementations for IfcExternalReference std::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -10559,7 +10559,7 @@ void Ifc4x3_tc1::IfcExternalReference::setName(const std::optional< std::string std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcExternalReference::ExternalReferenceForResources() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcExternalReference::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[426]); } -void Ifc4x3_tc1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_tc1::IfcExternalReference Ifc4x3_tc1::IfcExternalReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternalReferenceRelationship ::Ifc4x3_tc1::IfcExternalReference Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcExternalReference>(); } @@ -10569,7 +10569,7 @@ void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(con const ifcopenshell::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[427]); } -void Ifc4x3_tc1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_tc1::IfcExternalReferenceRelationship Ifc4x3_tc1::IfcExternalReferenceRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingReference));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcExternalSpatialElement std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_tc1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } @@ -10578,31 +10578,31 @@ void Ifc4x3_tc1::IfcExternalSpatialElement::setPredefinedType(const std::optiona std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcExternalSpatialElement::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[943], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcExternalSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[428]); } -void Ifc4x3_tc1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcExternalSpatialElement Ifc4x3_tc1::IfcExternalSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcExternalSpatialStructureElement const ifcopenshell::entity& Ifc4x3_tc1::IfcExternalSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[430]); } -void Ifc4x3_tc1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_tc1::IfcExternalSpatialStructureElement Ifc4x3_tc1::IfcExternalSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcExternallyDefinedHatchStyle const ifcopenshell::entity& Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[423]); } -void Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_tc1::IfcExternallyDefinedHatchStyle Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedSurfaceStyle const ifcopenshell::entity& Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[424]); } -void Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExternallyDefinedTextFont const ifcopenshell::entity& Ifc4x3_tc1::IfcExternallyDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[425]); } -void Ifc4x3_tc1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_tc1::IfcExternallyDefinedTextFont Ifc4x3_tc1::IfcExternallyDefinedTextFont::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcExtrudedAreaSolid ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -10612,7 +10612,7 @@ void Ifc4x3_tc1::IfcExtrudedAreaSolid::setDepth(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_tc1::IfcExtrudedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[431]); } -void Ifc4x3_tc1::IfcExtrudedAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_tc1::IfcExtrudedAreaSolid Ifc4x3_tc1::IfcExtrudedAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcExtrudedAreaSolidTapered ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -10620,7 +10620,7 @@ void Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[432]); } -void Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_tc1::IfcExtrudedAreaSolidTapered Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcFace std::vector< ::Ifc4x3_tc1::IfcFaceBound > Ifc4x3_tc1::IfcFace::Bounds() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcFaceBound>(es); } @@ -10629,7 +10629,7 @@ void Ifc4x3_tc1::IfcFace::setBounds(const std::vector< ::Ifc4x3_tc1::IfcFaceBoun std::vector<::Ifc4x3_tc1::IfcTextureMap> Ifc4x3_tc1::IfcFace::HasTextureMaps() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1193], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcFace::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[433]); } -void Ifc4x3_tc1::IfcFace::initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds)); } +Ifc4x3_tc1::IfcFace Ifc4x3_tc1::IfcFace::initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds) { set_attribute_value(0, cast_vector(v1_Bounds));; return *this; } // Function implementations for IfcFaceBasedSurfaceModel std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet > Ifc4x3_tc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcConnectedFaceSet>(es); } @@ -10637,7 +10637,7 @@ void Ifc4x3_tc1::IfcFaceBasedSurfaceModel::setFbsmFaces(const std::vector< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcFaceBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[434]); } -void Ifc4x3_tc1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces)); } +Ifc4x3_tc1::IfcFaceBasedSurfaceModel Ifc4x3_tc1::IfcFaceBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet > v1_FbsmFaces) { set_attribute_value(0, cast_vector(v1_FbsmFaces));; return *this; } // Function implementations for IfcFaceBound ::Ifc4x3_tc1::IfcLoop Ifc4x3_tc1::IfcFaceBound::Bound() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcLoop>(); } @@ -10647,13 +10647,13 @@ void Ifc4x3_tc1::IfcFaceBound::setOrientation(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_tc1::IfcFaceBound::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[435]); } -void Ifc4x3_tc1::IfcFaceBound::initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_tc1::IfcFaceBound Ifc4x3_tc1::IfcFaceBound::initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceOuterBound const ifcopenshell::entity& Ifc4x3_tc1::IfcFaceOuterBound::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[436]); } -void Ifc4x3_tc1::IfcFaceOuterBound::initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation)); } +Ifc4x3_tc1::IfcFaceOuterBound Ifc4x3_tc1::IfcFaceOuterBound::initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation) { set_attribute_value(0, (v1_Bound));set_attribute_value(1, (v2_Orientation));; return *this; } // Function implementations for IfcFaceSurface ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcFaceSurface::FaceSurface() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -10663,13 +10663,13 @@ void Ifc4x3_tc1::IfcFaceSurface::setSameSense(const bool& v) { set_attribute_val const ifcopenshell::entity& Ifc4x3_tc1::IfcFaceSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[437]); } -void Ifc4x3_tc1::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_tc1::IfcFaceSurface Ifc4x3_tc1::IfcFaceSurface::initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense) { set_attribute_value(0, cast_vector(v1_Bounds));set_attribute_value(1, (v2_FaceSurface));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcFacetedBrep const ifcopenshell::entity& Ifc4x3_tc1::IfcFacetedBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[438]); } -void Ifc4x3_tc1::IfcFacetedBrep::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_tc1::IfcFacetedBrep Ifc4x3_tc1::IfcFacetedBrep::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcFacetedBrepWithVoids std::vector< ::Ifc4x3_tc1::IfcClosedShell > Ifc4x3_tc1::IfcFacetedBrepWithVoids::Voids() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_tc1::IfcClosedShell>(es); } @@ -10677,13 +10677,13 @@ void Ifc4x3_tc1::IfcFacetedBrepWithVoids::setVoids(const std::vector< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcFacetedBrepWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[439]); } -void Ifc4x3_tc1::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids)); } +Ifc4x3_tc1::IfcFacetedBrepWithVoids Ifc4x3_tc1::IfcFacetedBrepWithVoids::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids) { set_attribute_value(0, (v1_Outer));set_attribute_value(1, cast_vector(v2_Voids));; return *this; } // Function implementations for IfcFacility const ifcopenshell::entity& Ifc4x3_tc1::IfcFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[440]); } -void Ifc4x3_tc1::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_tc1::IfcFacility Ifc4x3_tc1::IfcFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcFacilityPart ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value Ifc4x3_tc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_tc1::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } @@ -10691,7 +10691,7 @@ void Ifc4x3_tc1::IfcFacilityPart::setUsageType(const ::Ifc4x3_tc1::IfcFacilityUs const ifcopenshell::entity& Ifc4x3_tc1::IfcFacilityPart::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[441]); } -void Ifc4x3_tc1::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); } +Ifc4x3_tc1::IfcFacilityPart Ifc4x3_tc1::IfcFacilityPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; return *this; } // Function implementations for IfcFacilityPartCommon std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_tc1::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } @@ -10699,7 +10699,7 @@ void Ifc4x3_tc1::IfcFacilityPartCommon::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_tc1::IfcFacilityPartCommon::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[442]); } -void Ifc4x3_tc1::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcFacilityPartCommon Ifc4x3_tc1::IfcFacilityPartCommon::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcFailureConnectionCondition std::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -10717,7 +10717,7 @@ void Ifc4x3_tc1::IfcFailureConnectionCondition::setCompressionFailureZ(const std const ifcopenshell::entity& Ifc4x3_tc1::IfcFailureConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[445]); } -void Ifc4x3_tc1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); } } +Ifc4x3_tc1::IfcFailureConnectionCondition Ifc4x3_tc1::IfcFailureConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; return *this; } // Function implementations for IfcFan std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > Ifc4x3_tc1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } @@ -10725,7 +10725,7 @@ void Ifc4x3_tc1::IfcFan::setPredefinedType(const std::optional< ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcFan::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[446]); } -void Ifc4x3_tc1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFan Ifc4x3_tc1::IfcFan::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFanType ::Ifc4x3_tc1::IfcFanTypeEnum::Value Ifc4x3_tc1::IfcFanType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } @@ -10733,7 +10733,7 @@ void Ifc4x3_tc1::IfcFanType::setPredefinedType(const ::Ifc4x3_tc1::IfcFanTypeEnu const ifcopenshell::entity& Ifc4x3_tc1::IfcFanType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[447]); } -void Ifc4x3_tc1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFanType Ifc4x3_tc1::IfcFanType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFanTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFastener std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > Ifc4x3_tc1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } @@ -10741,7 +10741,7 @@ void Ifc4x3_tc1::IfcFastener::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[449]); } -void Ifc4x3_tc1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFastener Ifc4x3_tc1::IfcFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFastenerType ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value Ifc4x3_tc1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -10749,27 +10749,27 @@ void Ifc4x3_tc1::IfcFastenerType::setPredefinedType(const ::Ifc4x3_tc1::IfcFaste const ifcopenshell::entity& Ifc4x3_tc1::IfcFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[450]); } -void Ifc4x3_tc1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFastenerType Ifc4x3_tc1::IfcFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFeatureElement const ifcopenshell::entity& Ifc4x3_tc1::IfcFeatureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[452]); } -void Ifc4x3_tc1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFeatureElement Ifc4x3_tc1::IfcFeatureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementAddition std::vector<::Ifc4x3_tc1::IfcRelProjectsElement> Ifc4x3_tc1::IfcFeatureElementAddition::ProjectsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[939], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcFeatureElementAddition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[453]); } -void Ifc4x3_tc1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFeatureElementAddition Ifc4x3_tc1::IfcFeatureElementAddition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFeatureElementSubtraction std::vector<::Ifc4x3_tc1::IfcRelVoidsElement> Ifc4x3_tc1::IfcFeatureElementSubtraction::VoidsElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[946], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcFeatureElementSubtraction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[454]); } -void Ifc4x3_tc1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFeatureElementSubtraction Ifc4x3_tc1::IfcFeatureElementSubtraction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFillAreaStyle std::vector< ::Ifc4x3_tc1::IfcFillStyleSelect > Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_tc1::IfcFillStyleSelect>(es); } @@ -10779,7 +10779,7 @@ void Ifc4x3_tc1::IfcFillAreaStyle::setModelOrDraughting(const std::optional< boo const ifcopenshell::entity& Ifc4x3_tc1::IfcFillAreaStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[455]); } -void Ifc4x3_tc1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); } } +Ifc4x3_tc1::IfcFillAreaStyle Ifc4x3_tc1::IfcFillAreaStyle::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_FillStyles)); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; return *this; } // Function implementations for IfcFillAreaStyleHatching ::Ifc4x3_tc1::IfcCurveStyle Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurveStyle>(); } @@ -10795,7 +10795,7 @@ void Ifc4x3_tc1::IfcFillAreaStyleHatching::setHatchLineAngle(const double& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcFillAreaStyleHatching::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[456]); } -void Ifc4x3_tc1::IfcFillAreaStyleHatching::initialize(::Ifc4x3_tc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_tc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle)); } +Ifc4x3_tc1::IfcFillAreaStyleHatching Ifc4x3_tc1::IfcFillAreaStyleHatching::initialize(::Ifc4x3_tc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_tc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle) { set_attribute_value(0, (v1_HatchLineAppearance));set_attribute_value(1, (v2_StartOfNextHatchLine));set_attribute_value(2, (v3_PointOfReferenceHatchLine));set_attribute_value(3, (v4_PatternStart));set_attribute_value(4, (v5_HatchLineAngle));; return *this; } // Function implementations for IfcFillAreaStyleTiles std::vector< ::Ifc4x3_tc1::IfcVector > Ifc4x3_tc1::IfcFillAreaStyleTiles::TilingPattern() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcVector>(es); } @@ -10807,7 +10807,7 @@ void Ifc4x3_tc1::IfcFillAreaStyleTiles::setTilingScale(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcFillAreaStyleTiles::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[457]); } -void Ifc4x3_tc1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_tc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_tc1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale)); } +Ifc4x3_tc1::IfcFillAreaStyleTiles Ifc4x3_tc1::IfcFillAreaStyleTiles::initialize(std::vector< ::Ifc4x3_tc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_tc1::IfcStyledItem > v2_Tiles, double v3_TilingScale) { set_attribute_value(0, cast_vector(v1_TilingPattern));set_attribute_value(1, cast_vector(v2_Tiles));set_attribute_value(2, (v3_TilingScale));; return *this; } // Function implementations for IfcFilter std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > Ifc4x3_tc1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } @@ -10815,7 +10815,7 @@ void Ifc4x3_tc1::IfcFilter::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcFilter::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[459]); } -void Ifc4x3_tc1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFilter Ifc4x3_tc1::IfcFilter::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFilterType ::Ifc4x3_tc1::IfcFilterTypeEnum::Value Ifc4x3_tc1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } @@ -10823,7 +10823,7 @@ void Ifc4x3_tc1::IfcFilterType::setPredefinedType(const ::Ifc4x3_tc1::IfcFilterT const ifcopenshell::entity& Ifc4x3_tc1::IfcFilterType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[460]); } -void Ifc4x3_tc1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFilterType Ifc4x3_tc1::IfcFilterType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFilterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFireSuppressionTerminal std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_tc1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -10831,7 +10831,7 @@ void Ifc4x3_tc1::IfcFireSuppressionTerminal::setPredefinedType(const std::option const ifcopenshell::entity& Ifc4x3_tc1::IfcFireSuppressionTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[462]); } -void Ifc4x3_tc1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFireSuppressionTerminal Ifc4x3_tc1::IfcFireSuppressionTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFireSuppressionTerminalType ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_tc1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -10839,7 +10839,7 @@ void Ifc4x3_tc1::IfcFireSuppressionTerminalType::setPredefinedType(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcFireSuppressionTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[463]); } -void Ifc4x3_tc1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFireSuppressionTerminalType Ifc4x3_tc1::IfcFireSuppressionTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFixedReferenceSweptAreaSolid ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -10847,31 +10847,31 @@ void Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::setFixedReference(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[465]); } -void Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference)); } +Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_FixedReference));; return *this; } // Function implementations for IfcFlowController const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowController::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[466]); } -void Ifc4x3_tc1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowController Ifc4x3_tc1::IfcFlowController::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowControllerType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowControllerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[467]); } -void Ifc4x3_tc1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowControllerType Ifc4x3_tc1::IfcFlowControllerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowFitting const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[469]); } -void Ifc4x3_tc1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowFitting Ifc4x3_tc1::IfcFlowFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowFittingType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[470]); } -void Ifc4x3_tc1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowFittingType Ifc4x3_tc1::IfcFlowFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowInstrument std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_tc1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } @@ -10879,7 +10879,7 @@ void Ifc4x3_tc1::IfcFlowInstrument::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowInstrument::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[471]); } -void Ifc4x3_tc1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFlowInstrument Ifc4x3_tc1::IfcFlowInstrument::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowInstrumentType ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_tc1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } @@ -10887,7 +10887,7 @@ void Ifc4x3_tc1::IfcFlowInstrumentType::setPredefinedType(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowInstrumentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[472]); } -void Ifc4x3_tc1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFlowInstrumentType Ifc4x3_tc1::IfcFlowInstrumentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMeter std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_tc1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } @@ -10895,7 +10895,7 @@ void Ifc4x3_tc1::IfcFlowMeter::setPredefinedType(const std::optional< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowMeter::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[474]); } -void Ifc4x3_tc1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFlowMeter Ifc4x3_tc1::IfcFlowMeter::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFlowMeterType ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value Ifc4x3_tc1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } @@ -10903,67 +10903,67 @@ void Ifc4x3_tc1::IfcFlowMeterType::setPredefinedType(const ::Ifc4x3_tc1::IfcFlow const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowMeterType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[475]); } -void Ifc4x3_tc1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFlowMeterType Ifc4x3_tc1::IfcFlowMeterType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFlowMovingDevice const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowMovingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[477]); } -void Ifc4x3_tc1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowMovingDevice Ifc4x3_tc1::IfcFlowMovingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowMovingDeviceType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowMovingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[478]); } -void Ifc4x3_tc1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowMovingDeviceType Ifc4x3_tc1::IfcFlowMovingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowSegment const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[479]); } -void Ifc4x3_tc1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowSegment Ifc4x3_tc1::IfcFlowSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowSegmentType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[480]); } -void Ifc4x3_tc1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowSegmentType Ifc4x3_tc1::IfcFlowSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowStorageDevice const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowStorageDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[481]); } -void Ifc4x3_tc1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowStorageDevice Ifc4x3_tc1::IfcFlowStorageDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowStorageDeviceType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowStorageDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[482]); } -void Ifc4x3_tc1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowStorageDeviceType Ifc4x3_tc1::IfcFlowStorageDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTerminal const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[483]); } -void Ifc4x3_tc1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowTerminal Ifc4x3_tc1::IfcFlowTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTerminalType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[484]); } -void Ifc4x3_tc1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowTerminalType Ifc4x3_tc1::IfcFlowTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFlowTreatmentDevice const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowTreatmentDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[485]); } -void Ifc4x3_tc1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFlowTreatmentDevice Ifc4x3_tc1::IfcFlowTreatmentDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFlowTreatmentDeviceType const ifcopenshell::entity& Ifc4x3_tc1::IfcFlowTreatmentDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[486]); } -void Ifc4x3_tc1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFlowTreatmentDeviceType Ifc4x3_tc1::IfcFlowTreatmentDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFooting std::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > Ifc4x3_tc1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } @@ -10971,7 +10971,7 @@ void Ifc4x3_tc1::IfcFooting::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcFooting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[490]); } -void Ifc4x3_tc1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFooting Ifc4x3_tc1::IfcFooting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFootingType ::Ifc4x3_tc1::IfcFootingTypeEnum::Value Ifc4x3_tc1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } @@ -10979,19 +10979,19 @@ void Ifc4x3_tc1::IfcFootingType::setPredefinedType(const ::Ifc4x3_tc1::IfcFootin const ifcopenshell::entity& Ifc4x3_tc1::IfcFootingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[491]); } -void Ifc4x3_tc1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcFootingType Ifc4x3_tc1::IfcFootingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFootingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcFurnishingElement const ifcopenshell::entity& Ifc4x3_tc1::IfcFurnishingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[495]); } -void Ifc4x3_tc1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcFurnishingElement Ifc4x3_tc1::IfcFurnishingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcFurnishingElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcFurnishingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[496]); } -void Ifc4x3_tc1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcFurnishingElementType Ifc4x3_tc1::IfcFurnishingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcFurniture std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > Ifc4x3_tc1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } @@ -10999,7 +10999,7 @@ void Ifc4x3_tc1::IfcFurniture::setPredefinedType(const std::optional< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcFurniture::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[497]); } -void Ifc4x3_tc1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcFurniture Ifc4x3_tc1::IfcFurniture::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcFurnitureType ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value Ifc4x3_tc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } @@ -11009,7 +11009,7 @@ void Ifc4x3_tc1::IfcFurnitureType::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcFurnitureType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[498]); } -void Ifc4x3_tc1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcFurnitureType Ifc4x3_tc1::IfcFurnitureType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElement std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_tc1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } @@ -11017,7 +11017,7 @@ void Ifc4x3_tc1::IfcGeographicElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcGeographicElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[500]); } -void Ifc4x3_tc1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcGeographicElement Ifc4x3_tc1::IfcGeographicElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGeographicElementType ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value Ifc4x3_tc1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } @@ -11025,13 +11025,13 @@ void Ifc4x3_tc1::IfcGeographicElementType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcGeographicElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[501]); } -void Ifc4x3_tc1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcGeographicElementType Ifc4x3_tc1::IfcGeographicElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcGeometricCurveSet const ifcopenshell::entity& Ifc4x3_tc1::IfcGeometricCurveSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[503]); } -void Ifc4x3_tc1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_tc1::IfcGeometricCurveSet Ifc4x3_tc1::IfcGeometricCurveSet::initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeometricRepresentationContext int Ifc4x3_tc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } @@ -11047,13 +11047,13 @@ std::vector<::Ifc4x3_tc1::IfcGeometricRepresentationSubContext> Ifc4x3_tc1::IfcG std::vector<::Ifc4x3_tc1::IfcCoordinateOperation> Ifc4x3_tc1::IfcGeometricRepresentationContext::HasCoordinateOperation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[243], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcGeometricRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[505]); } -void Ifc4x3_tc1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_tc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_tc1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth)); } +Ifc4x3_tc1::IfcGeometricRepresentationContext Ifc4x3_tc1::IfcGeometricRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_tc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_tc1::IfcDirection v6_TrueNorth) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, (v5_WorldCoordinateSystem));set_attribute_value(5, (v6_TrueNorth));; return *this; } // Function implementations for IfcGeometricRepresentationItem const ifcopenshell::entity& Ifc4x3_tc1::IfcGeometricRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[506]); } -void Ifc4x3_tc1::IfcGeometricRepresentationItem::initialize() { } +Ifc4x3_tc1::IfcGeometricRepresentationItem Ifc4x3_tc1::IfcGeometricRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcGeometricRepresentationSubContext ::Ifc4x3_tc1::IfcGeometricRepresentationContext Ifc4x3_tc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcGeometricRepresentationContext>(); } @@ -11067,7 +11067,7 @@ void Ifc4x3_tc1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView( const ifcopenshell::entity& Ifc4x3_tc1::IfcGeometricRepresentationSubContext::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[507]); } -void Ifc4x3_tc1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); } } +Ifc4x3_tc1::IfcGeometricRepresentationSubContext Ifc4x3_tc1::IfcGeometricRepresentationSubContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, (v7_ParentContext)); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; return *this; } // Function implementations for IfcGeometricSet std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > Ifc4x3_tc1::IfcGeometricSet::Elements() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcGeometricSetSelect>(es); } @@ -11075,31 +11075,31 @@ void Ifc4x3_tc1::IfcGeometricSet::setElements(const std::vector< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcGeometricSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[508]); } -void Ifc4x3_tc1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements)); } +Ifc4x3_tc1::IfcGeometricSet Ifc4x3_tc1::IfcGeometricSet::initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements) { set_attribute_value(0, cast_vector(v1_Elements));; return *this; } // Function implementations for IfcGeomodel const ifcopenshell::entity& Ifc4x3_tc1::IfcGeomodel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[510]); } -void Ifc4x3_tc1::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcGeomodel Ifc4x3_tc1::IfcGeomodel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeoslice const ifcopenshell::entity& Ifc4x3_tc1::IfcGeoslice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[511]); } -void Ifc4x3_tc1::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcGeoslice Ifc4x3_tc1::IfcGeoslice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalAssembly const ifcopenshell::entity& Ifc4x3_tc1::IfcGeotechnicalAssembly::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[512]); } -void Ifc4x3_tc1::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcGeotechnicalAssembly Ifc4x3_tc1::IfcGeotechnicalAssembly::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalElement const ifcopenshell::entity& Ifc4x3_tc1::IfcGeotechnicalElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[513]); } -void Ifc4x3_tc1::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcGeotechnicalElement Ifc4x3_tc1::IfcGeotechnicalElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcGeotechnicalStratum std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_tc1::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } @@ -11107,7 +11107,7 @@ void Ifc4x3_tc1::IfcGeotechnicalStratum::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcGeotechnicalStratum::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[514]); } -void Ifc4x3_tc1::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcGeotechnicalStratum Ifc4x3_tc1::IfcGeotechnicalStratum::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcGradientCurve ::Ifc4x3_tc1::IfcBoundedCurve Ifc4x3_tc1::IfcGradientCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcBoundedCurve>(); } @@ -11117,7 +11117,7 @@ void Ifc4x3_tc1::IfcGradientCurve::setEndPoint(const ::Ifc4x3_tc1::IfcPlacement& const ifcopenshell::entity& Ifc4x3_tc1::IfcGradientCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[518]); } -void Ifc4x3_tc1::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_tc1::IfcGradientCurve Ifc4x3_tc1::IfcGradientCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcGrid std::vector< ::Ifc4x3_tc1::IfcGridAxis > Ifc4x3_tc1::IfcGrid::UAxes() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_tc1::IfcGridAxis>(es); } @@ -11131,7 +11131,7 @@ void Ifc4x3_tc1::IfcGrid::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcGrid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[519]); } -void Ifc4x3_tc1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_tc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcGrid Ifc4x3_tc1::IfcGrid::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_tc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, cast_vector(v8_UAxes));set_attribute_value(8, cast_vector(v9_VAxes)); if (v10_WAxes) {set_attribute_value(9, cast_vector(*v10_WAxes)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcGridAxis std::optional< std::string > Ifc4x3_tc1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11147,7 +11147,7 @@ std::vector<::Ifc4x3_tc1::IfcGrid> Ifc4x3_tc1::IfcGridAxis::PartOfU() const { re std::vector<::Ifc4x3_tc1::IfcVirtualGridIntersection> Ifc4x3_tc1::IfcGridAxis::HasIntersections() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1274], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcGridAxis::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[520]); } -void Ifc4x3_tc1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_tc1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense)); } +Ifc4x3_tc1::IfcGridAxis Ifc4x3_tc1::IfcGridAxis::initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_tc1::IfcCurve v2_AxisCurve, bool v3_SameSense) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, (v2_AxisCurve));set_attribute_value(2, (v3_SameSense));; return *this; } // Function implementations for IfcGridPlacement ::Ifc4x3_tc1::IfcVirtualGridIntersection Ifc4x3_tc1::IfcGridPlacement::PlacementLocation() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcVirtualGridIntersection>(); } @@ -11157,7 +11157,7 @@ void Ifc4x3_tc1::IfcGridPlacement::setPlacementRefDirection(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcGridPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[521]); } -void Ifc4x3_tc1::IfcGridPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection)); } +Ifc4x3_tc1::IfcGridPlacement Ifc4x3_tc1::IfcGridPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_PlacementLocation));set_attribute_value(2, (v3_PlacementRefDirection));; return *this; } // Function implementations for IfcGroup @@ -11165,7 +11165,7 @@ std::vector<::Ifc4x3_tc1::IfcRelAssignsToGroup> Ifc4x3_tc1::IfcGroup::IsGroupedB std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcGroup::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[524]); } -void Ifc4x3_tc1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_tc1::IfcGroup Ifc4x3_tc1::IfcGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcHalfSpaceSolid ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcHalfSpaceSolid::BaseSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -11175,7 +11175,7 @@ void Ifc4x3_tc1::IfcHalfSpaceSolid::setAgreementFlag(const bool& v) { set_attrib const ifcopenshell::entity& Ifc4x3_tc1::IfcHalfSpaceSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[525]); } -void Ifc4x3_tc1::IfcHalfSpaceSolid::initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag)); } +Ifc4x3_tc1::IfcHalfSpaceSolid Ifc4x3_tc1::IfcHalfSpaceSolid::initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));; return *this; } // Function implementations for IfcHeatExchanger std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_tc1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } @@ -11183,7 +11183,7 @@ void Ifc4x3_tc1::IfcHeatExchanger::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcHeatExchanger::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[527]); } -void Ifc4x3_tc1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcHeatExchanger Ifc4x3_tc1::IfcHeatExchanger::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHeatExchangerType ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_tc1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } @@ -11191,7 +11191,7 @@ void Ifc4x3_tc1::IfcHeatExchangerType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcHeatExchangerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[528]); } -void Ifc4x3_tc1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcHeatExchangerType Ifc4x3_tc1::IfcHeatExchangerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcHumidifier std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > Ifc4x3_tc1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } @@ -11199,7 +11199,7 @@ void Ifc4x3_tc1::IfcHumidifier::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcHumidifier::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[532]); } -void Ifc4x3_tc1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcHumidifier Ifc4x3_tc1::IfcHumidifier::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcHumidifierType ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value Ifc4x3_tc1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_tc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } @@ -11207,7 +11207,7 @@ void Ifc4x3_tc1::IfcHumidifierType::setPredefinedType(const ::Ifc4x3_tc1::IfcHum const ifcopenshell::entity& Ifc4x3_tc1::IfcHumidifierType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[533]); } -void Ifc4x3_tc1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcHumidifierType Ifc4x3_tc1::IfcHumidifierType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIShapeProfileDef double Ifc4x3_tc1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } @@ -11227,7 +11227,7 @@ void Ifc4x3_tc1::IfcIShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_tc1::IfcIShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[562]); } -void Ifc4x3_tc1::IfcIShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_tc1::IfcIShapeProfileDef Ifc4x3_tc1::IfcIShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcImageTexture std::string Ifc4x3_tc1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } @@ -11235,7 +11235,7 @@ void Ifc4x3_tc1::IfcImageTexture::setURLReference(const std::string& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcImageTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[537]); } -void Ifc4x3_tc1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference)); } +Ifc4x3_tc1::IfcImageTexture Ifc4x3_tc1::IfcImageTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; return *this; } // Function implementations for IfcImpactProtectionDevice std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_tc1::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -11243,7 +11243,7 @@ void Ifc4x3_tc1::IfcImpactProtectionDevice::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcImpactProtectionDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[538]); } -void Ifc4x3_tc1::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcImpactProtectionDevice Ifc4x3_tc1::IfcImpactProtectionDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcImpactProtectionDeviceType ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_tc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -11251,7 +11251,7 @@ void Ifc4x3_tc1::IfcImpactProtectionDeviceType::setPredefinedType(const ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcImpactProtectionDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[539]); } -void Ifc4x3_tc1::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcImpactProtectionDeviceType Ifc4x3_tc1::IfcImpactProtectionDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIndexedColourMap ::Ifc4x3_tc1::IfcTessellatedFaceSet Ifc4x3_tc1::IfcIndexedColourMap::MappedTo() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcTessellatedFaceSet>(); } @@ -11265,7 +11265,7 @@ void Ifc4x3_tc1::IfcIndexedColourMap::setColourIndex(const std::vector< int > /* const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedColourMap::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[541]); } -void Ifc4x3_tc1::IfcIndexedColourMap::initialize(::Ifc4x3_tc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_tc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex)); } +Ifc4x3_tc1::IfcIndexedColourMap Ifc4x3_tc1::IfcIndexedColourMap::initialize(::Ifc4x3_tc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_tc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) { set_attribute_value(0, (v1_MappedTo)); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, (v3_Colours));set_attribute_value(3, (v4_ColourIndex));; return *this; } // Function implementations for IfcIndexedPolyCurve ::Ifc4x3_tc1::IfcCartesianPointList Ifc4x3_tc1::IfcIndexedPolyCurve::Points() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCartesianPointList>(); } @@ -11277,7 +11277,7 @@ void Ifc4x3_tc1::IfcIndexedPolyCurve::setSelfIntersect(const std::optional< bool const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[542]); } -void Ifc4x3_tc1::IfcIndexedPolyCurve::initialize(::Ifc4x3_tc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_tc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); } } +Ifc4x3_tc1::IfcIndexedPolyCurve Ifc4x3_tc1::IfcIndexedPolyCurve::initialize(::Ifc4x3_tc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_tc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect) { set_attribute_value(0, (v1_Points)); if (v2_Segments) {set_attribute_value(1, cast_vector(*v2_Segments)); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; return *this; } // Function implementations for IfcIndexedPolygonalFace std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -11287,7 +11287,7 @@ std::vector<::Ifc4x3_tc1::IfcPolygonalFaceSet> Ifc4x3_tc1::IfcIndexedPolygonalFa std::vector<::Ifc4x3_tc1::IfcTextureCoordinateIndices> Ifc4x3_tc1::IfcIndexedPolygonalFace::HasTexCoords() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1191], 1)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedPolygonalFace::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[543]); } -void Ifc4x3_tc1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex)); } +Ifc4x3_tc1::IfcIndexedPolygonalFace Ifc4x3_tc1::IfcIndexedPolygonalFace::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex) { set_attribute_value(0, (v1_CoordIndex));; return *this; } // Function implementations for IfcIndexedPolygonalFaceWithVoids std::vector< std::vector< int > > Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } @@ -11295,7 +11295,7 @@ void Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(const st const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[544]); } -void Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices)); } +Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; return *this; } // Function implementations for IfcIndexedPolygonalTextureMap std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices > Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { std::vector es = get_attribute_value(3); return cast_vector<::Ifc4x3_tc1::IfcTextureCoordinateIndices>(es); } @@ -11303,7 +11303,7 @@ void Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::setTexCoordIndices(const std::ve const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[545]); } -void Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices)); } +Ifc4x3_tc1::IfcIndexedPolygonalTextureMap Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices > v4_TexCoordIndices) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));set_attribute_value(3, cast_vector(v4_TexCoordIndices));; return *this; } // Function implementations for IfcIndexedTextureMap ::Ifc4x3_tc1::IfcTessellatedFaceSet Ifc4x3_tc1::IfcIndexedTextureMap::MappedTo() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcTessellatedFaceSet>(); } @@ -11313,7 +11313,7 @@ void Ifc4x3_tc1::IfcIndexedTextureMap::setTexCoords(const ::Ifc4x3_tc1::IfcTextu const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[546]); } -void Ifc4x3_tc1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); } +Ifc4x3_tc1::IfcIndexedTextureMap Ifc4x3_tc1::IfcIndexedTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords));; return *this; } // Function implementations for IfcIndexedTriangleTextureMap std::optional< std::vector< std::vector< int > > > Ifc4x3_tc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } @@ -11321,7 +11321,7 @@ void Ifc4x3_tc1::IfcIndexedTriangleTextureMap::setTexCoordIndex(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcIndexedTriangleTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[547]); } -void Ifc4x3_tc1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); } } +Ifc4x3_tc1::IfcIndexedTriangleTextureMap Ifc4x3_tc1::IfcIndexedTriangleTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_MappedTo));set_attribute_value(2, (v3_TexCoords)); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; return *this; } // Function implementations for IfcInterceptor std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > Ifc4x3_tc1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } @@ -11329,7 +11329,7 @@ void Ifc4x3_tc1::IfcInterceptor::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcInterceptor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[551]); } -void Ifc4x3_tc1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcInterceptor Ifc4x3_tc1::IfcInterceptor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcInterceptorType ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value Ifc4x3_tc1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } @@ -11337,13 +11337,13 @@ void Ifc4x3_tc1::IfcInterceptorType::setPredefinedType(const ::Ifc4x3_tc1::IfcIn const ifcopenshell::entity& Ifc4x3_tc1::IfcInterceptorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[552]); } -void Ifc4x3_tc1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcInterceptorType Ifc4x3_tc1::IfcInterceptorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcIntersectionCurve const ifcopenshell::entity& Ifc4x3_tc1::IfcIntersectionCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[556]); } -void Ifc4x3_tc1::IfcIntersectionCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_tc1::IfcIntersectionCurve Ifc4x3_tc1::IfcIntersectionCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcInventory std::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > Ifc4x3_tc1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } @@ -11361,7 +11361,7 @@ void Ifc4x3_tc1::IfcInventory::setOriginalValue(const ::Ifc4x3_tc1::IfcCostValue const ifcopenshell::entity& Ifc4x3_tc1::IfcInventory::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[557]); } -void Ifc4x3_tc1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_tc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_tc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue)); } +Ifc4x3_tc1::IfcInventory Ifc4x3_tc1::IfcInventory::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_tc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_tc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v11_OriginalValue) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, (v7_Jurisdiction)); if (v8_ResponsiblePersons) {set_attribute_value(7, cast_vector(*v8_ResponsiblePersons)); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, (v10_CurrentValue));set_attribute_value(10, (v11_OriginalValue));; return *this; } // Function implementations for IfcIrregularTimeSeries std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue > Ifc4x3_tc1::IfcIrregularTimeSeries::Values() const { std::vector es = get_attribute_value(8); return cast_vector<::Ifc4x3_tc1::IfcIrregularTimeSeriesValue>(es); } @@ -11369,7 +11369,7 @@ void Ifc4x3_tc1::IfcIrregularTimeSeries::setValues(const std::vector< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcIrregularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[560]); } -void Ifc4x3_tc1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values)); } +Ifc4x3_tc1::IfcIrregularTimeSeries Ifc4x3_tc1::IfcIrregularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue > v9_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, cast_vector(v9_Values));; return *this; } // Function implementations for IfcIrregularTimeSeriesValue std::string Ifc4x3_tc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } @@ -11379,7 +11379,7 @@ void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setListValues(const std::vector< : const ifcopenshell::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[561]); } -void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_tc1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues)); } +Ifc4x3_tc1::IfcIrregularTimeSeriesValue Ifc4x3_tc1::IfcIrregularTimeSeriesValue::initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_tc1::IfcValue > v2_ListValues) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, cast_vector(v2_ListValues));; return *this; } // Function implementations for IfcJunctionBox std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_tc1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } @@ -11387,7 +11387,7 @@ void Ifc4x3_tc1::IfcJunctionBox::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcJunctionBox::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[564]); } -void Ifc4x3_tc1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcJunctionBox Ifc4x3_tc1::IfcJunctionBox::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcJunctionBoxType ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_tc1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } @@ -11395,7 +11395,7 @@ void Ifc4x3_tc1::IfcJunctionBoxType::setPredefinedType(const ::Ifc4x3_tc1::IfcJu const ifcopenshell::entity& Ifc4x3_tc1::IfcJunctionBoxType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[565]); } -void Ifc4x3_tc1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcJunctionBoxType Ifc4x3_tc1::IfcJunctionBoxType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcKerb std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > Ifc4x3_tc1::IfcKerb::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcKerbTypeEnum::FromString(get_attribute_value(8)); } @@ -11403,7 +11403,7 @@ void Ifc4x3_tc1::IfcKerb::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcKerb::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[567]); } -void Ifc4x3_tc1::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcKerb Ifc4x3_tc1::IfcKerb::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcKerbType ::Ifc4x3_tc1::IfcKerbTypeEnum::Value Ifc4x3_tc1::IfcKerbType::PredefinedType() const { return ::Ifc4x3_tc1::IfcKerbTypeEnum::FromString(get_attribute_value(9)); } @@ -11411,7 +11411,7 @@ void Ifc4x3_tc1::IfcKerbType::setPredefinedType(const ::Ifc4x3_tc1::IfcKerbTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcKerbType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[568]); } -void Ifc4x3_tc1::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcKerbTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcKerbType Ifc4x3_tc1::IfcKerbType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcKerbTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLShapeProfileDef double Ifc4x3_tc1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -11429,7 +11429,7 @@ void Ifc4x3_tc1::IfcLShapeProfileDef::setLegSlope(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_tc1::IfcLShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[618]); } -void Ifc4x3_tc1::IfcLShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } } +Ifc4x3_tc1::IfcLShapeProfileDef Ifc4x3_tc1::IfcLShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; return *this; } // Function implementations for IfcLaborResource std::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_tc1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -11437,7 +11437,7 @@ void Ifc4x3_tc1::IfcLaborResource::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcLaborResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[573]); } -void Ifc4x3_tc1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcLaborResource Ifc4x3_tc1::IfcLaborResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcLaborResourceType ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value Ifc4x3_tc1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -11445,7 +11445,7 @@ void Ifc4x3_tc1::IfcLaborResourceType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcLaborResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[574]); } -void Ifc4x3_tc1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcLaborResourceType Ifc4x3_tc1::IfcLaborResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcLagTime ::Ifc4x3_tc1::IfcTimeOrRatioSelect Ifc4x3_tc1::IfcLagTime::LagValue() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcTimeOrRatioSelect>(); } @@ -11455,7 +11455,7 @@ void Ifc4x3_tc1::IfcLagTime::setDurationType(const ::Ifc4x3_tc1::IfcTaskDuration const ifcopenshell::entity& Ifc4x3_tc1::IfcLagTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[576]); } -void Ifc4x3_tc1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_tc1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType))); } +Ifc4x3_tc1::IfcLagTime Ifc4x3_tc1::IfcLagTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_tc1::IfcTaskDurationEnum::Value v5_DurationType) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_LagValue));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; return *this; } // Function implementations for IfcLamp std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > Ifc4x3_tc1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } @@ -11463,7 +11463,7 @@ void Ifc4x3_tc1::IfcLamp::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcLamp::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[577]); } -void Ifc4x3_tc1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcLamp Ifc4x3_tc1::IfcLamp::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLampType ::Ifc4x3_tc1::IfcLampTypeEnum::Value Ifc4x3_tc1::IfcLampType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } @@ -11471,7 +11471,7 @@ void Ifc4x3_tc1::IfcLampType::setPredefinedType(const ::Ifc4x3_tc1::IfcLampTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcLampType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[578]); } -void Ifc4x3_tc1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcLampType Ifc4x3_tc1::IfcLampType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLibraryInformation std::string Ifc4x3_tc1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11491,7 +11491,7 @@ std::vector<::Ifc4x3_tc1::IfcRelAssociatesLibrary> Ifc4x3_tc1::IfcLibraryInforma std::vector<::Ifc4x3_tc1::IfcLibraryReference> Ifc4x3_tc1::IfcLibraryInformation::HasLibraryReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[585], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcLibraryInformation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[584]); } -void Ifc4x3_tc1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_tc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); } } +Ifc4x3_tc1::IfcLibraryInformation Ifc4x3_tc1::IfcLibraryInformation::initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_tc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, (v3_Publisher)); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; return *this; } // Function implementations for IfcLibraryReference std::optional< std::string > Ifc4x3_tc1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -11504,7 +11504,7 @@ void Ifc4x3_tc1::IfcLibraryReference::setReferencedLibrary(const ::Ifc4x3_tc1::I std::vector<::Ifc4x3_tc1::IfcRelAssociatesLibrary> Ifc4x3_tc1::IfcLibraryReference::LibraryRefForObjects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[911], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcLibraryReference::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[585]); } -void Ifc4x3_tc1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_tc1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary)); } +Ifc4x3_tc1::IfcLibraryReference Ifc4x3_tc1::IfcLibraryReference::initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_tc1::IfcLibraryInformation v6_ReferencedLibrary) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, (v6_ReferencedLibrary));; return *this; } // Function implementations for IfcLightDistributionData double Ifc4x3_tc1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } @@ -11516,7 +11516,7 @@ void Ifc4x3_tc1::IfcLightDistributionData::setLuminousIntensity(const std::vecto const ifcopenshell::entity& Ifc4x3_tc1::IfcLightDistributionData::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[588]); } -void Ifc4x3_tc1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity)); } +Ifc4x3_tc1::IfcLightDistributionData Ifc4x3_tc1::IfcLightDistributionData::initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; return *this; } // Function implementations for IfcLightFixture std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_tc1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } @@ -11524,7 +11524,7 @@ void Ifc4x3_tc1::IfcLightFixture::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcLightFixture::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[591]); } -void Ifc4x3_tc1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcLightFixture Ifc4x3_tc1::IfcLightFixture::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLightFixtureType ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value Ifc4x3_tc1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } @@ -11532,7 +11532,7 @@ void Ifc4x3_tc1::IfcLightFixtureType::setPredefinedType(const ::Ifc4x3_tc1::IfcL const ifcopenshell::entity& Ifc4x3_tc1::IfcLightFixtureType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[592]); } -void Ifc4x3_tc1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcLightFixtureType Ifc4x3_tc1::IfcLightFixtureType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLightIntensityDistribution ::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value Ifc4x3_tc1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_tc1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } @@ -11542,7 +11542,7 @@ void Ifc4x3_tc1::IfcLightIntensityDistribution::setDistributionData(const std::v const ifcopenshell::entity& Ifc4x3_tc1::IfcLightIntensityDistribution::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[594]); } -void Ifc4x3_tc1::IfcLightIntensityDistribution::initialize(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_tc1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData)); } +Ifc4x3_tc1::IfcLightIntensityDistribution Ifc4x3_tc1::IfcLightIntensityDistribution::initialize(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_tc1::IfcLightDistributionData > v2_DistributionData) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, cast_vector(v2_DistributionData));; return *this; } // Function implementations for IfcLightSource std::optional< std::string > Ifc4x3_tc1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11556,13 +11556,13 @@ void Ifc4x3_tc1::IfcLightSource::setIntensity(const std::optional< double >& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcLightSource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[595]); } -void Ifc4x3_tc1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_tc1::IfcLightSource Ifc4x3_tc1::IfcLightSource::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceAmbient const ifcopenshell::entity& Ifc4x3_tc1::IfcLightSourceAmbient::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[596]); } -void Ifc4x3_tc1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); } } +Ifc4x3_tc1::IfcLightSourceAmbient Ifc4x3_tc1::IfcLightSourceAmbient::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; return *this; } // Function implementations for IfcLightSourceDirectional ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcLightSourceDirectional::Orientation() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -11570,7 +11570,7 @@ void Ifc4x3_tc1::IfcLightSourceDirectional::setOrientation(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcLightSourceDirectional::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[597]); } -void Ifc4x3_tc1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation)); } +Ifc4x3_tc1::IfcLightSourceDirectional Ifc4x3_tc1::IfcLightSourceDirectional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcDirection v5_Orientation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Orientation));; return *this; } // Function implementations for IfcLightSourceGoniometric ::Ifc4x3_tc1::IfcAxis2Placement3D Ifc4x3_tc1::IfcLightSourceGoniometric::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcAxis2Placement3D>(); } @@ -11588,7 +11588,7 @@ void Ifc4x3_tc1::IfcLightSourceGoniometric::setLightDistributionDataSource(const const ifcopenshell::entity& Ifc4x3_tc1::IfcLightSourceGoniometric::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[598]); } -void Ifc4x3_tc1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_tc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource)); } +Ifc4x3_tc1::IfcLightSourceGoniometric Ifc4x3_tc1::IfcLightSourceGoniometric::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_tc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_ColourAppearance));set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, (v10_LightDistributionDataSource));; return *this; } // Function implementations for IfcLightSourcePositional ::Ifc4x3_tc1::IfcCartesianPoint Ifc4x3_tc1::IfcLightSourcePositional::Position() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcCartesianPoint>(); } @@ -11604,7 +11604,7 @@ void Ifc4x3_tc1::IfcLightSourcePositional::setQuadricAttenuation(const double& v const ifcopenshell::entity& Ifc4x3_tc1::IfcLightSourcePositional::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[599]); } -void Ifc4x3_tc1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation)); } +Ifc4x3_tc1::IfcLightSourcePositional Ifc4x3_tc1::IfcLightSourcePositional::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; return *this; } // Function implementations for IfcLightSourceSpot ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcLightSourceSpot::Orientation() const { return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -11618,7 +11618,7 @@ void Ifc4x3_tc1::IfcLightSourceSpot::setBeamWidthAngle(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcLightSourceSpot::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[600]); } -void Ifc4x3_tc1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_tc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle)); } +Ifc4x3_tc1::IfcLightSourceSpot Ifc4x3_tc1::IfcLightSourceSpot::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_tc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_LightColour)); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, (v5_Position));set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, (v10_Orientation)); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; return *this; } // Function implementations for IfcLine ::Ifc4x3_tc1::IfcCartesianPoint Ifc4x3_tc1::IfcLine::Pnt() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCartesianPoint>(); } @@ -11628,13 +11628,13 @@ void Ifc4x3_tc1::IfcLine::setDir(const ::Ifc4x3_tc1::IfcVector& v) { set_attribu const ifcopenshell::entity& Ifc4x3_tc1::IfcLine::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[601]); } -void Ifc4x3_tc1::IfcLine::initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_tc1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir)); } +Ifc4x3_tc1::IfcLine Ifc4x3_tc1::IfcLine::initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_tc1::IfcVector v2_Dir) { set_attribute_value(0, (v1_Pnt));set_attribute_value(1, (v2_Dir));; return *this; } // Function implementations for IfcLinearElement const ifcopenshell::entity& Ifc4x3_tc1::IfcLinearElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[602]); } -void Ifc4x3_tc1::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcLinearElement Ifc4x3_tc1::IfcLinearElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLinearPlacement ::Ifc4x3_tc1::IfcAxis2PlacementLinear Ifc4x3_tc1::IfcLinearPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcAxis2PlacementLinear>(); } @@ -11644,13 +11644,13 @@ void Ifc4x3_tc1::IfcLinearPlacement::setCartesianPosition(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcLinearPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[605]); } -void Ifc4x3_tc1::IfcLinearPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition)); } +Ifc4x3_tc1::IfcLinearPlacement Ifc4x3_tc1::IfcLinearPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_CartesianPosition) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));set_attribute_value(2, (v3_CartesianPosition));; return *this; } // Function implementations for IfcLinearPositioningElement const ifcopenshell::entity& Ifc4x3_tc1::IfcLinearPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[606]); } -void Ifc4x3_tc1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcLinearPositioningElement Ifc4x3_tc1::IfcLinearPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcLiquidTerminal std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_tc1::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -11658,7 +11658,7 @@ void Ifc4x3_tc1::IfcLiquidTerminal::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcLiquidTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[610]); } -void Ifc4x3_tc1::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcLiquidTerminal Ifc4x3_tc1::IfcLiquidTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcLiquidTerminalType ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_tc1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -11666,7 +11666,7 @@ void Ifc4x3_tc1::IfcLiquidTerminalType::setPredefinedType(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcLiquidTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[611]); } -void Ifc4x3_tc1::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcLiquidTerminalType Ifc4x3_tc1::IfcLiquidTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcLocalPlacement ::Ifc4x3_tc1::IfcAxis2Placement Ifc4x3_tc1::IfcLocalPlacement::RelativePlacement() const { return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcAxis2Placement>(); } @@ -11674,13 +11674,13 @@ void Ifc4x3_tc1::IfcLocalPlacement::setRelativePlacement(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcLocalPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[614]); } -void Ifc4x3_tc1::IfcLocalPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement)); } +Ifc4x3_tc1::IfcLocalPlacement Ifc4x3_tc1::IfcLocalPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2Placement v2_RelativePlacement) { set_attribute_value(0, (v1_PlacementRelTo));set_attribute_value(1, (v2_RelativePlacement));; return *this; } // Function implementations for IfcLoop const ifcopenshell::entity& Ifc4x3_tc1::IfcLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[617]); } -void Ifc4x3_tc1::IfcLoop::initialize() { } +Ifc4x3_tc1::IfcLoop Ifc4x3_tc1::IfcLoop::initialize() { ; return *this; } // Function implementations for IfcManifoldSolidBrep ::Ifc4x3_tc1::IfcClosedShell Ifc4x3_tc1::IfcManifoldSolidBrep::Outer() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcClosedShell>(); } @@ -11688,7 +11688,7 @@ void Ifc4x3_tc1::IfcManifoldSolidBrep::setOuter(const ::Ifc4x3_tc1::IfcClosedShe const ifcopenshell::entity& Ifc4x3_tc1::IfcManifoldSolidBrep::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[624]); } -void Ifc4x3_tc1::IfcManifoldSolidBrep::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer)); } +Ifc4x3_tc1::IfcManifoldSolidBrep Ifc4x3_tc1::IfcManifoldSolidBrep::initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer) { set_attribute_value(0, (v1_Outer));; return *this; } // Function implementations for IfcMapConversion double Ifc4x3_tc1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } @@ -11710,7 +11710,7 @@ void Ifc4x3_tc1::IfcMapConversion::setScaleZ(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcMapConversion::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[625]); } -void Ifc4x3_tc1::IfcMapConversion::initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); } } +Ifc4x3_tc1::IfcMapConversion Ifc4x3_tc1::IfcMapConversion::initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ) { set_attribute_value(0, (v1_SourceCRS));set_attribute_value(1, (v2_TargetCRS));set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; return *this; } // Function implementations for IfcMappedItem ::Ifc4x3_tc1::IfcRepresentationMap Ifc4x3_tc1::IfcMappedItem::MappingSource() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcRepresentationMap>(); } @@ -11720,7 +11720,7 @@ void Ifc4x3_tc1::IfcMappedItem::setMappingTarget(const ::Ifc4x3_tc1::IfcCartesia const ifcopenshell::entity& Ifc4x3_tc1::IfcMappedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[626]); } -void Ifc4x3_tc1::IfcMappedItem::initialize(::Ifc4x3_tc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_tc1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget)); } +Ifc4x3_tc1::IfcMappedItem Ifc4x3_tc1::IfcMappedItem::initialize(::Ifc4x3_tc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_tc1::IfcCartesianTransformationOperator v2_MappingTarget) { set_attribute_value(0, (v1_MappingSource));set_attribute_value(1, (v2_MappingTarget));; return *this; } // Function implementations for IfcMarineFacility std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > Ifc4x3_tc1::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } @@ -11728,7 +11728,7 @@ void Ifc4x3_tc1::IfcMarineFacility::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcMarineFacility::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[627]); } -void Ifc4x3_tc1::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcMarineFacility Ifc4x3_tc1::IfcMarineFacility::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcMarinePart std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > Ifc4x3_tc1::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } @@ -11736,7 +11736,7 @@ void Ifc4x3_tc1::IfcMarinePart::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcMarinePart::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[629]); } -void Ifc4x3_tc1::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcMarinePart Ifc4x3_tc1::IfcMarinePart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMaterial std::string Ifc4x3_tc1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } @@ -11751,7 +11751,7 @@ std::vector<::Ifc4x3_tc1::IfcMaterialRelationship> Ifc4x3_tc1::IfcMaterial::IsRe std::vector<::Ifc4x3_tc1::IfcMaterialRelationship> Ifc4x3_tc1::IfcMaterial::RelatesTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[652], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[635]); } -void Ifc4x3_tc1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); } } +Ifc4x3_tc1::IfcMaterial Ifc4x3_tc1::IfcMaterial::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; return *this; } // Function implementations for IfcMaterialClassificationRelationship std::vector< ::Ifc4x3_tc1::IfcClassificationSelect > Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcClassificationSelect>(es); } @@ -11761,7 +11761,7 @@ void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(co const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[636]); } -void Ifc4x3_tc1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_tc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial)); } +Ifc4x3_tc1::IfcMaterialClassificationRelationship Ifc4x3_tc1::IfcMaterialClassificationRelationship::initialize(std::vector< ::Ifc4x3_tc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial v2_ClassifiedMaterial) { set_attribute_value(0, cast_vector(v1_MaterialClassifications));set_attribute_value(1, (v2_ClassifiedMaterial));; return *this; } // Function implementations for IfcMaterialConstituent std::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11778,7 +11778,7 @@ void Ifc4x3_tc1::IfcMaterialConstituent::setCategory(const std::optional< std::s std::vector<::Ifc4x3_tc1::IfcMaterialConstituentSet> Ifc4x3_tc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[638], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialConstituent::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[637]); } -void Ifc4x3_tc1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); } } +Ifc4x3_tc1::IfcMaterialConstituent Ifc4x3_tc1::IfcMaterialConstituent::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material)); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; return *this; } // Function implementations for IfcMaterialConstituentSet std::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11790,7 +11790,7 @@ void Ifc4x3_tc1::IfcMaterialConstituentSet::setMaterialConstituents(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialConstituentSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[638]); } -void Ifc4x3_tc1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); } } +Ifc4x3_tc1::IfcMaterialConstituentSet Ifc4x3_tc1::IfcMaterialConstituentSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcMaterialConstituent > > v3_MaterialConstituents) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, cast_vector(*v3_MaterialConstituents)); }; return *this; } // Function implementations for IfcMaterialDefinition @@ -11799,7 +11799,7 @@ std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcMater std::vector<::Ifc4x3_tc1::IfcMaterialProperties> Ifc4x3_tc1::IfcMaterialDefinition::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[651], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[639]); } -void Ifc4x3_tc1::IfcMaterialDefinition::initialize() { } +Ifc4x3_tc1::IfcMaterialDefinition Ifc4x3_tc1::IfcMaterialDefinition::initialize() { ; return *this; } // Function implementations for IfcMaterialDefinitionRepresentation ::Ifc4x3_tc1::IfcMaterial Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcMaterial>(); } @@ -11807,7 +11807,7 @@ void Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(con const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[640]); } -void Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations, ::Ifc4x3_tc1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial)); } +Ifc4x3_tc1::IfcMaterialDefinitionRepresentation Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations, ::Ifc4x3_tc1::IfcMaterial v4_RepresentedMaterial) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));set_attribute_value(3, (v4_RepresentedMaterial));; return *this; } // Function implementations for IfcMaterialLayer ::Ifc4x3_tc1::IfcMaterial Ifc4x3_tc1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcMaterial{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcMaterial>(); } @@ -11828,7 +11828,7 @@ void Ifc4x3_tc1::IfcMaterialLayer::setPriority(const std::optional< int >& v) { std::vector<::Ifc4x3_tc1::IfcMaterialLayerSet> Ifc4x3_tc1::IfcMaterialLayer::ToMaterialLayerSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[642], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialLayer::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[641]); } -void Ifc4x3_tc1::IfcMaterialLayer::initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); } } +Ifc4x3_tc1::IfcMaterialLayer Ifc4x3_tc1::IfcMaterialLayer::initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; return *this; } // Function implementations for IfcMaterialLayerSet std::vector< ::Ifc4x3_tc1::IfcMaterialLayer > Ifc4x3_tc1::IfcMaterialLayerSet::MaterialLayers() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcMaterialLayer>(es); } @@ -11840,7 +11840,7 @@ void Ifc4x3_tc1::IfcMaterialLayerSet::setDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialLayerSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[642]); } -void Ifc4x3_tc1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_tc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } } +Ifc4x3_tc1::IfcMaterialLayerSet Ifc4x3_tc1::IfcMaterialLayerSet::initialize(std::vector< ::Ifc4x3_tc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description) { set_attribute_value(0, cast_vector(v1_MaterialLayers)); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; return *this; } // Function implementations for IfcMaterialLayerSetUsage ::Ifc4x3_tc1::IfcMaterialLayerSet Ifc4x3_tc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcMaterialLayerSet>(); } @@ -11856,7 +11856,7 @@ void Ifc4x3_tc1::IfcMaterialLayerSetUsage::setReferenceExtent(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialLayerSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[643]); } -void Ifc4x3_tc1::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_tc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); } } +Ifc4x3_tc1::IfcMaterialLayerSetUsage Ifc4x3_tc1::IfcMaterialLayerSetUsage::initialize(::Ifc4x3_tc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent) { set_attribute_value(0, (v1_ForLayerSet));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialLayerWithOffsets ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value Ifc4x3_tc1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } @@ -11866,7 +11866,7 @@ void Ifc4x3_tc1::IfcMaterialLayerWithOffsets::setOffsetValues(const std::vector< const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialLayerWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[644]); } -void Ifc4x3_tc1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues)); } +Ifc4x3_tc1::IfcMaterialLayerWithOffsets Ifc4x3_tc1::IfcMaterialLayerWithOffsets::initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) { set_attribute_value(0, (v1_Material));set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; return *this; } // Function implementations for IfcMaterialList std::vector< ::Ifc4x3_tc1::IfcMaterial > Ifc4x3_tc1::IfcMaterialList::Materials() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcMaterial>(es); } @@ -11874,7 +11874,7 @@ void Ifc4x3_tc1::IfcMaterialList::setMaterials(const std::vector< ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialList::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[645]); } -void Ifc4x3_tc1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_tc1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials)); } +Ifc4x3_tc1::IfcMaterialList Ifc4x3_tc1::IfcMaterialList::initialize(std::vector< ::Ifc4x3_tc1::IfcMaterial > v1_Materials) { set_attribute_value(0, cast_vector(v1_Materials));; return *this; } // Function implementations for IfcMaterialProfile std::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11893,7 +11893,7 @@ void Ifc4x3_tc1::IfcMaterialProfile::setCategory(const std::optional< std::strin std::vector<::Ifc4x3_tc1::IfcMaterialProfileSet> Ifc4x3_tc1::IfcMaterialProfile::ToMaterialProfileSet() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[647], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialProfile::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[646]); } -void Ifc4x3_tc1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } } +Ifc4x3_tc1::IfcMaterialProfile Ifc4x3_tc1::IfcMaterialProfile::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; return *this; } // Function implementations for IfcMaterialProfileSet std::optional< std::string > Ifc4x3_tc1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -11907,7 +11907,7 @@ void Ifc4x3_tc1::IfcMaterialProfileSet::setCompositeProfile(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialProfileSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[647]); } -void Ifc4x3_tc1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_tc1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile)); } +Ifc4x3_tc1::IfcMaterialProfileSet Ifc4x3_tc1::IfcMaterialProfileSet::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_tc1::IfcCompositeProfileDef v4_CompositeProfile) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_MaterialProfiles));set_attribute_value(3, (v4_CompositeProfile));; return *this; } // Function implementations for IfcMaterialProfileSetUsage ::Ifc4x3_tc1::IfcMaterialProfileSet Ifc4x3_tc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcMaterialProfileSet>(); } @@ -11919,7 +11919,7 @@ void Ifc4x3_tc1::IfcMaterialProfileSetUsage::setReferenceExtent(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialProfileSetUsage::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[648]); } -void Ifc4x3_tc1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); } } +Ifc4x3_tc1::IfcMaterialProfileSetUsage Ifc4x3_tc1::IfcMaterialProfileSetUsage::initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; return *this; } // Function implementations for IfcMaterialProfileSetUsageTapering ::Ifc4x3_tc1::IfcMaterialProfileSet Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcMaterialProfileSet>(); } @@ -11929,7 +11929,7 @@ void Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(const s const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[649]); } -void Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_tc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); } } +Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_tc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint) { set_attribute_value(0, (v1_ForProfileSet)); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, (v4_ForProfileEndSet)); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; return *this; } // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ Ifc4x3_tc1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } @@ -11937,7 +11937,7 @@ void Ifc4x3_tc1::IfcMaterialProfileWithOffsets::setOffsetValues(const std::vecto const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialProfileWithOffsets::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[650]); } -void Ifc4x3_tc1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues)); } +Ifc4x3_tc1::IfcMaterialProfileWithOffsets Ifc4x3_tc1::IfcMaterialProfileWithOffsets::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Material));set_attribute_value(3, (v4_Profile)); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; return *this; } // Function implementations for IfcMaterialProperties ::Ifc4x3_tc1::IfcMaterialDefinition Ifc4x3_tc1::IfcMaterialProperties::Material() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcMaterialDefinition>(); } @@ -11945,7 +11945,7 @@ void Ifc4x3_tc1::IfcMaterialProperties::setMaterial(const ::Ifc4x3_tc1::IfcMater const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[651]); } -void Ifc4x3_tc1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material)); } +Ifc4x3_tc1::IfcMaterialProperties Ifc4x3_tc1::IfcMaterialProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcMaterialDefinition v4_Material) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_Material));; return *this; } // Function implementations for IfcMaterialRelationship ::Ifc4x3_tc1::IfcMaterial Ifc4x3_tc1::IfcMaterialRelationship::RelatingMaterial() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcMaterial>(); } @@ -11957,14 +11957,14 @@ void Ifc4x3_tc1::IfcMaterialRelationship::setMaterialExpression(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[652]); } -void Ifc4x3_tc1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_tc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); } } +Ifc4x3_tc1::IfcMaterialRelationship Ifc4x3_tc1::IfcMaterialRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_tc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingMaterial));set_attribute_value(3, cast_vector(v4_RelatedMaterials)); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; return *this; } // Function implementations for IfcMaterialUsageDefinition std::vector<::Ifc4x3_tc1::IfcRelAssociatesMaterial> Ifc4x3_tc1::IfcMaterialUsageDefinition::AssociatedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[912], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcMaterialUsageDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[654]); } -void Ifc4x3_tc1::IfcMaterialUsageDefinition::initialize() { } +Ifc4x3_tc1::IfcMaterialUsageDefinition Ifc4x3_tc1::IfcMaterialUsageDefinition::initialize() { ; return *this; } // Function implementations for IfcMeasureWithUnit ::Ifc4x3_tc1::IfcValue Ifc4x3_tc1::IfcMeasureWithUnit::ValueComponent() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcValue>(); } @@ -11974,7 +11974,7 @@ void Ifc4x3_tc1::IfcMeasureWithUnit::setUnitComponent(const ::Ifc4x3_tc1::IfcUni const ifcopenshell::entity& Ifc4x3_tc1::IfcMeasureWithUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[656]); } -void Ifc4x3_tc1::IfcMeasureWithUnit::initialize(::Ifc4x3_tc1::IfcValue v1_ValueComponent, ::Ifc4x3_tc1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent)); } +Ifc4x3_tc1::IfcMeasureWithUnit Ifc4x3_tc1::IfcMeasureWithUnit::initialize(::Ifc4x3_tc1::IfcValue v1_ValueComponent, ::Ifc4x3_tc1::IfcUnit v2_UnitComponent) { set_attribute_value(0, (v1_ValueComponent));set_attribute_value(1, (v2_UnitComponent));; return *this; } // Function implementations for IfcMechanicalFastener std::optional< double > Ifc4x3_tc1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -11986,7 +11986,7 @@ void Ifc4x3_tc1::IfcMechanicalFastener::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_tc1::IfcMechanicalFastener::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[657]); } -void Ifc4x3_tc1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcMechanicalFastener Ifc4x3_tc1::IfcMechanicalFastener::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcMechanicalFastenerType ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_tc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } @@ -11998,7 +11998,7 @@ void Ifc4x3_tc1::IfcMechanicalFastenerType::setNominalLength(const std::optional const ifcopenshell::entity& Ifc4x3_tc1::IfcMechanicalFastenerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[658]); } -void Ifc4x3_tc1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); } } +Ifc4x3_tc1::IfcMechanicalFastenerType Ifc4x3_tc1::IfcMechanicalFastenerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; return *this; } // Function implementations for IfcMedicalDevice std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_tc1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12006,7 +12006,7 @@ void Ifc4x3_tc1::IfcMedicalDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcMedicalDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[660]); } -void Ifc4x3_tc1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcMedicalDevice Ifc4x3_tc1::IfcMedicalDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMedicalDeviceType ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_tc1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12014,7 +12014,7 @@ void Ifc4x3_tc1::IfcMedicalDeviceType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcMedicalDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[661]); } -void Ifc4x3_tc1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcMedicalDeviceType Ifc4x3_tc1::IfcMedicalDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMember std::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > Ifc4x3_tc1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } @@ -12022,7 +12022,7 @@ void Ifc4x3_tc1::IfcMember::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcMember::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[663]); } -void Ifc4x3_tc1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcMember Ifc4x3_tc1::IfcMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMemberType ::Ifc4x3_tc1::IfcMemberTypeEnum::Value Ifc4x3_tc1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } @@ -12030,7 +12030,7 @@ void Ifc4x3_tc1::IfcMemberType::setPredefinedType(const ::Ifc4x3_tc1::IfcMemberT const ifcopenshell::entity& Ifc4x3_tc1::IfcMemberType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[664]); } -void Ifc4x3_tc1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcMemberType Ifc4x3_tc1::IfcMemberType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMemberTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMetric ::Ifc4x3_tc1::IfcBenchmarkEnum::Value Ifc4x3_tc1::IfcMetric::Benchmark() const { return ::Ifc4x3_tc1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } @@ -12044,13 +12044,13 @@ void Ifc4x3_tc1::IfcMetric::setReferencePath(const ::Ifc4x3_tc1::IfcReference& v const ifcopenshell::entity& Ifc4x3_tc1::IfcMetric::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[666]); } -void Ifc4x3_tc1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_tc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_tc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_tc1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath)); } +Ifc4x3_tc1::IfcMetric Ifc4x3_tc1::IfcMetric::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_tc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_tc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_tc1::IfcReference v11_ReferencePath) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, (v10_DataValue));set_attribute_value(10, (v11_ReferencePath));; return *this; } // Function implementations for IfcMirroredProfileDef const ifcopenshell::entity& Ifc4x3_tc1::IfcMirroredProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[668]); } -void Ifc4x3_tc1::IfcMirroredProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); } } +Ifc4x3_tc1::IfcMirroredProfileDef Ifc4x3_tc1::IfcMirroredProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_ParentProfile)); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; return *this; } // Function implementations for IfcMobileTelecommunicationsAppliance std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } @@ -12058,7 +12058,7 @@ void Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::setPredefinedType(const s const ifcopenshell::entity& Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[669]); } -void Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMobileTelecommunicationsApplianceType ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } @@ -12066,7 +12066,7 @@ void Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(con const ifcopenshell::entity& Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[670]); } -void Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMonetaryUnit std::string Ifc4x3_tc1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } @@ -12074,7 +12074,7 @@ void Ifc4x3_tc1::IfcMonetaryUnit::setCurrency(const std::string& v) { set_attrib const ifcopenshell::entity& Ifc4x3_tc1::IfcMonetaryUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[683]); } -void Ifc4x3_tc1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency)); } +Ifc4x3_tc1::IfcMonetaryUnit Ifc4x3_tc1::IfcMonetaryUnit::initialize(std::string v1_Currency) { set_attribute_value(0, (v1_Currency));; return *this; } // Function implementations for IfcMooringDevice std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_tc1::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -12082,7 +12082,7 @@ void Ifc4x3_tc1::IfcMooringDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcMooringDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[685]); } -void Ifc4x3_tc1::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcMooringDevice Ifc4x3_tc1::IfcMooringDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMooringDeviceType ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_tc1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -12090,7 +12090,7 @@ void Ifc4x3_tc1::IfcMooringDeviceType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcMooringDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[686]); } -void Ifc4x3_tc1::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcMooringDeviceType Ifc4x3_tc1::IfcMooringDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcMotorConnection std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_tc1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } @@ -12098,7 +12098,7 @@ void Ifc4x3_tc1::IfcMotorConnection::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcMotorConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[688]); } -void Ifc4x3_tc1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcMotorConnection Ifc4x3_tc1::IfcMotorConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcMotorConnectionType ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_tc1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } @@ -12106,7 +12106,7 @@ void Ifc4x3_tc1::IfcMotorConnectionType::setPredefinedType(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcMotorConnectionType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[689]); } -void Ifc4x3_tc1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcMotorConnectionType Ifc4x3_tc1::IfcMotorConnectionType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcNamedUnit ::Ifc4x3_tc1::IfcDimensionalExponents Ifc4x3_tc1::IfcNamedUnit::Dimensions() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcDimensionalExponents>(); } @@ -12116,7 +12116,7 @@ void Ifc4x3_tc1::IfcNamedUnit::setUnitType(const ::Ifc4x3_tc1::IfcUnitEnum::Valu const ifcopenshell::entity& Ifc4x3_tc1::IfcNamedUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[691]); } -void Ifc4x3_tc1::IfcNamedUnit::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); } +Ifc4x3_tc1::IfcNamedUnit Ifc4x3_tc1::IfcNamedUnit::initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType) { set_attribute_value(0, (v1_Dimensions));set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; return *this; } // Function implementations for IfcNavigationElement std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_tc1::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12124,7 +12124,7 @@ void Ifc4x3_tc1::IfcNavigationElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcNavigationElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[692]); } -void Ifc4x3_tc1::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcNavigationElement Ifc4x3_tc1::IfcNavigationElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcNavigationElementType ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value Ifc4x3_tc1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } @@ -12132,7 +12132,7 @@ void Ifc4x3_tc1::IfcNavigationElementType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcNavigationElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[693]); } -void Ifc4x3_tc1::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcNavigationElementType Ifc4x3_tc1::IfcNavigationElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcObject std::optional< std::string > Ifc4x3_tc1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12144,7 +12144,7 @@ std::vector<::Ifc4x3_tc1::IfcRelDefinesByType> Ifc4x3_tc1::IfcObject::IsTypedBy( std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcObject::IsDefinedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[931], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcObject::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[698]); } -void Ifc4x3_tc1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_tc1::IfcObject Ifc4x3_tc1::IfcObject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcObjectDefinition @@ -12157,7 +12157,7 @@ std::vector<::Ifc4x3_tc1::IfcRelAggregates> Ifc4x3_tc1::IfcObjectDefinition::Dec std::vector<::Ifc4x3_tc1::IfcRelAssociates> Ifc4x3_tc1::IfcObjectDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[906], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcObjectDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[699]); } -void Ifc4x3_tc1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcObjectDefinition Ifc4x3_tc1::IfcObjectDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcObjectPlacement ::Ifc4x3_tc1::IfcObjectPlacement Ifc4x3_tc1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcObjectPlacement>(); } @@ -12167,7 +12167,7 @@ std::vector<::Ifc4x3_tc1::IfcProduct> Ifc4x3_tc1::IfcObjectPlacement::PlacesObje std::vector<::Ifc4x3_tc1::IfcObjectPlacement> Ifc4x3_tc1::IfcObjectPlacement::ReferencedByPlacements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[702], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcObjectPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[702]); } -void Ifc4x3_tc1::IfcObjectPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo)); } +Ifc4x3_tc1::IfcObjectPlacement Ifc4x3_tc1::IfcObjectPlacement::initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo) { set_attribute_value(0, (v1_PlacementRelTo));; return *this; } // Function implementations for IfcObjective std::optional< std::vector< ::Ifc4x3_tc1::IfcConstraint > > Ifc4x3_tc1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_tc1::IfcConstraint>(es); } @@ -12181,7 +12181,7 @@ void Ifc4x3_tc1::IfcObjective::setUserDefinedQualifier(const std::optional< std: const ifcopenshell::entity& Ifc4x3_tc1::IfcObjective::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[700]); } -void Ifc4x3_tc1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_tc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_tc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); } } +Ifc4x3_tc1::IfcObjective Ifc4x3_tc1::IfcObjective::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_tc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_tc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, (v5_CreatingActor)); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, cast_vector(*v8_BenchmarkValues)); } if (v9_LogicalAggregator) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; return *this; } // Function implementations for IfcOccupant std::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > Ifc4x3_tc1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } @@ -12189,7 +12189,7 @@ void Ifc4x3_tc1::IfcOccupant::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcOccupant::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[704]); } -void Ifc4x3_tc1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); } } +Ifc4x3_tc1::IfcOccupant Ifc4x3_tc1::IfcOccupant::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TheActor)); if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; return *this; } // Function implementations for IfcOffsetCurve ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcOffsetCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -12197,7 +12197,7 @@ void Ifc4x3_tc1::IfcOffsetCurve::setBasisCurve(const ::Ifc4x3_tc1::IfcCurve& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcOffsetCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[706]); } -void Ifc4x3_tc1::IfcOffsetCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve)); } +Ifc4x3_tc1::IfcOffsetCurve Ifc4x3_tc1::IfcOffsetCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve) { set_attribute_value(0, (v1_BasisCurve));; return *this; } // Function implementations for IfcOffsetCurve2D double Ifc4x3_tc1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12207,7 +12207,7 @@ void Ifc4x3_tc1::IfcOffsetCurve2D::setSelfIntersect(const boost::logic::tribool& const ifcopenshell::entity& Ifc4x3_tc1::IfcOffsetCurve2D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[707]); } -void Ifc4x3_tc1::IfcOffsetCurve2D::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect)); } +Ifc4x3_tc1::IfcOffsetCurve2D Ifc4x3_tc1::IfcOffsetCurve2D::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; return *this; } // Function implementations for IfcOffsetCurve3D double Ifc4x3_tc1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } @@ -12219,7 +12219,7 @@ void Ifc4x3_tc1::IfcOffsetCurve3D::setRefDirection(const ::Ifc4x3_tc1::IfcDirect const ifcopenshell::entity& Ifc4x3_tc1::IfcOffsetCurve3D::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[708]); } -void Ifc4x3_tc1::IfcOffsetCurve3D::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_tc1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection)); } +Ifc4x3_tc1::IfcOffsetCurve3D Ifc4x3_tc1::IfcOffsetCurve3D::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_tc1::IfcDirection v4_RefDirection) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, (v4_RefDirection));; return *this; } // Function implementations for IfcOffsetCurveByDistances std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression > Ifc4x3_tc1::IfcOffsetCurveByDistances::OffsetValues() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_tc1::IfcPointByDistanceExpression>(es); } @@ -12229,7 +12229,7 @@ void Ifc4x3_tc1::IfcOffsetCurveByDistances::setTag(const std::optional< std::str const ifcopenshell::entity& Ifc4x3_tc1::IfcOffsetCurveByDistances::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[709]); } -void Ifc4x3_tc1::IfcOffsetCurveByDistances::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); } } +Ifc4x3_tc1::IfcOffsetCurveByDistances Ifc4x3_tc1::IfcOffsetCurveByDistances::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_OffsetValues)); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; return *this; } // Function implementations for IfcOpenCrossProfileDef bool Ifc4x3_tc1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } @@ -12245,13 +12245,13 @@ void Ifc4x3_tc1::IfcOpenCrossProfileDef::setOffsetPoint(const ::Ifc4x3_tc1::IfcC const ifcopenshell::entity& Ifc4x3_tc1::IfcOpenCrossProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[710]); } -void Ifc4x3_tc1::IfcOpenCrossProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_tc1::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint)); } +Ifc4x3_tc1::IfcOpenCrossProfileDef Ifc4x3_tc1::IfcOpenCrossProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_tc1::IfcCartesianPoint v7_OffsetPoint) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, (v7_OffsetPoint));; return *this; } // Function implementations for IfcOpenShell const ifcopenshell::entity& Ifc4x3_tc1::IfcOpenShell::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[713]); } -void Ifc4x3_tc1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces)); } +Ifc4x3_tc1::IfcOpenShell Ifc4x3_tc1::IfcOpenShell::initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces) { set_attribute_value(0, cast_vector(v1_CfsFaces));; return *this; } // Function implementations for IfcOpeningElement std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_tc1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12260,7 +12260,7 @@ void Ifc4x3_tc1::IfcOpeningElement::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_tc1::IfcRelFillsElement> Ifc4x3_tc1::IfcOpeningElement::HasFillings() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[934], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcOpeningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[711]); } -void Ifc4x3_tc1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcOpeningElement Ifc4x3_tc1::IfcOpeningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOrganization std::optional< std::string > Ifc4x3_tc1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12279,7 +12279,7 @@ std::vector<::Ifc4x3_tc1::IfcOrganizationRelationship> Ifc4x3_tc1::IfcOrganizati std::vector<::Ifc4x3_tc1::IfcPersonAndOrganization> Ifc4x3_tc1::IfcOrganization::Engages() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[736], 1)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[714]); } -void Ifc4x3_tc1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); } } +Ifc4x3_tc1::IfcOrganization Ifc4x3_tc1::IfcOrganization::initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v5_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, cast_vector(*v4_Roles)); } if (v5_Addresses) {set_attribute_value(4, cast_vector(*v5_Addresses)); }; return *this; } // Function implementations for IfcOrganizationRelationship ::Ifc4x3_tc1::IfcOrganization Ifc4x3_tc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcOrganization>(); } @@ -12289,7 +12289,7 @@ void Ifc4x3_tc1::IfcOrganizationRelationship::setRelatedOrganizations(const std: const ifcopenshell::entity& Ifc4x3_tc1::IfcOrganizationRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[715]); } -void Ifc4x3_tc1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_tc1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations)); } +Ifc4x3_tc1::IfcOrganizationRelationship Ifc4x3_tc1::IfcOrganizationRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_tc1::IfcOrganization > v4_RelatedOrganizations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingOrganization));set_attribute_value(3, cast_vector(v4_RelatedOrganizations));; return *this; } // Function implementations for IfcOrientedEdge ::Ifc4x3_tc1::IfcEdge Ifc4x3_tc1::IfcOrientedEdge::EdgeElement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcEdge>(); } @@ -12299,13 +12299,13 @@ void Ifc4x3_tc1::IfcOrientedEdge::setOrientation(const bool& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_tc1::IfcOrientedEdge::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[716]); } -void Ifc4x3_tc1::IfcOrientedEdge::initialize(::Ifc4x3_tc1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation)); } +Ifc4x3_tc1::IfcOrientedEdge Ifc4x3_tc1::IfcOrientedEdge::initialize(::Ifc4x3_tc1::IfcEdge v3_EdgeElement, bool v4_Orientation) { set_attribute_value(2, (v3_EdgeElement));set_attribute_value(3, (v4_Orientation));; return *this; } // Function implementations for IfcOuterBoundaryCurve const ifcopenshell::entity& Ifc4x3_tc1::IfcOuterBoundaryCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[717]); } -void Ifc4x3_tc1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect)); } +Ifc4x3_tc1::IfcOuterBoundaryCurve Ifc4x3_tc1::IfcOuterBoundaryCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));; return *this; } // Function implementations for IfcOutlet std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > Ifc4x3_tc1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } @@ -12313,7 +12313,7 @@ void Ifc4x3_tc1::IfcOutlet::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcOutlet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[718]); } -void Ifc4x3_tc1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcOutlet Ifc4x3_tc1::IfcOutlet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcOutletType ::Ifc4x3_tc1::IfcOutletTypeEnum::Value Ifc4x3_tc1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_tc1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } @@ -12321,7 +12321,7 @@ void Ifc4x3_tc1::IfcOutletType::setPredefinedType(const ::Ifc4x3_tc1::IfcOutletT const ifcopenshell::entity& Ifc4x3_tc1::IfcOutletType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[719]); } -void Ifc4x3_tc1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcOutletType Ifc4x3_tc1::IfcOutletType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcOutletTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcOwnerHistory ::Ifc4x3_tc1::IfcPersonAndOrganization Ifc4x3_tc1::IfcOwnerHistory::OwningUser() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPersonAndOrganization>(); } @@ -12343,7 +12343,7 @@ void Ifc4x3_tc1::IfcOwnerHistory::setCreationDate(const int& v) { set_attribute_ const ifcopenshell::entity& Ifc4x3_tc1::IfcOwnerHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[721]); } -void Ifc4x3_tc1::IfcOwnerHistory::initialize(::Ifc4x3_tc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_tc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_tc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_tc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate)); } +Ifc4x3_tc1::IfcOwnerHistory Ifc4x3_tc1::IfcOwnerHistory::initialize(::Ifc4x3_tc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_tc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_tc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_tc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate) { set_attribute_value(0, (v1_OwningUser));set_attribute_value(1, (v2_OwningApplication)); if (v3_State) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, (v6_LastModifyingUser));set_attribute_value(6, (v7_LastModifyingApplication));set_attribute_value(7, (v8_CreationDate));; return *this; } // Function implementations for IfcParameterizedProfileDef ::Ifc4x3_tc1::IfcAxis2Placement2D Ifc4x3_tc1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_tc1::IfcAxis2Placement2D{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcAxis2Placement2D>(); } @@ -12351,7 +12351,7 @@ void Ifc4x3_tc1::IfcParameterizedProfileDef::setPosition(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcParameterizedProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[722]); } -void Ifc4x3_tc1::IfcParameterizedProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position)); } +Ifc4x3_tc1::IfcParameterizedProfileDef Ifc4x3_tc1::IfcParameterizedProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));; return *this; } // Function implementations for IfcPath std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > Ifc4x3_tc1::IfcPath::EdgeList() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcOrientedEdge>(es); } @@ -12359,7 +12359,7 @@ void Ifc4x3_tc1::IfcPath::setEdgeList(const std::vector< ::Ifc4x3_tc1::IfcOrient const ifcopenshell::entity& Ifc4x3_tc1::IfcPath::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[724]); } -void Ifc4x3_tc1::IfcPath::initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList)); } +Ifc4x3_tc1::IfcPath Ifc4x3_tc1::IfcPath::initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList) { set_attribute_value(0, cast_vector(v1_EdgeList));; return *this; } // Function implementations for IfcPavement std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > Ifc4x3_tc1::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } @@ -12367,7 +12367,7 @@ void Ifc4x3_tc1::IfcPavement::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcPavement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[725]); } -void Ifc4x3_tc1::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcPavement Ifc4x3_tc1::IfcPavement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPavementType ::Ifc4x3_tc1::IfcPavementTypeEnum::Value Ifc4x3_tc1::IfcPavementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } @@ -12375,7 +12375,7 @@ void Ifc4x3_tc1::IfcPavementType::setPredefinedType(const ::Ifc4x3_tc1::IfcPavem const ifcopenshell::entity& Ifc4x3_tc1::IfcPavementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[726]); } -void Ifc4x3_tc1::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcPavementType Ifc4x3_tc1::IfcPavementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPavementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPcurve ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcPcurve::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -12385,7 +12385,7 @@ void Ifc4x3_tc1::IfcPcurve::setReferenceCurve(const ::Ifc4x3_tc1::IfcCurve& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcPcurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[728]); } -void Ifc4x3_tc1::IfcPcurve::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve)); } +Ifc4x3_tc1::IfcPcurve Ifc4x3_tc1::IfcPcurve::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_ReferenceCurve) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_ReferenceCurve));; return *this; } // Function implementations for IfcPerformanceHistory std::string Ifc4x3_tc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } @@ -12395,7 +12395,7 @@ void Ifc4x3_tc1::IfcPerformanceHistory::setPredefinedType(const std::optional< : const ifcopenshell::entity& Ifc4x3_tc1::IfcPerformanceHistory::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[729]); } -void Ifc4x3_tc1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_tc1::IfcPerformanceHistory Ifc4x3_tc1::IfcPerformanceHistory::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcPermeableCoveringProperties ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_tc1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } @@ -12411,7 +12411,7 @@ void Ifc4x3_tc1::IfcPermeableCoveringProperties::setShapeAspectStyle(const ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcPermeableCoveringProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[732]); } -void Ifc4x3_tc1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_tc1::IfcPermeableCoveringProperties Ifc4x3_tc1::IfcPermeableCoveringProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcPermit std::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > Ifc4x3_tc1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } @@ -12423,7 +12423,7 @@ void Ifc4x3_tc1::IfcPermit::setLongDescription(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcPermit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[733]); } -void Ifc4x3_tc1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_tc1::IfcPermit Ifc4x3_tc1::IfcPermit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcPerson std::optional< std::string > Ifc4x3_tc1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12446,7 +12446,7 @@ void Ifc4x3_tc1::IfcPerson::setAddresses(const std::optional< std::vector< ::Ifc std::vector<::Ifc4x3_tc1::IfcPersonAndOrganization> Ifc4x3_tc1::IfcPerson::EngagedIn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[736], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPerson::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[735]); } -void Ifc4x3_tc1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); } } +Ifc4x3_tc1::IfcPerson Ifc4x3_tc1::IfcPerson::initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v8_Addresses) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, cast_vector(*v7_Roles)); } if (v8_Addresses) {set_attribute_value(7, cast_vector(*v8_Addresses)); }; return *this; } // Function implementations for IfcPersonAndOrganization ::Ifc4x3_tc1::IfcPerson Ifc4x3_tc1::IfcPersonAndOrganization::ThePerson() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPerson>(); } @@ -12458,7 +12458,7 @@ void Ifc4x3_tc1::IfcPersonAndOrganization::setRoles(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_tc1::IfcPersonAndOrganization::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[736]); } -void Ifc4x3_tc1::IfcPersonAndOrganization::initialize(::Ifc4x3_tc1::IfcPerson v1_ThePerson, ::Ifc4x3_tc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); } } +Ifc4x3_tc1::IfcPersonAndOrganization Ifc4x3_tc1::IfcPersonAndOrganization::initialize(::Ifc4x3_tc1::IfcPerson v1_ThePerson, ::Ifc4x3_tc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v3_Roles) { set_attribute_value(0, (v1_ThePerson));set_attribute_value(1, (v2_TheOrganization)); if (v3_Roles) {set_attribute_value(2, cast_vector(*v3_Roles)); }; return *this; } // Function implementations for IfcPhysicalComplexQuantity std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > Ifc4x3_tc1::IfcPhysicalComplexQuantity::HasQuantities() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcPhysicalQuantity>(es); } @@ -12472,7 +12472,7 @@ void Ifc4x3_tc1::IfcPhysicalComplexQuantity::setUsage(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcPhysicalComplexQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[738]); } -void Ifc4x3_tc1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); } } +Ifc4x3_tc1::IfcPhysicalComplexQuantity Ifc4x3_tc1::IfcPhysicalComplexQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_HasQuantities));set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; return *this; } // Function implementations for IfcPhysicalQuantity std::string Ifc4x3_tc1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12484,7 +12484,7 @@ std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcPhysi std::vector<::Ifc4x3_tc1::IfcPhysicalComplexQuantity> Ifc4x3_tc1::IfcPhysicalQuantity::PartOfComplex() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[738], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPhysicalQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[740]); } -void Ifc4x3_tc1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_tc1::IfcPhysicalQuantity Ifc4x3_tc1::IfcPhysicalQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcPhysicalSimpleQuantity ::Ifc4x3_tc1::IfcNamedUnit Ifc4x3_tc1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_tc1::IfcNamedUnit{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcNamedUnit>(); } @@ -12492,7 +12492,7 @@ void Ifc4x3_tc1::IfcPhysicalSimpleQuantity::setUnit(const ::Ifc4x3_tc1::IfcNamed const ifcopenshell::entity& Ifc4x3_tc1::IfcPhysicalSimpleQuantity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[741]); } -void Ifc4x3_tc1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit)); } +Ifc4x3_tc1::IfcPhysicalSimpleQuantity Ifc4x3_tc1::IfcPhysicalSimpleQuantity::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPile std::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > Ifc4x3_tc1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } @@ -12502,7 +12502,7 @@ void Ifc4x3_tc1::IfcPile::setConstructionType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcPile::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[742]); } -void Ifc4x3_tc1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); } } +Ifc4x3_tc1::IfcPile Ifc4x3_tc1::IfcPile::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v10_ConstructionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; return *this; } // Function implementations for IfcPileType ::Ifc4x3_tc1::IfcPileTypeEnum::Value Ifc4x3_tc1::IfcPileType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } @@ -12510,7 +12510,7 @@ void Ifc4x3_tc1::IfcPileType::setPredefinedType(const ::Ifc4x3_tc1::IfcPileTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcPileType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[744]); } -void Ifc4x3_tc1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcPileType Ifc4x3_tc1::IfcPileType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPileTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeFitting std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_tc1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } @@ -12518,7 +12518,7 @@ void Ifc4x3_tc1::IfcPipeFitting::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcPipeFitting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[746]); } -void Ifc4x3_tc1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcPipeFitting Ifc4x3_tc1::IfcPipeFitting::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeFittingType ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value Ifc4x3_tc1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } @@ -12526,7 +12526,7 @@ void Ifc4x3_tc1::IfcPipeFittingType::setPredefinedType(const ::Ifc4x3_tc1::IfcPi const ifcopenshell::entity& Ifc4x3_tc1::IfcPipeFittingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[747]); } -void Ifc4x3_tc1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcPipeFittingType Ifc4x3_tc1::IfcPipeFittingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPipeSegment std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_tc1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } @@ -12534,7 +12534,7 @@ void Ifc4x3_tc1::IfcPipeSegment::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcPipeSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[749]); } -void Ifc4x3_tc1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcPipeSegment Ifc4x3_tc1::IfcPipeSegment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPipeSegmentType ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_tc1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } @@ -12542,7 +12542,7 @@ void Ifc4x3_tc1::IfcPipeSegmentType::setPredefinedType(const ::Ifc4x3_tc1::IfcPi const ifcopenshell::entity& Ifc4x3_tc1::IfcPipeSegmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[750]); } -void Ifc4x3_tc1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcPipeSegmentType Ifc4x3_tc1::IfcPipeSegmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPixelTexture int Ifc4x3_tc1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } @@ -12556,7 +12556,7 @@ void Ifc4x3_tc1::IfcPixelTexture::setPixel(const std::vector< boost::dynamic_bit const ifcopenshell::entity& Ifc4x3_tc1::IfcPixelTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[752]); } -void Ifc4x3_tc1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel)); } +Ifc4x3_tc1::IfcPixelTexture Ifc4x3_tc1::IfcPixelTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; return *this; } // Function implementations for IfcPlacement ::Ifc4x3_tc1::IfcPoint Ifc4x3_tc1::IfcPlacement::Location() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPoint>(); } @@ -12564,7 +12564,7 @@ void Ifc4x3_tc1::IfcPlacement::setLocation(const ::Ifc4x3_tc1::IfcPoint& v) { se const ifcopenshell::entity& Ifc4x3_tc1::IfcPlacement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[753]); } -void Ifc4x3_tc1::IfcPlacement::initialize(::Ifc4x3_tc1::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location)); } +Ifc4x3_tc1::IfcPlacement Ifc4x3_tc1::IfcPlacement::initialize(::Ifc4x3_tc1::IfcPoint v1_Location) { set_attribute_value(0, (v1_Location));; return *this; } // Function implementations for IfcPlanarBox ::Ifc4x3_tc1::IfcAxis2Placement Ifc4x3_tc1::IfcPlanarBox::Placement() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcAxis2Placement>(); } @@ -12572,7 +12572,7 @@ void Ifc4x3_tc1::IfcPlanarBox::setPlacement(const ::Ifc4x3_tc1::IfcAxis2Placemen const ifcopenshell::entity& Ifc4x3_tc1::IfcPlanarBox::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[754]); } -void Ifc4x3_tc1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_tc1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement)); } +Ifc4x3_tc1::IfcPlanarBox Ifc4x3_tc1::IfcPlanarBox::initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_tc1::IfcAxis2Placement v3_Placement) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, (v3_Placement));; return *this; } // Function implementations for IfcPlanarExtent double Ifc4x3_tc1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } @@ -12582,13 +12582,13 @@ void Ifc4x3_tc1::IfcPlanarExtent::setSizeInY(const double& v) { set_attribute_va const ifcopenshell::entity& Ifc4x3_tc1::IfcPlanarExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[755]); } -void Ifc4x3_tc1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY)); } +Ifc4x3_tc1::IfcPlanarExtent Ifc4x3_tc1::IfcPlanarExtent::initialize(double v1_SizeInX, double v2_SizeInY) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; return *this; } // Function implementations for IfcPlane const ifcopenshell::entity& Ifc4x3_tc1::IfcPlane::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[757]); } -void Ifc4x3_tc1::IfcPlane::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_tc1::IfcPlane Ifc4x3_tc1::IfcPlane::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcPlate std::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > Ifc4x3_tc1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } @@ -12596,7 +12596,7 @@ void Ifc4x3_tc1::IfcPlate::setPredefinedType(const std::optional< ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcPlate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[759]); } -void Ifc4x3_tc1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcPlate Ifc4x3_tc1::IfcPlate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPlateType ::Ifc4x3_tc1::IfcPlateTypeEnum::Value Ifc4x3_tc1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } @@ -12604,13 +12604,13 @@ void Ifc4x3_tc1::IfcPlateType::setPredefinedType(const ::Ifc4x3_tc1::IfcPlateTyp const ifcopenshell::entity& Ifc4x3_tc1::IfcPlateType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[760]); } -void Ifc4x3_tc1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcPlateType Ifc4x3_tc1::IfcPlateType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPlateTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPoint const ifcopenshell::entity& Ifc4x3_tc1::IfcPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[762]); } -void Ifc4x3_tc1::IfcPoint::initialize() { } +Ifc4x3_tc1::IfcPoint Ifc4x3_tc1::IfcPoint::initialize() { ; return *this; } // Function implementations for IfcPointByDistanceExpression ::Ifc4x3_tc1::IfcCurveMeasureSelect Ifc4x3_tc1::IfcPointByDistanceExpression::DistanceAlong() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(); } @@ -12626,7 +12626,7 @@ void Ifc4x3_tc1::IfcPointByDistanceExpression::setBasisCurve(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcPointByDistanceExpression::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[763]); } -void Ifc4x3_tc1::IfcPointByDistanceExpression::initialize(::Ifc4x3_tc1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_tc1::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve)); } +Ifc4x3_tc1::IfcPointByDistanceExpression Ifc4x3_tc1::IfcPointByDistanceExpression::initialize(::Ifc4x3_tc1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_tc1::IfcCurve v5_BasisCurve) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, (v5_BasisCurve));; return *this; } // Function implementations for IfcPointOnCurve ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcPointOnCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -12636,7 +12636,7 @@ void Ifc4x3_tc1::IfcPointOnCurve::setPointParameter(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_tc1::IfcPointOnCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[764]); } -void Ifc4x3_tc1::IfcPointOnCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter)); } +Ifc4x3_tc1::IfcPointOnCurve Ifc4x3_tc1::IfcPointOnCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_PointParameter) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, (v2_PointParameter));; return *this; } // Function implementations for IfcPointOnSurface ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcPointOnSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -12648,7 +12648,7 @@ void Ifc4x3_tc1::IfcPointOnSurface::setPointParameterV(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcPointOnSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[765]); } -void Ifc4x3_tc1::IfcPointOnSurface::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV)); } +Ifc4x3_tc1::IfcPointOnSurface Ifc4x3_tc1::IfcPointOnSurface::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; return *this; } // Function implementations for IfcPolyLoop std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > Ifc4x3_tc1::IfcPolyLoop::Polygon() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcCartesianPoint>(es); } @@ -12656,7 +12656,7 @@ void Ifc4x3_tc1::IfcPolyLoop::setPolygon(const std::vector< ::Ifc4x3_tc1::IfcCar const ifcopenshell::entity& Ifc4x3_tc1::IfcPolyLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[770]); } -void Ifc4x3_tc1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon)); } +Ifc4x3_tc1::IfcPolyLoop Ifc4x3_tc1::IfcPolyLoop::initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Polygon) { set_attribute_value(0, cast_vector(v1_Polygon));; return *this; } // Function implementations for IfcPolygonalBoundedHalfSpace ::Ifc4x3_tc1::IfcAxis2Placement3D Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcAxis2Placement3D>(); } @@ -12666,7 +12666,7 @@ void Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[767]); } -void Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_tc1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary)); } +Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_tc1::IfcBoundedCurve v4_PolygonalBoundary) { set_attribute_value(0, (v1_BaseSurface));set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_PolygonalBoundary));; return *this; } // Function implementations for IfcPolygonalFaceSet std::optional< bool > Ifc4x3_tc1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } bool v = get_attribute_value(1); return v; } @@ -12678,7 +12678,7 @@ void Ifc4x3_tc1::IfcPolygonalFaceSet::setPnIndex(const std::optional< std::vecto const ifcopenshell::entity& Ifc4x3_tc1::IfcPolygonalFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[768]); } -void Ifc4x3_tc1::IfcPolygonalFaceSet::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_tc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); } } +Ifc4x3_tc1::IfcPolygonalFaceSet Ifc4x3_tc1::IfcPolygonalFaceSet::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_tc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, cast_vector(v3_Faces)); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; return *this; } // Function implementations for IfcPolyline std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > Ifc4x3_tc1::IfcPolyline::Points() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcCartesianPoint>(es); } @@ -12686,7 +12686,7 @@ void Ifc4x3_tc1::IfcPolyline::setPoints(const std::vector< ::Ifc4x3_tc1::IfcCart const ifcopenshell::entity& Ifc4x3_tc1::IfcPolyline::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[769]); } -void Ifc4x3_tc1::IfcPolyline::initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points)); } +Ifc4x3_tc1::IfcPolyline Ifc4x3_tc1::IfcPolyline::initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Points) { set_attribute_value(0, cast_vector(v1_Points));; return *this; } // Function implementations for IfcPolynomialCurve ::Ifc4x3_tc1::IfcPlacement Ifc4x3_tc1::IfcPolynomialCurve::Position() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPlacement>(); } @@ -12700,7 +12700,7 @@ void Ifc4x3_tc1::IfcPolynomialCurve::setCoefficientsZ(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcPolynomialCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[771]); } -void Ifc4x3_tc1::IfcPolynomialCurve::initialize(::Ifc4x3_tc1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); } } +Ifc4x3_tc1::IfcPolynomialCurve Ifc4x3_tc1::IfcPolynomialCurve::initialize(::Ifc4x3_tc1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ) { set_attribute_value(0, (v1_Position)); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; return *this; } // Function implementations for IfcPort @@ -12709,7 +12709,7 @@ std::vector<::Ifc4x3_tc1::IfcRelConnectsPorts> Ifc4x3_tc1::IfcPort::ConnectedFro std::vector<::Ifc4x3_tc1::IfcRelConnectsPorts> Ifc4x3_tc1::IfcPort::ConnectedTo() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[918], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPort::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[772]); } -void Ifc4x3_tc1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcPort Ifc4x3_tc1::IfcPort::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPositioningElement @@ -12717,7 +12717,7 @@ std::vector<::Ifc4x3_tc1::IfcRelContainedInSpatialStructure> Ifc4x3_tc1::IfcPosi std::vector<::Ifc4x3_tc1::IfcRelPositions> Ifc4x3_tc1::IfcPositioningElement::Positions() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[938], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPositioningElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[773]); } -void Ifc4x3_tc1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcPositioningElement Ifc4x3_tc1::IfcPositioningElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcPostalAddress std::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -12737,19 +12737,19 @@ void Ifc4x3_tc1::IfcPostalAddress::setCountry(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_tc1::IfcPostalAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[778]); } -void Ifc4x3_tc1::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); } } +Ifc4x3_tc1::IfcPostalAddress Ifc4x3_tc1::IfcPostalAddress::initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; return *this; } // Function implementations for IfcPreDefinedColour const ifcopenshell::entity& Ifc4x3_tc1::IfcPreDefinedColour::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[780]); } -void Ifc4x3_tc1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_tc1::IfcPreDefinedColour Ifc4x3_tc1::IfcPreDefinedColour::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedCurveFont const ifcopenshell::entity& Ifc4x3_tc1::IfcPreDefinedCurveFont::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[781]); } -void Ifc4x3_tc1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_tc1::IfcPreDefinedCurveFont Ifc4x3_tc1::IfcPreDefinedCurveFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedItem std::string Ifc4x3_tc1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12757,31 +12757,31 @@ void Ifc4x3_tc1::IfcPreDefinedItem::setName(const std::string& v) { set_attribut const ifcopenshell::entity& Ifc4x3_tc1::IfcPreDefinedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[782]); } -void Ifc4x3_tc1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_tc1::IfcPreDefinedItem Ifc4x3_tc1::IfcPreDefinedItem::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPreDefinedProperties const ifcopenshell::entity& Ifc4x3_tc1::IfcPreDefinedProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[783]); } -void Ifc4x3_tc1::IfcPreDefinedProperties::initialize() { } +Ifc4x3_tc1::IfcPreDefinedProperties Ifc4x3_tc1::IfcPreDefinedProperties::initialize() { ; return *this; } // Function implementations for IfcPreDefinedPropertySet const ifcopenshell::entity& Ifc4x3_tc1::IfcPreDefinedPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[784]); } -void Ifc4x3_tc1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcPreDefinedPropertySet Ifc4x3_tc1::IfcPreDefinedPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPreDefinedTextFont const ifcopenshell::entity& Ifc4x3_tc1::IfcPreDefinedTextFont::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[785]); } -void Ifc4x3_tc1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name)); } +Ifc4x3_tc1::IfcPreDefinedTextFont Ifc4x3_tc1::IfcPreDefinedTextFont::initialize(std::string v1_Name) { set_attribute_value(0, (v1_Name));; return *this; } // Function implementations for IfcPresentationItem const ifcopenshell::entity& Ifc4x3_tc1::IfcPresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[788]); } -void Ifc4x3_tc1::IfcPresentationItem::initialize() { } +Ifc4x3_tc1::IfcPresentationItem Ifc4x3_tc1::IfcPresentationItem::initialize() { ; return *this; } // Function implementations for IfcPresentationLayerAssignment std::string Ifc4x3_tc1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12795,7 +12795,7 @@ void Ifc4x3_tc1::IfcPresentationLayerAssignment::setIdentifier(const std::option const ifcopenshell::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[789]); } -void Ifc4x3_tc1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); } } +Ifc4x3_tc1::IfcPresentationLayerAssignment Ifc4x3_tc1::IfcPresentationLayerAssignment::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; return *this; } // Function implementations for IfcPresentationLayerWithStyle boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } @@ -12809,7 +12809,7 @@ void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerStyles(const std::vector const ifcopenshell::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[790]); } -void Ifc4x3_tc1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles)); } +Ifc4x3_tc1::IfcPresentationLayerWithStyle Ifc4x3_tc1::IfcPresentationLayerWithStyle::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v8_LayerStyles) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_AssignedItems)); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, cast_vector(v8_LayerStyles));; return *this; } // Function implementations for IfcPresentationStyle std::optional< std::string > Ifc4x3_tc1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12817,7 +12817,7 @@ void Ifc4x3_tc1::IfcPresentationStyle::setName(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcPresentationStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[791]); } -void Ifc4x3_tc1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcPresentationStyle Ifc4x3_tc1::IfcPresentationStyle::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcProcedure std::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > Ifc4x3_tc1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } @@ -12825,7 +12825,7 @@ void Ifc4x3_tc1::IfcProcedure::setPredefinedType(const std::optional< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcProcedure::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[793]); } -void Ifc4x3_tc1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_tc1::IfcProcedure Ifc4x3_tc1::IfcProcedure::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcProcedureType ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value Ifc4x3_tc1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } @@ -12833,7 +12833,7 @@ void Ifc4x3_tc1::IfcProcedureType::setPredefinedType(const ::Ifc4x3_tc1::IfcProc const ifcopenshell::entity& Ifc4x3_tc1::IfcProcedureType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[794]); } -void Ifc4x3_tc1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcProcedureType Ifc4x3_tc1::IfcProcedureType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProcess std::optional< std::string > Ifc4x3_tc1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -12846,7 +12846,7 @@ std::vector<::Ifc4x3_tc1::IfcRelSequence> Ifc4x3_tc1::IfcProcess::IsSuccessorFro std::vector<::Ifc4x3_tc1::IfcRelAssignsToProcess> Ifc4x3_tc1::IfcProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[903], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[796]); } -void Ifc4x3_tc1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_tc1::IfcProcess Ifc4x3_tc1::IfcProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcProduct ::Ifc4x3_tc1::IfcObjectPlacement Ifc4x3_tc1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return ::Ifc4x3_tc1::IfcObjectPlacement{}; } return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcObjectPlacement>(); } @@ -12859,7 +12859,7 @@ std::vector<::Ifc4x3_tc1::IfcRelPositions> Ifc4x3_tc1::IfcProduct::PositionedRel std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcProduct::ReferencedInStructures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[798]); } -void Ifc4x3_tc1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcProduct Ifc4x3_tc1::IfcProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcProductDefinitionShape @@ -12867,7 +12867,7 @@ std::vector<::Ifc4x3_tc1::IfcProduct> Ifc4x3_tc1::IfcProductDefinitionShape::Sha std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcProductDefinitionShape::HasShapeAspects() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1003], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcProductDefinitionShape::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[799]); } -void Ifc4x3_tc1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_tc1::IfcProductDefinitionShape Ifc4x3_tc1::IfcProductDefinitionShape::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProductRepresentation std::optional< std::string > Ifc4x3_tc1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -12879,7 +12879,7 @@ void Ifc4x3_tc1::IfcProductRepresentation::setRepresentations(const std::vector< const ifcopenshell::entity& Ifc4x3_tc1::IfcProductRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[800]); } -void Ifc4x3_tc1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations)); } +Ifc4x3_tc1::IfcProductRepresentation Ifc4x3_tc1::IfcProductRepresentation::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Representations));; return *this; } // Function implementations for IfcProfileDef ::Ifc4x3_tc1::IfcProfileTypeEnum::Value Ifc4x3_tc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_tc1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } @@ -12891,7 +12891,7 @@ std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcProfi std::vector<::Ifc4x3_tc1::IfcProfileProperties> Ifc4x3_tc1::IfcProfileDef::HasProperties() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[804], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[803]); } -void Ifc4x3_tc1::IfcProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); } } +Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; return *this; } // Function implementations for IfcProfileProperties ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcProfileProperties::ProfileDefinition() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -12899,19 +12899,19 @@ void Ifc4x3_tc1::IfcProfileProperties::setProfileDefinition(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcProfileProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[804]); } -void Ifc4x3_tc1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition)); } +Ifc4x3_tc1::IfcProfileProperties Ifc4x3_tc1::IfcProfileProperties::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcProfileDef v4_ProfileDefinition) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_Properties));set_attribute_value(3, (v4_ProfileDefinition));; return *this; } // Function implementations for IfcProject const ifcopenshell::entity& Ifc4x3_tc1::IfcProject::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[806]); } -void Ifc4x3_tc1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_tc1::IfcProject Ifc4x3_tc1::IfcProject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectLibrary const ifcopenshell::entity& Ifc4x3_tc1::IfcProjectLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[811]); } -void Ifc4x3_tc1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext)); } +Ifc4x3_tc1::IfcProjectLibrary Ifc4x3_tc1::IfcProjectLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, cast_vector(*v8_RepresentationContexts)); }set_attribute_value(8, (v9_UnitsInContext));; return *this; } // Function implementations for IfcProjectOrder std::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_tc1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } @@ -12923,7 +12923,7 @@ void Ifc4x3_tc1::IfcProjectOrder::setLongDescription(const std::optional< std::s const ifcopenshell::entity& Ifc4x3_tc1::IfcProjectOrder::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[812]); } -void Ifc4x3_tc1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); } } +Ifc4x3_tc1::IfcProjectOrder Ifc4x3_tc1::IfcProjectOrder::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; return *this; } // Function implementations for IfcProjectedCRS std::optional< std::string > Ifc4x3_tc1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -12935,7 +12935,7 @@ void Ifc4x3_tc1::IfcProjectedCRS::setMapUnit(const ::Ifc4x3_tc1::IfcNamedUnit& v const ifcopenshell::entity& Ifc4x3_tc1::IfcProjectedCRS::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[807]); } -void Ifc4x3_tc1::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_tc1::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit)); } +Ifc4x3_tc1::IfcProjectedCRS Ifc4x3_tc1::IfcProjectedCRS::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_tc1::IfcNamedUnit v7_MapUnit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, (v7_MapUnit));; return *this; } // Function implementations for IfcProjectionElement std::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_tc1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } @@ -12943,7 +12943,7 @@ void Ifc4x3_tc1::IfcProjectionElement::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcProjectionElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[809]); } -void Ifc4x3_tc1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcProjectionElement Ifc4x3_tc1::IfcProjectionElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProperty std::string Ifc4x3_tc1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } @@ -12959,14 +12959,14 @@ std::vector<::Ifc4x3_tc1::IfcResourceConstraintRelationship> Ifc4x3_tc1::IfcProp std::vector<::Ifc4x3_tc1::IfcResourceApprovalRelationship> Ifc4x3_tc1::IfcProperty::HasApprovals() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[953], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[814]); } -void Ifc4x3_tc1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3_tc1::IfcProperty Ifc4x3_tc1::IfcProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcPropertyAbstraction std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcPropertyAbstraction::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyAbstraction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[815]); } -void Ifc4x3_tc1::IfcPropertyAbstraction::initialize() { } +Ifc4x3_tc1::IfcPropertyAbstraction Ifc4x3_tc1::IfcPropertyAbstraction::initialize() { ; return *this; } // Function implementations for IfcPropertyBoundedValue ::Ifc4x3_tc1::IfcValue Ifc4x3_tc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_tc1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcValue>(); } @@ -12980,7 +12980,7 @@ void Ifc4x3_tc1::IfcPropertyBoundedValue::setSetPointValue(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyBoundedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[816]); } -void Ifc4x3_tc1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_tc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_tc1::IfcUnit v5_Unit, ::Ifc4x3_tc1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue)); } +Ifc4x3_tc1::IfcPropertyBoundedValue Ifc4x3_tc1::IfcPropertyBoundedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_tc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_tc1::IfcUnit v5_Unit, ::Ifc4x3_tc1::IfcValue v6_SetPointValue) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UpperBoundValue));set_attribute_value(3, (v4_LowerBoundValue));set_attribute_value(4, (v5_Unit));set_attribute_value(5, (v6_SetPointValue));; return *this; } // Function implementations for IfcPropertyDefinition @@ -12988,7 +12988,7 @@ std::vector<::Ifc4x3_tc1::IfcRelDeclares> Ifc4x3_tc1::IfcPropertyDefinition::Has std::vector<::Ifc4x3_tc1::IfcRelAssociates> Ifc4x3_tc1::IfcPropertyDefinition::HasAssociations() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[906], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[817]); } -void Ifc4x3_tc1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcPropertyDefinition Ifc4x3_tc1::IfcPropertyDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyDependencyRelationship ::Ifc4x3_tc1::IfcProperty Ifc4x3_tc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcProperty>(); } @@ -13000,7 +13000,7 @@ void Ifc4x3_tc1::IfcPropertyDependencyRelationship::setExpression(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyDependencyRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[818]); } -void Ifc4x3_tc1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); } } +Ifc4x3_tc1::IfcPropertyDependencyRelationship Ifc4x3_tc1::IfcPropertyDependencyRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DependingProperty));set_attribute_value(3, (v4_DependantProperty)); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; return *this; } // Function implementations for IfcPropertyEnumeratedValue std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcValue>(es); } @@ -13010,7 +13010,7 @@ void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationReference(const ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[819]); } -void Ifc4x3_tc1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference)); } +Ifc4x3_tc1::IfcPropertyEnumeratedValue Ifc4x3_tc1::IfcPropertyEnumeratedValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration v4_EnumerationReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, cast_vector(*v3_EnumerationValues)); }set_attribute_value(3, (v4_EnumerationReference));; return *this; } // Function implementations for IfcPropertyEnumeration std::string Ifc4x3_tc1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } @@ -13022,7 +13022,7 @@ void Ifc4x3_tc1::IfcPropertyEnumeration::setUnit(const ::Ifc4x3_tc1::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyEnumeration::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[820]); } -void Ifc4x3_tc1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_tc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit)); } +Ifc4x3_tc1::IfcPropertyEnumeration Ifc4x3_tc1::IfcPropertyEnumeration::initialize(std::string v1_Name, std::vector< ::Ifc4x3_tc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit v3_Unit) { set_attribute_value(0, (v1_Name));set_attribute_value(1, cast_vector(v2_EnumerationValues));set_attribute_value(2, (v3_Unit));; return *this; } // Function implementations for IfcPropertyListValue std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcValue>(es); } @@ -13032,7 +13032,7 @@ void Ifc4x3_tc1::IfcPropertyListValue::setUnit(const ::Ifc4x3_tc1::IfcUnit& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyListValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[821]); } -void Ifc4x3_tc1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_ListValues, ::Ifc4x3_tc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit)); } +Ifc4x3_tc1::IfcPropertyListValue Ifc4x3_tc1::IfcPropertyListValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_ListValues, ::Ifc4x3_tc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, cast_vector(*v3_ListValues)); }set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyReferenceValue std::optional< std::string > Ifc4x3_tc1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::string v = get_attribute_value(2); return v; } @@ -13042,7 +13042,7 @@ void Ifc4x3_tc1::IfcPropertyReferenceValue::setPropertyReference(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyReferenceValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[822]); } -void Ifc4x3_tc1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_tc1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference)); } +Ifc4x3_tc1::IfcPropertyReferenceValue Ifc4x3_tc1::IfcPropertyReferenceValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_tc1::IfcObjectReferenceSelect v4_PropertyReference) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, (v4_PropertyReference));; return *this; } // Function implementations for IfcPropertySet std::vector< ::Ifc4x3_tc1::IfcProperty > Ifc4x3_tc1::IfcPropertySet::HasProperties() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcProperty>(es); } @@ -13050,7 +13050,7 @@ void Ifc4x3_tc1::IfcPropertySet::setHasProperties(const std::vector< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertySet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[823]); } -void Ifc4x3_tc1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties)); } +Ifc4x3_tc1::IfcPropertySet Ifc4x3_tc1::IfcPropertySet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v5_HasProperties) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_HasProperties));; return *this; } // Function implementations for IfcPropertySetDefinition @@ -13059,7 +13059,7 @@ std::vector<::Ifc4x3_tc1::IfcRelDefinesByTemplate> Ifc4x3_tc1::IfcPropertySetDef std::vector<::Ifc4x3_tc1::IfcRelDefinesByProperties> Ifc4x3_tc1::IfcPropertySetDefinition::DefinesOccurrence() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[931], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertySetDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[824]); } -void Ifc4x3_tc1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcPropertySetDefinition Ifc4x3_tc1::IfcPropertySetDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertySetTemplate std::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_tc1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -13072,7 +13072,7 @@ void Ifc4x3_tc1::IfcPropertySetTemplate::setHasPropertyTemplates(const std::vect std::vector<::Ifc4x3_tc1::IfcRelDefinesByTemplate> Ifc4x3_tc1::IfcPropertySetTemplate::Defines() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[932], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertySetTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[827]); } -void Ifc4x3_tc1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates)); } +Ifc4x3_tc1::IfcPropertySetTemplate Ifc4x3_tc1::IfcPropertySetTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > v7_HasPropertyTemplates) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, cast_vector(v7_HasPropertyTemplates));; return *this; } // Function implementations for IfcPropertySingleValue ::Ifc4x3_tc1::IfcValue Ifc4x3_tc1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_tc1::IfcValue{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcValue>(); } @@ -13082,7 +13082,7 @@ void Ifc4x3_tc1::IfcPropertySingleValue::setUnit(const ::Ifc4x3_tc1::IfcUnit& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertySingleValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[829]); } -void Ifc4x3_tc1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_NominalValue, ::Ifc4x3_tc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit)); } +Ifc4x3_tc1::IfcPropertySingleValue Ifc4x3_tc1::IfcPropertySingleValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_NominalValue, ::Ifc4x3_tc1::IfcUnit v4_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_NominalValue));set_attribute_value(3, (v4_Unit));; return *this; } // Function implementations for IfcPropertyTableValue std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcValue>(es); } @@ -13100,7 +13100,7 @@ void Ifc4x3_tc1::IfcPropertyTableValue::setCurveInterpolation(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyTableValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[830]); } -void Ifc4x3_tc1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); } } +Ifc4x3_tc1::IfcPropertyTableValue Ifc4x3_tc1::IfcPropertyTableValue::initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, cast_vector(*v3_DefiningValues)); } if (v4_DefinedValues) {set_attribute_value(3, cast_vector(*v4_DefinedValues)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, (v6_DefiningUnit));set_attribute_value(6, (v7_DefinedUnit)); if (v8_CurveInterpolation) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; return *this; } // Function implementations for IfcPropertyTemplate @@ -13108,13 +13108,13 @@ std::vector<::Ifc4x3_tc1::IfcComplexPropertyTemplate> Ifc4x3_tc1::IfcPropertyTem std::vector<::Ifc4x3_tc1::IfcPropertySetTemplate> Ifc4x3_tc1::IfcPropertyTemplate::PartOfPsetTemplate() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[827], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[831]); } -void Ifc4x3_tc1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcPropertyTemplate Ifc4x3_tc1::IfcPropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcPropertyTemplateDefinition const ifcopenshell::entity& Ifc4x3_tc1::IfcPropertyTemplateDefinition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[832]); } -void Ifc4x3_tc1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcPropertyTemplateDefinition Ifc4x3_tc1::IfcPropertyTemplateDefinition::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcProtectiveDevice std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_tc1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -13122,7 +13122,7 @@ void Ifc4x3_tc1::IfcProtectiveDevice::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcProtectiveDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[833]); } -void Ifc4x3_tc1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcProtectiveDevice Ifc4x3_tc1::IfcProtectiveDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnit std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } @@ -13130,7 +13130,7 @@ void Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[834]); } -void Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcProtectiveDeviceTrippingUnitType ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } @@ -13138,7 +13138,7 @@ void Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(const :: const ifcopenshell::entity& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[835]); } -void Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcProtectiveDeviceType ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -13146,7 +13146,7 @@ void Ifc4x3_tc1::IfcProtectiveDeviceType::setPredefinedType(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcProtectiveDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[837]); } -void Ifc4x3_tc1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcProtectiveDeviceType Ifc4x3_tc1::IfcProtectiveDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcPump std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > Ifc4x3_tc1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } @@ -13154,7 +13154,7 @@ void Ifc4x3_tc1::IfcPump::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcPump::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[839]); } -void Ifc4x3_tc1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcPump Ifc4x3_tc1::IfcPump::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcPumpType ::Ifc4x3_tc1::IfcPumpTypeEnum::Value Ifc4x3_tc1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } @@ -13162,7 +13162,7 @@ void Ifc4x3_tc1::IfcPumpType::setPredefinedType(const ::Ifc4x3_tc1::IfcPumpTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcPumpType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[840]); } -void Ifc4x3_tc1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcPumpType Ifc4x3_tc1::IfcPumpType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPumpTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcQuantityArea double Ifc4x3_tc1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } @@ -13172,7 +13172,7 @@ void Ifc4x3_tc1::IfcQuantityArea::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityArea::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[842]); } -void Ifc4x3_tc1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityArea Ifc4x3_tc1::IfcQuantityArea::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityCount int Ifc4x3_tc1::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } @@ -13182,7 +13182,7 @@ void Ifc4x3_tc1::IfcQuantityCount::setFormula(const std::optional< std::string > const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityCount::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[843]); } -void Ifc4x3_tc1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityCount Ifc4x3_tc1::IfcQuantityCount::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityLength double Ifc4x3_tc1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } @@ -13192,7 +13192,7 @@ void Ifc4x3_tc1::IfcQuantityLength::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityLength::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[844]); } -void Ifc4x3_tc1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityLength Ifc4x3_tc1::IfcQuantityLength::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityNumber double Ifc4x3_tc1::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } @@ -13202,13 +13202,13 @@ void Ifc4x3_tc1::IfcQuantityNumber::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityNumber::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[845]); } -void Ifc4x3_tc1::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityNumber Ifc4x3_tc1::IfcQuantityNumber::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantitySet const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantitySet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[846]); } -void Ifc4x3_tc1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcQuantitySet Ifc4x3_tc1::IfcQuantitySet::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcQuantityTime double Ifc4x3_tc1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } @@ -13218,7 +13218,7 @@ void Ifc4x3_tc1::IfcQuantityTime::setFormula(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[847]); } -void Ifc4x3_tc1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityTime Ifc4x3_tc1::IfcQuantityTime::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityVolume double Ifc4x3_tc1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } @@ -13228,7 +13228,7 @@ void Ifc4x3_tc1::IfcQuantityVolume::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityVolume::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[848]); } -void Ifc4x3_tc1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityVolume Ifc4x3_tc1::IfcQuantityVolume::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcQuantityWeight double Ifc4x3_tc1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } @@ -13238,7 +13238,7 @@ void Ifc4x3_tc1::IfcQuantityWeight::setFormula(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcQuantityWeight::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[849]); } -void Ifc4x3_tc1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); } } +Ifc4x3_tc1::IfcQuantityWeight Ifc4x3_tc1::IfcQuantityWeight::initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Unit));set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; return *this; } // Function implementations for IfcRail std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > Ifc4x3_tc1::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRailTypeEnum::FromString(get_attribute_value(8)); } @@ -13246,7 +13246,7 @@ void Ifc4x3_tc1::IfcRail::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcRail::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[851]); } -void Ifc4x3_tc1::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcRail Ifc4x3_tc1::IfcRail::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailType ::Ifc4x3_tc1::IfcRailTypeEnum::Value Ifc4x3_tc1::IfcRailType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRailTypeEnum::FromString(get_attribute_value(9)); } @@ -13254,7 +13254,7 @@ void Ifc4x3_tc1::IfcRailType::setPredefinedType(const ::Ifc4x3_tc1::IfcRailTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcRailType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[855]); } -void Ifc4x3_tc1::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcRailType Ifc4x3_tc1::IfcRailType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailing std::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > Ifc4x3_tc1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } @@ -13262,7 +13262,7 @@ void Ifc4x3_tc1::IfcRailing::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRailing::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[852]); } -void Ifc4x3_tc1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcRailing Ifc4x3_tc1::IfcRailing::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRailingType ::Ifc4x3_tc1::IfcRailingTypeEnum::Value Ifc4x3_tc1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } @@ -13270,7 +13270,7 @@ void Ifc4x3_tc1::IfcRailingType::setPredefinedType(const ::Ifc4x3_tc1::IfcRailin const ifcopenshell::entity& Ifc4x3_tc1::IfcRailingType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[853]); } -void Ifc4x3_tc1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcRailingType Ifc4x3_tc1::IfcRailingType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailingTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRailway std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > Ifc4x3_tc1::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } @@ -13278,7 +13278,7 @@ void Ifc4x3_tc1::IfcRailway::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRailway::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[857]); } -void Ifc4x3_tc1::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcRailway Ifc4x3_tc1::IfcRailway::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRailwayPart std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > Ifc4x3_tc1::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } @@ -13286,7 +13286,7 @@ void Ifc4x3_tc1::IfcRailwayPart::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcRailwayPart::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[858]); } -void Ifc4x3_tc1::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcRailwayPart Ifc4x3_tc1::IfcRailwayPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRamp std::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > Ifc4x3_tc1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } @@ -13294,7 +13294,7 @@ void Ifc4x3_tc1::IfcRamp::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcRamp::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[861]); } -void Ifc4x3_tc1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcRamp Ifc4x3_tc1::IfcRamp::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlight std::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > Ifc4x3_tc1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } @@ -13302,7 +13302,7 @@ void Ifc4x3_tc1::IfcRampFlight::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcRampFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[862]); } -void Ifc4x3_tc1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcRampFlight Ifc4x3_tc1::IfcRampFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRampFlightType ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value Ifc4x3_tc1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -13310,7 +13310,7 @@ void Ifc4x3_tc1::IfcRampFlightType::setPredefinedType(const ::Ifc4x3_tc1::IfcRam const ifcopenshell::entity& Ifc4x3_tc1::IfcRampFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[863]); } -void Ifc4x3_tc1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcRampFlightType Ifc4x3_tc1::IfcRampFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRampType ::Ifc4x3_tc1::IfcRampTypeEnum::Value Ifc4x3_tc1::IfcRampType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } @@ -13318,7 +13318,7 @@ void Ifc4x3_tc1::IfcRampType::setPredefinedType(const ::Ifc4x3_tc1::IfcRampTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcRampType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[865]); } -void Ifc4x3_tc1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcRampType Ifc4x3_tc1::IfcRampType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } @@ -13326,7 +13326,7 @@ void Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::setWeightsData(const std::vec const ifcopenshell::entity& Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[868]); } -void Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData)); } +Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, cast_vector(v2_ControlPointsList));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; return *this; } // Function implementations for IfcRationalBSplineSurfaceWithKnots std::vector< std::vector< double > > Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } @@ -13334,7 +13334,7 @@ void Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(const std::v const ifcopenshell::entity& Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[869]); } -void Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData)); } +Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, cast_vector(v3_ControlPointsList));set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; return *this; } // Function implementations for IfcRectangleHollowProfileDef double Ifc4x3_tc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } @@ -13346,7 +13346,7 @@ void Ifc4x3_tc1::IfcRectangleHollowProfileDef::setOuterFilletRadius(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcRectangleHollowProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[871]); } -void Ifc4x3_tc1::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); } } +Ifc4x3_tc1::IfcRectangleHollowProfileDef Ifc4x3_tc1::IfcRectangleHollowProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; return *this; } // Function implementations for IfcRectangleProfileDef double Ifc4x3_tc1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } @@ -13356,7 +13356,7 @@ void Ifc4x3_tc1::IfcRectangleProfileDef::setYDim(const double& v) { set_attribut const ifcopenshell::entity& Ifc4x3_tc1::IfcRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[872]); } -void Ifc4x3_tc1::IfcRectangleProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim)); } +Ifc4x3_tc1::IfcRectangleProfileDef Ifc4x3_tc1::IfcRectangleProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; return *this; } // Function implementations for IfcRectangularPyramid double Ifc4x3_tc1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } @@ -13368,7 +13368,7 @@ void Ifc4x3_tc1::IfcRectangularPyramid::setHeight(const double& v) { set_attribu const ifcopenshell::entity& Ifc4x3_tc1::IfcRectangularPyramid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[873]); } -void Ifc4x3_tc1::IfcRectangularPyramid::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height)); } +Ifc4x3_tc1::IfcRectangularPyramid Ifc4x3_tc1::IfcRectangularPyramid::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; return *this; } // Function implementations for IfcRectangularTrimmedSurface ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -13388,7 +13388,7 @@ void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setVsense(const bool& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcRectangularTrimmedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[874]); } -void Ifc4x3_tc1::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense)); } +Ifc4x3_tc1::IfcRectangularTrimmedSurface Ifc4x3_tc1::IfcRectangularTrimmedSurface::initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) { set_attribute_value(0, (v1_BasisSurface));set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; return *this; } // Function implementations for IfcRecurrencePattern ::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value Ifc4x3_tc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_tc1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } @@ -13410,7 +13410,7 @@ void Ifc4x3_tc1::IfcRecurrencePattern::setTimePeriods(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcRecurrencePattern::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[875]); } -void Ifc4x3_tc1::IfcRecurrencePattern::initialize(::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_tc1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); } } +Ifc4x3_tc1::IfcRecurrencePattern Ifc4x3_tc1::IfcRecurrencePattern::initialize(::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_tc1::IfcTimePeriod > > v8_TimePeriods) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, cast_vector(*v8_TimePeriods)); }; return *this; } // Function implementations for IfcReference std::optional< std::string > Ifc4x3_tc1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -13426,7 +13426,7 @@ void Ifc4x3_tc1::IfcReference::setInnerReference(const ::Ifc4x3_tc1::IfcReferenc const ifcopenshell::entity& Ifc4x3_tc1::IfcReference::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[877]); } -void Ifc4x3_tc1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_tc1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference)); } +Ifc4x3_tc1::IfcReference Ifc4x3_tc1::IfcReference::initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_tc1::IfcReference v5_InnerReference) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, (v5_InnerReference));; return *this; } // Function implementations for IfcReferent std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > Ifc4x3_tc1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } @@ -13434,7 +13434,7 @@ void Ifc4x3_tc1::IfcReferent::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcReferent::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[878]); } -void Ifc4x3_tc1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } } +Ifc4x3_tc1::IfcReferent Ifc4x3_tc1::IfcReferent::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v8_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_PredefinedType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; return *this; } // Function implementations for IfcRegularTimeSeries double Ifc4x3_tc1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } @@ -13444,7 +13444,7 @@ void Ifc4x3_tc1::IfcRegularTimeSeries::setValues(const std::vector< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRegularTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[881]); } -void Ifc4x3_tc1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_tc1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values)); } +Ifc4x3_tc1::IfcRegularTimeSeries Ifc4x3_tc1::IfcRegularTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_tc1::IfcTimeSeriesValue > v10_Values) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, cast_vector(v10_Values));; return *this; } // Function implementations for IfcReinforcedSoil std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_tc1::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } @@ -13452,7 +13452,7 @@ void Ifc4x3_tc1::IfcReinforcedSoil::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcedSoil::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[882]); } -void Ifc4x3_tc1::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcReinforcedSoil Ifc4x3_tc1::IfcReinforcedSoil::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcementBarProperties double Ifc4x3_tc1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } @@ -13470,7 +13470,7 @@ void Ifc4x3_tc1::IfcReinforcementBarProperties::setBarCount(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcementBarProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[884]); } -void Ifc4x3_tc1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); } } +Ifc4x3_tc1::IfcReinforcementBarProperties Ifc4x3_tc1::IfcReinforcementBarProperties::initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; return *this; } // Function implementations for IfcReinforcementDefinitionProperties std::optional< std::string > Ifc4x3_tc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -13480,7 +13480,7 @@ void Ifc4x3_tc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDe const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcementDefinitionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[885]); } -void Ifc4x3_tc1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_tc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions)); } +Ifc4x3_tc1::IfcReinforcementDefinitionProperties Ifc4x3_tc1::IfcReinforcementDefinitionProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_tc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, cast_vector(v6_ReinforcementSectionDefinitions));; return *this; } // Function implementations for IfcReinforcingBar std::optional< double > Ifc4x3_tc1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13496,7 +13496,7 @@ void Ifc4x3_tc1::IfcReinforcingBar::setBarSurface(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcingBar::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[886]); } -void Ifc4x3_tc1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } } +Ifc4x3_tc1::IfcReinforcingBar Ifc4x3_tc1::IfcReinforcingBar::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; return *this; } // Function implementations for IfcReinforcingBarType ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_tc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } @@ -13516,7 +13516,7 @@ void Ifc4x3_tc1::IfcReinforcingBarType::setBendingParameters(const std::optional const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcingBarType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[889]); } -void Ifc4x3_tc1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); } } +Ifc4x3_tc1::IfcReinforcingBarType Ifc4x3_tc1::IfcReinforcingBarType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v16_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, cast_vector(*v16_BendingParameters)); }; return *this; } // Function implementations for IfcReinforcingElement std::optional< std::string > Ifc4x3_tc1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -13524,13 +13524,13 @@ void Ifc4x3_tc1::IfcReinforcingElement::setSteelGrade(const std::optional< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcingElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[891]); } -void Ifc4x3_tc1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } } +Ifc4x3_tc1::IfcReinforcingElement Ifc4x3_tc1::IfcReinforcingElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; return *this; } // Function implementations for IfcReinforcingElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcingElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[892]); } -void Ifc4x3_tc1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcReinforcingElementType Ifc4x3_tc1::IfcReinforcingElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcReinforcingMesh std::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } double v = get_attribute_value(9); return v; } @@ -13554,7 +13554,7 @@ void Ifc4x3_tc1::IfcReinforcingMesh::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcingMesh::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[893]); } -void Ifc4x3_tc1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); } } +Ifc4x3_tc1::IfcReinforcingMesh Ifc4x3_tc1::IfcReinforcingMesh::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; return *this; } // Function implementations for IfcReinforcingMeshType ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_tc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } @@ -13582,7 +13582,7 @@ void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingParameters(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcReinforcingMeshType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[894]); } -void Ifc4x3_tc1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); } } +Ifc4x3_tc1::IfcReinforcingMeshType Ifc4x3_tc1::IfcReinforcingMeshType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v20_BendingParameters) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, cast_vector(*v20_BendingParameters)); }; return *this; } // Function implementations for IfcRelAdheresToElement ::Ifc4x3_tc1::IfcElement Ifc4x3_tc1::IfcRelAdheresToElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcElement>(); } @@ -13592,7 +13592,7 @@ void Ifc4x3_tc1::IfcRelAdheresToElement::setRelatedSurfaceFeatures(const std::ve const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAdheresToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[896]); } -void Ifc4x3_tc1::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_tc1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures)); } +Ifc4x3_tc1::IfcRelAdheresToElement Ifc4x3_tc1::IfcRelAdheresToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_tc1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, cast_vector(v6_RelatedSurfaceFeatures));; return *this; } // Function implementations for IfcRelAggregates ::Ifc4x3_tc1::IfcObjectDefinition Ifc4x3_tc1::IfcRelAggregates::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcObjectDefinition>(); } @@ -13602,7 +13602,7 @@ void Ifc4x3_tc1::IfcRelAggregates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAggregates::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[897]); } -void Ifc4x3_tc1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_tc1::IfcRelAggregates Ifc4x3_tc1::IfcRelAggregates::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelAssigns std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > Ifc4x3_tc1::IfcRelAssigns::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcObjectDefinition>(es); } @@ -13612,7 +13612,7 @@ void Ifc4x3_tc1::IfcRelAssigns::setRelatedObjectsType(const std::optional< bool const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssigns::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[898]); } -void Ifc4x3_tc1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); } } +Ifc4x3_tc1::IfcRelAssigns Ifc4x3_tc1::IfcRelAssigns::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; return *this; } // Function implementations for IfcRelAssignsToActor ::Ifc4x3_tc1::IfcActor Ifc4x3_tc1::IfcRelAssignsToActor::RelatingActor() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcActor>(); } @@ -13622,7 +13622,7 @@ void Ifc4x3_tc1::IfcRelAssignsToActor::setActingRole(const ::Ifc4x3_tc1::IfcActo const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToActor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[899]); } -void Ifc4x3_tc1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcActor v7_RelatingActor, ::Ifc4x3_tc1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole)); } +Ifc4x3_tc1::IfcRelAssignsToActor Ifc4x3_tc1::IfcRelAssignsToActor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcActor v7_RelatingActor, ::Ifc4x3_tc1::IfcActorRole v8_ActingRole) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingActor));set_attribute_value(7, (v8_ActingRole));; return *this; } // Function implementations for IfcRelAssignsToControl ::Ifc4x3_tc1::IfcControl Ifc4x3_tc1::IfcRelAssignsToControl::RelatingControl() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcControl>(); } @@ -13630,7 +13630,7 @@ void Ifc4x3_tc1::IfcRelAssignsToControl::setRelatingControl(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToControl::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[900]); } -void Ifc4x3_tc1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingControl)); } +Ifc4x3_tc1::IfcRelAssignsToControl Ifc4x3_tc1::IfcRelAssignsToControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcControl v7_RelatingControl) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingControl));; return *this; } // Function implementations for IfcRelAssignsToGroup ::Ifc4x3_tc1::IfcGroup Ifc4x3_tc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcGroup>(); } @@ -13638,7 +13638,7 @@ void Ifc4x3_tc1::IfcRelAssignsToGroup::setRelatingGroup(const ::Ifc4x3_tc1::IfcG const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[901]); } -void Ifc4x3_tc1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup)); } +Ifc4x3_tc1::IfcRelAssignsToGroup Ifc4x3_tc1::IfcRelAssignsToGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));; return *this; } // Function implementations for IfcRelAssignsToGroupByFactor double Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } @@ -13646,7 +13646,7 @@ void Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::setFactor(const double& v) { set_ const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[902]); } -void Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor)); } +Ifc4x3_tc1::IfcRelAssignsToGroupByFactor Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup, double v8_Factor) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingGroup));set_attribute_value(7, (v8_Factor));; return *this; } // Function implementations for IfcRelAssignsToProcess ::Ifc4x3_tc1::IfcProcessSelect Ifc4x3_tc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcProcessSelect>(); } @@ -13656,7 +13656,7 @@ void Ifc4x3_tc1::IfcRelAssignsToProcess::setQuantityInProcess(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[903]); } -void Ifc4x3_tc1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_tc1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess)); } +Ifc4x3_tc1::IfcRelAssignsToProcess Ifc4x3_tc1::IfcRelAssignsToProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_tc1::IfcMeasureWithUnit v8_QuantityInProcess) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProcess));set_attribute_value(7, (v8_QuantityInProcess));; return *this; } // Function implementations for IfcRelAssignsToProduct ::Ifc4x3_tc1::IfcProductSelect Ifc4x3_tc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcProductSelect>(); } @@ -13664,7 +13664,7 @@ void Ifc4x3_tc1::IfcRelAssignsToProduct::setRelatingProduct(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[904]); } -void Ifc4x3_tc1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProduct)); } +Ifc4x3_tc1::IfcRelAssignsToProduct Ifc4x3_tc1::IfcRelAssignsToProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProductSelect v7_RelatingProduct) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingProduct));; return *this; } // Function implementations for IfcRelAssignsToResource ::Ifc4x3_tc1::IfcResourceSelect Ifc4x3_tc1::IfcRelAssignsToResource::RelatingResource() const { return ((express::Base)(get_attribute_value(6))).as<::Ifc4x3_tc1::IfcResourceSelect>(); } @@ -13672,7 +13672,7 @@ void Ifc4x3_tc1::IfcRelAssignsToResource::setRelatingResource(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssignsToResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[905]); } -void Ifc4x3_tc1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingResource)); } +Ifc4x3_tc1::IfcRelAssignsToResource Ifc4x3_tc1::IfcRelAssignsToResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect v7_RelatingResource) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, (v7_RelatingResource));; return *this; } // Function implementations for IfcRelAssociates std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcDefinitionSelect>(es); } @@ -13680,7 +13680,7 @@ void Ifc4x3_tc1::IfcRelAssociates::setRelatedObjects(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociates::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[906]); } -void Ifc4x3_tc1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); } +Ifc4x3_tc1::IfcRelAssociates Ifc4x3_tc1::IfcRelAssociates::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));; return *this; } // Function implementations for IfcRelAssociatesApproval ::Ifc4x3_tc1::IfcApproval Ifc4x3_tc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcApproval>(); } @@ -13688,7 +13688,7 @@ void Ifc4x3_tc1::IfcRelAssociatesApproval::setRelatingApproval(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[907]); } -void Ifc4x3_tc1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval)); } +Ifc4x3_tc1::IfcRelAssociatesApproval Ifc4x3_tc1::IfcRelAssociatesApproval::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval v6_RelatingApproval) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingApproval));; return *this; } // Function implementations for IfcRelAssociatesClassification ::Ifc4x3_tc1::IfcClassificationSelect Ifc4x3_tc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcClassificationSelect>(); } @@ -13696,7 +13696,7 @@ void Ifc4x3_tc1::IfcRelAssociatesClassification::setRelatingClassification(const const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[908]); } -void Ifc4x3_tc1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification)); } +Ifc4x3_tc1::IfcRelAssociatesClassification Ifc4x3_tc1::IfcRelAssociatesClassification::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect v6_RelatingClassification) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingClassification));; return *this; } // Function implementations for IfcRelAssociatesConstraint std::optional< std::string > Ifc4x3_tc1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -13706,7 +13706,7 @@ void Ifc4x3_tc1::IfcRelAssociatesConstraint::setRelatingConstraint(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[909]); } -void Ifc4x3_tc1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint)); } +Ifc4x3_tc1::IfcRelAssociatesConstraint Ifc4x3_tc1::IfcRelAssociatesConstraint::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint v7_RelatingConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects)); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, (v7_RelatingConstraint));; return *this; } // Function implementations for IfcRelAssociatesDocument ::Ifc4x3_tc1::IfcDocumentSelect Ifc4x3_tc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcDocumentSelect>(); } @@ -13714,7 +13714,7 @@ void Ifc4x3_tc1::IfcRelAssociatesDocument::setRelatingDocument(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[910]); } -void Ifc4x3_tc1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument)); } +Ifc4x3_tc1::IfcRelAssociatesDocument Ifc4x3_tc1::IfcRelAssociatesDocument::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect v6_RelatingDocument) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingDocument));; return *this; } // Function implementations for IfcRelAssociatesLibrary ::Ifc4x3_tc1::IfcLibrarySelect Ifc4x3_tc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcLibrarySelect>(); } @@ -13722,7 +13722,7 @@ void Ifc4x3_tc1::IfcRelAssociatesLibrary::setRelatingLibrary(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[911]); } -void Ifc4x3_tc1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary)); } +Ifc4x3_tc1::IfcRelAssociatesLibrary Ifc4x3_tc1::IfcRelAssociatesLibrary::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect v6_RelatingLibrary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingLibrary));; return *this; } // Function implementations for IfcRelAssociatesMaterial ::Ifc4x3_tc1::IfcMaterialSelect Ifc4x3_tc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcMaterialSelect>(); } @@ -13730,7 +13730,7 @@ void Ifc4x3_tc1::IfcRelAssociatesMaterial::setRelatingMaterial(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[912]); } -void Ifc4x3_tc1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial)); } +Ifc4x3_tc1::IfcRelAssociatesMaterial Ifc4x3_tc1::IfcRelAssociatesMaterial::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect v6_RelatingMaterial) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingMaterial));; return *this; } // Function implementations for IfcRelAssociatesProfileDef ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -13738,13 +13738,13 @@ void Ifc4x3_tc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[913]); } -void Ifc4x3_tc1::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef)); } +Ifc4x3_tc1::IfcRelAssociatesProfileDef Ifc4x3_tc1::IfcRelAssociatesProfileDef::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef v6_RelatingProfileDef) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingProfileDef));; return *this; } // Function implementations for IfcRelConnects const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnects::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[915]); } -void Ifc4x3_tc1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcRelConnects Ifc4x3_tc1::IfcRelConnects::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelConnectsElements ::Ifc4x3_tc1::IfcConnectionGeometry Ifc4x3_tc1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return ::Ifc4x3_tc1::IfcConnectionGeometry{}; } return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcConnectionGeometry>(); } @@ -13756,7 +13756,7 @@ void Ifc4x3_tc1::IfcRelConnectsElements::setRelatedElement(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsElements::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[916]); } -void Ifc4x3_tc1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement)); } +Ifc4x3_tc1::IfcRelConnectsElements Ifc4x3_tc1::IfcRelConnectsElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ Ifc4x3_tc1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } @@ -13770,7 +13770,7 @@ void Ifc4x3_tc1::IfcRelConnectsPathElements::setRelatingConnectionType(const ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsPathElements::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[917]); } -void Ifc4x3_tc1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType))); } +Ifc4x3_tc1::IfcRelConnectsPathElements Ifc4x3_tc1::IfcRelConnectsPathElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; return *this; } // Function implementations for IfcRelConnectsPortToElement ::Ifc4x3_tc1::IfcPort Ifc4x3_tc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcPort>(); } @@ -13780,7 +13780,7 @@ void Ifc4x3_tc1::IfcRelConnectsPortToElement::setRelatedElement(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsPortToElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[919]); } -void Ifc4x3_tc1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement)); } +Ifc4x3_tc1::IfcRelConnectsPortToElement Ifc4x3_tc1::IfcRelConnectsPortToElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcDistributionElement v6_RelatedElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedElement));; return *this; } // Function implementations for IfcRelConnectsPorts ::Ifc4x3_tc1::IfcPort Ifc4x3_tc1::IfcRelConnectsPorts::RelatingPort() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcPort>(); } @@ -13792,7 +13792,7 @@ void Ifc4x3_tc1::IfcRelConnectsPorts::setRealizingElement(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsPorts::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[918]); } -void Ifc4x3_tc1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcPort v6_RelatedPort, ::Ifc4x3_tc1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement)); } +Ifc4x3_tc1::IfcRelConnectsPorts Ifc4x3_tc1::IfcRelConnectsPorts::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcPort v6_RelatedPort, ::Ifc4x3_tc1::IfcElement v7_RealizingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPort));set_attribute_value(5, (v6_RelatedPort));set_attribute_value(6, (v7_RealizingElement));; return *this; } // Function implementations for IfcRelConnectsStructuralActivity ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect Ifc4x3_tc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect>(); } @@ -13802,7 +13802,7 @@ void Ifc4x3_tc1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity( const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[920]); } -void Ifc4x3_tc1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity)); } +Ifc4x3_tc1::IfcRelConnectsStructuralActivity Ifc4x3_tc1::IfcRelConnectsStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcStructuralActivity v6_RelatedStructuralActivity) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedStructuralActivity));; return *this; } // Function implementations for IfcRelConnectsStructuralMember ::Ifc4x3_tc1::IfcStructuralMember Ifc4x3_tc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcStructuralMember>(); } @@ -13820,7 +13820,7 @@ void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(co const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[921]); } -void Ifc4x3_tc1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem)); } +Ifc4x3_tc1::IfcRelConnectsStructuralMember Ifc4x3_tc1::IfcRelConnectsStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcRelConnectsWithEccentricity ::Ifc4x3_tc1::IfcConnectionGeometry Ifc4x3_tc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_tc1::IfcConnectionGeometry>(); } @@ -13828,7 +13828,7 @@ void Ifc4x3_tc1::IfcRelConnectsWithEccentricity::setConnectionConstraint(const : const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsWithEccentricity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[922]); } -void Ifc4x3_tc1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_tc1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint)); } +Ifc4x3_tc1::IfcRelConnectsWithEccentricity Ifc4x3_tc1::IfcRelConnectsWithEccentricity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_tc1::IfcConnectionGeometry v11_ConnectionConstraint) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingStructuralMember));set_attribute_value(5, (v6_RelatedStructuralConnection));set_attribute_value(6, (v7_AppliedCondition));set_attribute_value(7, (v8_AdditionalConditions)); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, (v10_ConditionCoordinateSystem));set_attribute_value(10, (v11_ConnectionConstraint));; return *this; } // Function implementations for IfcRelConnectsWithRealizingElements std::vector< ::Ifc4x3_tc1::IfcElement > Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { std::vector es = get_attribute_value(7); return cast_vector<::Ifc4x3_tc1::IfcElement>(es); } @@ -13838,7 +13838,7 @@ void Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::setConnectionType(const st const ifcopenshell::entity& Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[923]); } -void Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_tc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); } } +Ifc4x3_tc1::IfcRelConnectsWithRealizingElements Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_tc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_ConnectionGeometry));set_attribute_value(5, (v6_RelatingElement));set_attribute_value(6, (v7_RelatedElement));set_attribute_value(7, cast_vector(v8_RealizingElements)); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; return *this; } // Function implementations for IfcRelContainedInSpatialStructure std::vector< ::Ifc4x3_tc1::IfcProduct > Ifc4x3_tc1::IfcRelContainedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcProduct>(es); } @@ -13848,7 +13848,7 @@ void Ifc4x3_tc1::IfcRelContainedInSpatialStructure::setRelatingStructure(const : const ifcopenshell::entity& Ifc4x3_tc1::IfcRelContainedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[924]); } -void Ifc4x3_tc1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_tc1::IfcRelContainedInSpatialStructure Ifc4x3_tc1::IfcRelContainedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelCoversBldgElements ::Ifc4x3_tc1::IfcElement Ifc4x3_tc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcElement>(); } @@ -13858,7 +13858,7 @@ void Ifc4x3_tc1::IfcRelCoversBldgElements::setRelatedCoverings(const std::vector const ifcopenshell::entity& Ifc4x3_tc1::IfcRelCoversBldgElements::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[925]); } -void Ifc4x3_tc1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_tc1::IfcRelCoversBldgElements Ifc4x3_tc1::IfcRelCoversBldgElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelCoversSpaces ::Ifc4x3_tc1::IfcSpace Ifc4x3_tc1::IfcRelCoversSpaces::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcSpace>(); } @@ -13868,7 +13868,7 @@ void Ifc4x3_tc1::IfcRelCoversSpaces::setRelatedCoverings(const std::vector< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcRelCoversSpaces::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[926]); } -void Ifc4x3_tc1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings)); } +Ifc4x3_tc1::IfcRelCoversSpaces Ifc4x3_tc1::IfcRelCoversSpaces::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, cast_vector(v6_RelatedCoverings));; return *this; } // Function implementations for IfcRelDeclares ::Ifc4x3_tc1::IfcContext Ifc4x3_tc1::IfcRelDeclares::RelatingContext() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcContext>(); } @@ -13878,19 +13878,19 @@ void Ifc4x3_tc1::IfcRelDeclares::setRelatedDefinitions(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDeclares::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[927]); } -void Ifc4x3_tc1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions)); } +Ifc4x3_tc1::IfcRelDeclares Ifc4x3_tc1::IfcRelDeclares::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v6_RelatedDefinitions) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingContext));set_attribute_value(5, cast_vector(v6_RelatedDefinitions));; return *this; } // Function implementations for IfcRelDecomposes const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDecomposes::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[928]); } -void Ifc4x3_tc1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcRelDecomposes Ifc4x3_tc1::IfcRelDecomposes::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefines const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDefines::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[929]); } -void Ifc4x3_tc1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcRelDefines Ifc4x3_tc1::IfcRelDefines::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRelDefinesByObject std::vector< ::Ifc4x3_tc1::IfcObject > Ifc4x3_tc1::IfcRelDefinesByObject::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcObject>(es); } @@ -13900,7 +13900,7 @@ void Ifc4x3_tc1::IfcRelDefinesByObject::setRelatingObject(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDefinesByObject::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[930]); } -void Ifc4x3_tc1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject)); } +Ifc4x3_tc1::IfcRelDefinesByObject Ifc4x3_tc1::IfcRelDefinesByObject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcObject v6_RelatingObject) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingObject));; return *this; } // Function implementations for IfcRelDefinesByProperties std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > Ifc4x3_tc1::IfcRelDefinesByProperties::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcObjectDefinition>(es); } @@ -13910,7 +13910,7 @@ void Ifc4x3_tc1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(const const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDefinesByProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[931]); } -void Ifc4x3_tc1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition)); } +Ifc4x3_tc1::IfcRelDefinesByProperties Ifc4x3_tc1::IfcRelDefinesByProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingPropertyDefinition));; return *this; } // Function implementations for IfcRelDefinesByTemplate std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > Ifc4x3_tc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcPropertySetDefinition>(es); } @@ -13920,7 +13920,7 @@ void Ifc4x3_tc1::IfcRelDefinesByTemplate::setRelatingTemplate(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDefinesByTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[932]); } -void Ifc4x3_tc1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_tc1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate)); } +Ifc4x3_tc1::IfcRelDefinesByTemplate Ifc4x3_tc1::IfcRelDefinesByTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_tc1::IfcPropertySetTemplate v6_RelatingTemplate) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedPropertySets));set_attribute_value(5, (v6_RelatingTemplate));; return *this; } // Function implementations for IfcRelDefinesByType std::vector< ::Ifc4x3_tc1::IfcObject > Ifc4x3_tc1::IfcRelDefinesByType::RelatedObjects() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcObject>(es); } @@ -13930,7 +13930,7 @@ void Ifc4x3_tc1::IfcRelDefinesByType::setRelatingType(const ::Ifc4x3_tc1::IfcTyp const ifcopenshell::entity& Ifc4x3_tc1::IfcRelDefinesByType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[933]); } -void Ifc4x3_tc1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType)); } +Ifc4x3_tc1::IfcRelDefinesByType Ifc4x3_tc1::IfcRelDefinesByType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcTypeObject v6_RelatingType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedObjects));set_attribute_value(5, (v6_RelatingType));; return *this; } // Function implementations for IfcRelFillsElement ::Ifc4x3_tc1::IfcOpeningElement Ifc4x3_tc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcOpeningElement>(); } @@ -13940,7 +13940,7 @@ void Ifc4x3_tc1::IfcRelFillsElement::setRelatedBuildingElement(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcRelFillsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[934]); } -void Ifc4x3_tc1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement)); } +Ifc4x3_tc1::IfcRelFillsElement Ifc4x3_tc1::IfcRelFillsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingOpeningElement));set_attribute_value(5, (v6_RelatedBuildingElement));; return *this; } // Function implementations for IfcRelFlowControlElements std::vector< ::Ifc4x3_tc1::IfcDistributionControlElement > Ifc4x3_tc1::IfcRelFlowControlElements::RelatedControlElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcDistributionControlElement>(es); } @@ -13950,7 +13950,7 @@ void Ifc4x3_tc1::IfcRelFlowControlElements::setRelatingFlowElement(const ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcRelFlowControlElements::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[935]); } -void Ifc4x3_tc1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_tc1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement)); } +Ifc4x3_tc1::IfcRelFlowControlElements Ifc4x3_tc1::IfcRelFlowControlElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_tc1::IfcDistributionFlowElement v6_RelatingFlowElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedControlElements));set_attribute_value(5, (v6_RelatingFlowElement));; return *this; } // Function implementations for IfcRelInterferesElements ::Ifc4x3_tc1::IfcInterferenceSelect Ifc4x3_tc1::IfcRelInterferesElements::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcInterferenceSelect>(); } @@ -13968,7 +13968,7 @@ void Ifc4x3_tc1::IfcRelInterferesElements::setInterferenceSpace(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcRelInterferesElements::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[936]); } -void Ifc4x3_tc1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_tc1::IfcSpatialZone v10_InterferenceSpace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, (v10_InterferenceSpace)); } +Ifc4x3_tc1::IfcRelInterferesElements Ifc4x3_tc1::IfcRelInterferesElements::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_tc1::IfcSpatialZone v10_InterferenceSpace) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedElement));set_attribute_value(6, (v7_InterferenceGeometry)); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, (v10_InterferenceSpace));; return *this; } // Function implementations for IfcRelNests ::Ifc4x3_tc1::IfcObjectDefinition Ifc4x3_tc1::IfcRelNests::RelatingObject() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcObjectDefinition>(); } @@ -13978,7 +13978,7 @@ void Ifc4x3_tc1::IfcRelNests::setRelatedObjects(const std::vector< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcRelNests::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[937]); } -void Ifc4x3_tc1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects)); } +Ifc4x3_tc1::IfcRelNests Ifc4x3_tc1::IfcRelNests::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingObject));set_attribute_value(5, cast_vector(v6_RelatedObjects));; return *this; } // Function implementations for IfcRelPositions ::Ifc4x3_tc1::IfcPositioningElement Ifc4x3_tc1::IfcRelPositions::RelatingPositioningElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcPositioningElement>(); } @@ -13988,7 +13988,7 @@ void Ifc4x3_tc1::IfcRelPositions::setRelatedProducts(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelPositions::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[938]); } -void Ifc4x3_tc1::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_tc1::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts)); } +Ifc4x3_tc1::IfcRelPositions Ifc4x3_tc1::IfcRelPositions::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_tc1::IfcProduct > v6_RelatedProducts) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingPositioningElement));set_attribute_value(5, cast_vector(v6_RelatedProducts));; return *this; } // Function implementations for IfcRelProjectsElement ::Ifc4x3_tc1::IfcElement Ifc4x3_tc1::IfcRelProjectsElement::RelatingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcElement>(); } @@ -13998,7 +13998,7 @@ void Ifc4x3_tc1::IfcRelProjectsElement::setRelatedFeatureElement(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcRelProjectsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[939]); } -void Ifc4x3_tc1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement)); } +Ifc4x3_tc1::IfcRelProjectsElement Ifc4x3_tc1::IfcRelProjectsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition v6_RelatedFeatureElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingElement));set_attribute_value(5, (v6_RelatedFeatureElement));; return *this; } // Function implementations for IfcRelReferencedInSpatialStructure std::vector< ::Ifc4x3_tc1::IfcSpatialReferenceSelect > Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { std::vector es = get_attribute_value(4); return cast_vector<::Ifc4x3_tc1::IfcSpatialReferenceSelect>(es); } @@ -14008,7 +14008,7 @@ void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(const const ifcopenshell::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[940]); } -void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure)); } +Ifc4x3_tc1::IfcRelReferencedInSpatialStructure Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, cast_vector(v5_RelatedElements));set_attribute_value(5, (v6_RelatingStructure));; return *this; } // Function implementations for IfcRelSequence ::Ifc4x3_tc1::IfcProcess Ifc4x3_tc1::IfcRelSequence::RelatingProcess() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcProcess>(); } @@ -14024,7 +14024,7 @@ void Ifc4x3_tc1::IfcRelSequence::setUserDefinedSequenceType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcRelSequence::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[941]); } -void Ifc4x3_tc1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_tc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_tc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); } } +Ifc4x3_tc1::IfcRelSequence Ifc4x3_tc1::IfcRelSequence::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_tc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_tc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingProcess));set_attribute_value(5, (v6_RelatedProcess));set_attribute_value(6, (v7_TimeLag)); if (v8_SequenceType) {set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; return *this; } // Function implementations for IfcRelServicesBuildings ::Ifc4x3_tc1::IfcSystem Ifc4x3_tc1::IfcRelServicesBuildings::RelatingSystem() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcSystem>(); } @@ -14034,7 +14034,7 @@ void Ifc4x3_tc1::IfcRelServicesBuildings::setRelatedBuildings(const std::vector< const ifcopenshell::entity& Ifc4x3_tc1::IfcRelServicesBuildings::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[942]); } -void Ifc4x3_tc1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_tc1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings)); } +Ifc4x3_tc1::IfcRelServicesBuildings Ifc4x3_tc1::IfcRelServicesBuildings::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_tc1::IfcSpatialElement > v6_RelatedBuildings) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSystem));set_attribute_value(5, cast_vector(v6_RelatedBuildings));; return *this; } // Function implementations for IfcRelSpaceBoundary ::Ifc4x3_tc1::IfcSpaceBoundarySelect Ifc4x3_tc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcSpaceBoundarySelect>(); } @@ -14050,7 +14050,7 @@ void Ifc4x3_tc1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelSpaceBoundary::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[943]); } -void Ifc4x3_tc1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary))); } +Ifc4x3_tc1::IfcRelSpaceBoundary Ifc4x3_tc1::IfcRelSpaceBoundary::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; return *this; } // Function implementations for IfcRelSpaceBoundary1stLevel ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel{}; } return ((express::Base)(get_attribute_value(9))).as<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel>(); } @@ -14059,7 +14059,7 @@ void Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(const ::Ifc4x3_t std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel> Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[944], 9)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[944]); } -void Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary)); } +Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));; return *this; } // Function implementations for IfcRelSpaceBoundary2ndLevel ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel{}; } return ((express::Base)(get_attribute_value(10))).as<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel>(); } @@ -14068,7 +14068,7 @@ void Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(const ::I std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel> Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[945], 10)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[945]); } -void Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary)); } +Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingSpace));set_attribute_value(5, (v6_RelatedBuildingElement));set_attribute_value(6, (v7_ConnectionGeometry));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, (v10_ParentBoundary));set_attribute_value(10, (v11_CorrespondingBoundary));; return *this; } // Function implementations for IfcRelVoidsElement ::Ifc4x3_tc1::IfcElement Ifc4x3_tc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcElement>(); } @@ -14078,13 +14078,13 @@ void Ifc4x3_tc1::IfcRelVoidsElement::setRelatedOpeningElement(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRelVoidsElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[946]); } -void Ifc4x3_tc1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_tc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement)); } +Ifc4x3_tc1::IfcRelVoidsElement Ifc4x3_tc1::IfcRelVoidsElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_tc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatingBuildingElement));set_attribute_value(5, (v6_RelatedOpeningElement));; return *this; } // Function implementations for IfcRelationship const ifcopenshell::entity& Ifc4x3_tc1::IfcRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[914]); } -void Ifc4x3_tc1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcRelationship Ifc4x3_tc1::IfcRelationship::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcReparametrisedCompositeCurveSegment double Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } @@ -14092,7 +14092,7 @@ void Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::setParamLength(const do const ifcopenshell::entity& Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[947]); } -void Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength)); } +Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve, double v4_ParamLength) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, (v3_ParentCurve));set_attribute_value(3, (v4_ParamLength));; return *this; } // Function implementations for IfcRepresentation ::Ifc4x3_tc1::IfcRepresentationContext Ifc4x3_tc1::IfcRepresentation::ContextOfItems() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcRepresentationContext>(); } @@ -14109,7 +14109,7 @@ std::vector<::Ifc4x3_tc1::IfcPresentationLayerAssignment> Ifc4x3_tc1::IfcReprese std::vector<::Ifc4x3_tc1::IfcProductRepresentation> Ifc4x3_tc1::IfcRepresentation::OfProductRepresentation() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[800], 2)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[948]); } -void Ifc4x3_tc1::IfcRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_tc1::IfcRepresentation Ifc4x3_tc1::IfcRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcRepresentationContext std::optional< std::string > Ifc4x3_tc1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14120,7 +14120,7 @@ void Ifc4x3_tc1::IfcRepresentationContext::setContextType(const std::optional< s std::vector<::Ifc4x3_tc1::IfcRepresentation> Ifc4x3_tc1::IfcRepresentationContext::RepresentationsInContext() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[948], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcRepresentationContext::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[949]); } -void Ifc4x3_tc1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); } } +Ifc4x3_tc1::IfcRepresentationContext Ifc4x3_tc1::IfcRepresentationContext::initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; return *this; } // Function implementations for IfcRepresentationItem @@ -14128,7 +14128,7 @@ std::vector<::Ifc4x3_tc1::IfcPresentationLayerAssignment> Ifc4x3_tc1::IfcReprese std::vector<::Ifc4x3_tc1::IfcStyledItem> Ifc4x3_tc1::IfcRepresentationItem::StyledByItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1114], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[950]); } -void Ifc4x3_tc1::IfcRepresentationItem::initialize() { } +Ifc4x3_tc1::IfcRepresentationItem Ifc4x3_tc1::IfcRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcRepresentationMap ::Ifc4x3_tc1::IfcAxis2Placement Ifc4x3_tc1::IfcRepresentationMap::MappingOrigin() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcAxis2Placement>(); } @@ -14140,7 +14140,7 @@ std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcRepresentationMap::HasS std::vector<::Ifc4x3_tc1::IfcMappedItem> Ifc4x3_tc1::IfcRepresentationMap::MapUsage() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[626], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcRepresentationMap::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[951]); } -void Ifc4x3_tc1::IfcRepresentationMap::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_tc1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation)); } +Ifc4x3_tc1::IfcRepresentationMap Ifc4x3_tc1::IfcRepresentationMap::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_tc1::IfcRepresentation v2_MappedRepresentation) { set_attribute_value(0, (v1_MappingOrigin));set_attribute_value(1, (v2_MappedRepresentation));; return *this; } // Function implementations for IfcResource std::optional< std::string > Ifc4x3_tc1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -14151,7 +14151,7 @@ void Ifc4x3_tc1::IfcResource::setLongDescription(const std::optional< std::strin std::vector<::Ifc4x3_tc1::IfcRelAssignsToResource> Ifc4x3_tc1::IfcResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[952]); } -void Ifc4x3_tc1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } } +Ifc4x3_tc1::IfcResource Ifc4x3_tc1::IfcResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; return *this; } // Function implementations for IfcResourceApprovalRelationship std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcResourceObjectSelect>(es); } @@ -14161,7 +14161,7 @@ void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatingApproval(const ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[953]); } -void Ifc4x3_tc1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval)); } +Ifc4x3_tc1::IfcResourceApprovalRelationship Ifc4x3_tc1::IfcResourceApprovalRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval v4_RelatingApproval) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, cast_vector(v3_RelatedResourceObjects));set_attribute_value(3, (v4_RelatingApproval));; return *this; } // Function implementations for IfcResourceConstraintRelationship ::Ifc4x3_tc1::IfcConstraint Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcConstraint>(); } @@ -14171,7 +14171,7 @@ void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(co const ifcopenshell::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[954]); } -void Ifc4x3_tc1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects)); } +Ifc4x3_tc1::IfcResourceConstraintRelationship Ifc4x3_tc1::IfcResourceConstraintRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatingConstraint));set_attribute_value(3, cast_vector(v4_RelatedResourceObjects));; return *this; } // Function implementations for IfcResourceLevelRelationship std::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14181,7 +14181,7 @@ void Ifc4x3_tc1::IfcResourceLevelRelationship::setDescription(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcResourceLevelRelationship::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[955]); } -void Ifc4x3_tc1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } } +Ifc4x3_tc1::IfcResourceLevelRelationship Ifc4x3_tc1::IfcResourceLevelRelationship::initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; return *this; } // Function implementations for IfcResourceTime std::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::string v = get_attribute_value(3); return v; } @@ -14217,7 +14217,7 @@ void Ifc4x3_tc1::IfcResourceTime::setCompletion(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_tc1::IfcResourceTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[958]); } -void Ifc4x3_tc1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); } } +Ifc4x3_tc1::IfcResourceTime Ifc4x3_tc1::IfcResourceTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; return *this; } // Function implementations for IfcRevolvedAreaSolid ::Ifc4x3_tc1::IfcAxis1Placement Ifc4x3_tc1::IfcRevolvedAreaSolid::Axis() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcAxis1Placement>(); } @@ -14227,7 +14227,7 @@ void Ifc4x3_tc1::IfcRevolvedAreaSolid::setAngle(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_tc1::IfcRevolvedAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[959]); } -void Ifc4x3_tc1::IfcRevolvedAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle)); } +Ifc4x3_tc1::IfcRevolvedAreaSolid Ifc4x3_tc1::IfcRevolvedAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));; return *this; } // Function implementations for IfcRevolvedAreaSolidTapered ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((express::Base)(get_attribute_value(4))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -14235,7 +14235,7 @@ void Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::setEndSweptArea(const ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[960]); } -void Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea)); } +Ifc4x3_tc1::IfcRevolvedAreaSolidTapered Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Axis));set_attribute_value(3, (v4_Angle));set_attribute_value(4, (v5_EndSweptArea));; return *this; } // Function implementations for IfcRightCircularCone double Ifc4x3_tc1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } @@ -14245,7 +14245,7 @@ void Ifc4x3_tc1::IfcRightCircularCone::setBottomRadius(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcRightCircularCone::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[961]); } -void Ifc4x3_tc1::IfcRightCircularCone::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius)); } +Ifc4x3_tc1::IfcRightCircularCone Ifc4x3_tc1::IfcRightCircularCone::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; return *this; } // Function implementations for IfcRightCircularCylinder double Ifc4x3_tc1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } @@ -14255,7 +14255,7 @@ void Ifc4x3_tc1::IfcRightCircularCylinder::setRadius(const double& v) { set_attr const ifcopenshell::entity& Ifc4x3_tc1::IfcRightCircularCylinder::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[962]); } -void Ifc4x3_tc1::IfcRightCircularCylinder::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius)); } +Ifc4x3_tc1::IfcRightCircularCylinder Ifc4x3_tc1::IfcRightCircularCylinder::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; return *this; } // Function implementations for IfcRoad std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > Ifc4x3_tc1::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } @@ -14263,7 +14263,7 @@ void Ifc4x3_tc1::IfcRoad::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcRoad::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[963]); } -void Ifc4x3_tc1::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcRoad Ifc4x3_tc1::IfcRoad::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcRoadPart std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > Ifc4x3_tc1::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } @@ -14271,7 +14271,7 @@ void Ifc4x3_tc1::IfcRoadPart::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcRoadPart::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[964]); } -void Ifc4x3_tc1::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcRoadPart Ifc4x3_tc1::IfcRoadPart::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcRoof std::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > Ifc4x3_tc1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } @@ -14279,7 +14279,7 @@ void Ifc4x3_tc1::IfcRoof::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcRoof::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[968]); } -void Ifc4x3_tc1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcRoof Ifc4x3_tc1::IfcRoof::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcRoofType ::Ifc4x3_tc1::IfcRoofTypeEnum::Value Ifc4x3_tc1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } @@ -14287,7 +14287,7 @@ void Ifc4x3_tc1::IfcRoofType::setPredefinedType(const ::Ifc4x3_tc1::IfcRoofTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcRoofType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[969]); } -void Ifc4x3_tc1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcRoofType Ifc4x3_tc1::IfcRoofType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRoofTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcRoot std::string Ifc4x3_tc1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } @@ -14301,7 +14301,7 @@ void Ifc4x3_tc1::IfcRoot::setDescription(const std::optional< std::string >& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcRoot::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[971]); } -void Ifc4x3_tc1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } } +Ifc4x3_tc1::IfcRoot Ifc4x3_tc1::IfcRoot::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; return *this; } // Function implementations for IfcRoundedRectangleProfileDef double Ifc4x3_tc1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } @@ -14309,7 +14309,7 @@ void Ifc4x3_tc1::IfcRoundedRectangleProfileDef::setRoundingRadius(const double& const ifcopenshell::entity& Ifc4x3_tc1::IfcRoundedRectangleProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[976]); } -void Ifc4x3_tc1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius)); } +Ifc4x3_tc1::IfcRoundedRectangleProfileDef Ifc4x3_tc1::IfcRoundedRectangleProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; return *this; } // Function implementations for IfcSIUnit std::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > Ifc4x3_tc1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSIPrefix::FromString(get_attribute_value(2)); } @@ -14319,7 +14319,7 @@ void Ifc4x3_tc1::IfcSIUnit::setName(const ::Ifc4x3_tc1::IfcSIUnitName::Value& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcSIUnit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1022]); } -void Ifc4x3_tc1::IfcSIUnit::initialize(::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_tc1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcSIUnitName::Class(),(size_t)v4_Name))); } +Ifc4x3_tc1::IfcSIUnit Ifc4x3_tc1::IfcSIUnit::initialize(::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_tc1::IfcSIUnitName::Value v4_Name) { set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcSIUnitName::Class(),(size_t)v4_Name)));; return *this; } // Function implementations for IfcSanitaryTerminal std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_tc1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14327,7 +14327,7 @@ void Ifc4x3_tc1::IfcSanitaryTerminal::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcSanitaryTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[977]); } -void Ifc4x3_tc1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSanitaryTerminal Ifc4x3_tc1::IfcSanitaryTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSanitaryTerminalType ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_tc1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14335,7 +14335,7 @@ void Ifc4x3_tc1::IfcSanitaryTerminalType::setPredefinedType(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcSanitaryTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[978]); } -void Ifc4x3_tc1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSanitaryTerminalType Ifc4x3_tc1::IfcSanitaryTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSchedulingTime std::optional< std::string > Ifc4x3_tc1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14347,13 +14347,13 @@ void Ifc4x3_tc1::IfcSchedulingTime::setUserDefinedDataOrigin(const std::optional const ifcopenshell::entity& Ifc4x3_tc1::IfcSchedulingTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[980]); } -void Ifc4x3_tc1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } } +Ifc4x3_tc1::IfcSchedulingTime Ifc4x3_tc1::IfcSchedulingTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; return *this; } // Function implementations for IfcSeamCurve const ifcopenshell::entity& Ifc4x3_tc1::IfcSeamCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[981]); } -void Ifc4x3_tc1::IfcSeamCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_tc1::IfcSeamCurve Ifc4x3_tc1::IfcSeamCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSecondOrderPolynomialSpiral double Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } @@ -14365,7 +14365,7 @@ void Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::setConstantTerm(const std::opti const ifcopenshell::entity& Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[982]); } -void Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSectionProperties ::Ifc4x3_tc1::IfcSectionTypeEnum::Value Ifc4x3_tc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_tc1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } @@ -14377,7 +14377,7 @@ void Ifc4x3_tc1::IfcSectionProperties::setEndProfile(const ::Ifc4x3_tc1::IfcProf const ifcopenshell::entity& Ifc4x3_tc1::IfcSectionProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[989]); } -void Ifc4x3_tc1::IfcSectionProperties::initialize(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_tc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_tc1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile)); } +Ifc4x3_tc1::IfcSectionProperties Ifc4x3_tc1::IfcSectionProperties::initialize(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_tc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_tc1::IfcProfileDef v3_EndProfile) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, (v2_StartProfile));set_attribute_value(2, (v3_EndProfile));; return *this; } // Function implementations for IfcSectionReinforcementProperties double Ifc4x3_tc1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } @@ -14395,7 +14395,7 @@ void Ifc4x3_tc1::IfcSectionReinforcementProperties::setCrossSectionReinforcement const ifcopenshell::entity& Ifc4x3_tc1::IfcSectionReinforcementProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[990]); } -void Ifc4x3_tc1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_tc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_tc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions)); } +Ifc4x3_tc1::IfcSectionReinforcementProperties Ifc4x3_tc1::IfcSectionReinforcementProperties::initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_tc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_tc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, (v5_SectionDefinition));set_attribute_value(5, cast_vector(v6_CrossSectionReinforcementDefinitions));; return *this; } // Function implementations for IfcSectionedSolid ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcSectionedSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -14405,7 +14405,7 @@ void Ifc4x3_tc1::IfcSectionedSolid::setCrossSections(const std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcSectionedSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[984]); } -void Ifc4x3_tc1::IfcSectionedSolid::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections)); } +Ifc4x3_tc1::IfcSectionedSolid Ifc4x3_tc1::IfcSectionedSolid::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));; return *this; } // Function implementations for IfcSectionedSolidHorizontal std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > Ifc4x3_tc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { std::vector es = get_attribute_value(2); return cast_vector<::Ifc4x3_tc1::IfcAxis2PlacementLinear>(es); } @@ -14413,7 +14413,7 @@ void Ifc4x3_tc1::IfcSectionedSolidHorizontal::setCrossSectionPositions(const std const ifcopenshell::entity& Ifc4x3_tc1::IfcSectionedSolidHorizontal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[985]); } -void Ifc4x3_tc1::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_tc1::IfcSectionedSolidHorizontal Ifc4x3_tc1::IfcSectionedSolidHorizontal::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v3_CrossSectionPositions) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSpine ::Ifc4x3_tc1::IfcCompositeCurve Ifc4x3_tc1::IfcSectionedSpine::SpineCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCompositeCurve>(); } @@ -14425,7 +14425,7 @@ void Ifc4x3_tc1::IfcSectionedSpine::setCrossSectionPositions(const std::vector< const ifcopenshell::entity& Ifc4x3_tc1::IfcSectionedSpine::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[986]); } -void Ifc4x3_tc1::IfcSectionedSpine::initialize(::Ifc4x3_tc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions)); } +Ifc4x3_tc1::IfcSectionedSpine Ifc4x3_tc1::IfcSectionedSpine::initialize(::Ifc4x3_tc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2Placement3D > v3_CrossSectionPositions) { set_attribute_value(0, (v1_SpineCurve));set_attribute_value(1, cast_vector(v2_CrossSections));set_attribute_value(2, cast_vector(v3_CrossSectionPositions));; return *this; } // Function implementations for IfcSectionedSurface ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcSectionedSurface::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -14437,7 +14437,7 @@ void Ifc4x3_tc1::IfcSectionedSurface::setCrossSections(const std::vector< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcSectionedSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[987]); } -void Ifc4x3_tc1::IfcSectionedSurface::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections)); } +Ifc4x3_tc1::IfcSectionedSurface Ifc4x3_tc1::IfcSectionedSurface::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_CrossSections) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, cast_vector(v2_CrossSectionPositions));set_attribute_value(2, cast_vector(v3_CrossSections));; return *this; } // Function implementations for IfcSegment ::Ifc4x3_tc1::IfcTransitionCode::Value Ifc4x3_tc1::IfcSegment::Transition() const { return ::Ifc4x3_tc1::IfcTransitionCode::FromString(get_attribute_value(0)); } @@ -14446,7 +14446,7 @@ void Ifc4x3_tc1::IfcSegment::setTransition(const ::Ifc4x3_tc1::IfcTransitionCode std::vector<::Ifc4x3_tc1::IfcCompositeCurve> Ifc4x3_tc1::IfcSegment::UsingCurves() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[192], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcSegment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[992]); } -void Ifc4x3_tc1::IfcSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition))); } +Ifc4x3_tc1::IfcSegment Ifc4x3_tc1::IfcSegment::initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));; return *this; } // Function implementations for IfcSegmentedReferenceCurve ::Ifc4x3_tc1::IfcBoundedCurve Ifc4x3_tc1::IfcSegmentedReferenceCurve::BaseCurve() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcBoundedCurve>(); } @@ -14456,7 +14456,7 @@ void Ifc4x3_tc1::IfcSegmentedReferenceCurve::setEndPoint(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcSegmentedReferenceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[993]); } -void Ifc4x3_tc1::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint)); } +Ifc4x3_tc1::IfcSegmentedReferenceCurve Ifc4x3_tc1::IfcSegmentedReferenceCurve::initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint) { set_attribute_value(0, cast_vector(v1_Segments));set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, (v3_BaseCurve));set_attribute_value(3, (v4_EndPoint));; return *this; } // Function implementations for IfcSensor std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > Ifc4x3_tc1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } @@ -14464,7 +14464,7 @@ void Ifc4x3_tc1::IfcSensor::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcSensor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[995]); } -void Ifc4x3_tc1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSensor Ifc4x3_tc1::IfcSensor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSensorType ::Ifc4x3_tc1::IfcSensorTypeEnum::Value Ifc4x3_tc1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } @@ -14472,7 +14472,7 @@ void Ifc4x3_tc1::IfcSensorType::setPredefinedType(const ::Ifc4x3_tc1::IfcSensorT const ifcopenshell::entity& Ifc4x3_tc1::IfcSensorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[996]); } -void Ifc4x3_tc1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSensorType Ifc4x3_tc1::IfcSensorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSensorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSeventhOrderPolynomialSpiral double Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } @@ -14494,7 +14494,7 @@ void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setConstantTerm(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[999]); } -void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); } } +Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; return *this; } // Function implementations for IfcShadingDevice std::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_tc1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14502,7 +14502,7 @@ void Ifc4x3_tc1::IfcShadingDevice::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcShadingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1000]); } -void Ifc4x3_tc1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcShadingDevice Ifc4x3_tc1::IfcShadingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcShadingDeviceType ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_tc1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14510,7 +14510,7 @@ void Ifc4x3_tc1::IfcShadingDeviceType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcShadingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1001]); } -void Ifc4x3_tc1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcShadingDeviceType Ifc4x3_tc1::IfcShadingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcShapeAspect std::vector< ::Ifc4x3_tc1::IfcShapeModel > Ifc4x3_tc1::IfcShapeAspect::ShapeRepresentations() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcShapeModel>(es); } @@ -14527,20 +14527,20 @@ void Ifc4x3_tc1::IfcShapeAspect::setPartOfProductDefinitionShape(const ::Ifc4x3_ std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcShapeAspect::HasExternalReferences() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcShapeAspect::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1003]); } -void Ifc4x3_tc1::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_tc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_tc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape)); } +Ifc4x3_tc1::IfcShapeAspect Ifc4x3_tc1::IfcShapeAspect::initialize(std::vector< ::Ifc4x3_tc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_tc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape) { set_attribute_value(0, cast_vector(v1_ShapeRepresentations)); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, (v5_PartOfProductDefinitionShape));; return *this; } // Function implementations for IfcShapeModel std::vector<::Ifc4x3_tc1::IfcShapeAspect> Ifc4x3_tc1::IfcShapeModel::OfShapeAspect() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1003], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcShapeModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1004]); } -void Ifc4x3_tc1::IfcShapeModel::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_tc1::IfcShapeModel Ifc4x3_tc1::IfcShapeModel::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShapeRepresentation const ifcopenshell::entity& Ifc4x3_tc1::IfcShapeRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1005]); } -void Ifc4x3_tc1::IfcShapeRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_tc1::IfcShapeRepresentation Ifc4x3_tc1::IfcShapeRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcShellBasedSurfaceModel std::vector< ::Ifc4x3_tc1::IfcShell > Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcShell>(es); } @@ -14548,7 +14548,7 @@ void Ifc4x3_tc1::IfcShellBasedSurfaceModel::setSbsmBoundary(const std::vector< : const ifcopenshell::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1008]); } -void Ifc4x3_tc1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_tc1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary)); } +Ifc4x3_tc1::IfcShellBasedSurfaceModel Ifc4x3_tc1::IfcShellBasedSurfaceModel::initialize(std::vector< ::Ifc4x3_tc1::IfcShell > v1_SbsmBoundary) { set_attribute_value(0, cast_vector(v1_SbsmBoundary));; return *this; } // Function implementations for IfcSign std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > Ifc4x3_tc1::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(get_attribute_value(8)); } @@ -14556,7 +14556,7 @@ void Ifc4x3_tc1::IfcSign::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcSign::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1009]); } -void Ifc4x3_tc1::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSign Ifc4x3_tc1::IfcSign::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignType ::Ifc4x3_tc1::IfcSignTypeEnum::Value Ifc4x3_tc1::IfcSignType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(get_attribute_value(9)); } @@ -14564,7 +14564,7 @@ void Ifc4x3_tc1::IfcSignType::setPredefinedType(const ::Ifc4x3_tc1::IfcSignTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcSignType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1013]); } -void Ifc4x3_tc1::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSignType Ifc4x3_tc1::IfcSignType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSignal std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > Ifc4x3_tc1::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } @@ -14572,7 +14572,7 @@ void Ifc4x3_tc1::IfcSignal::setPredefinedType(const std::optional< ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcSignal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1010]); } -void Ifc4x3_tc1::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSignal Ifc4x3_tc1::IfcSignal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSignalType ::Ifc4x3_tc1::IfcSignalTypeEnum::Value Ifc4x3_tc1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } @@ -14580,13 +14580,13 @@ void Ifc4x3_tc1::IfcSignalType::setPredefinedType(const ::Ifc4x3_tc1::IfcSignalT const ifcopenshell::entity& Ifc4x3_tc1::IfcSignalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1011]); } -void Ifc4x3_tc1::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSignalType Ifc4x3_tc1::IfcSignalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSimpleProperty const ifcopenshell::entity& Ifc4x3_tc1::IfcSimpleProperty::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1015]); } -void Ifc4x3_tc1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } } +Ifc4x3_tc1::IfcSimpleProperty Ifc4x3_tc1::IfcSimpleProperty::initialize(std::string v1_Name, std::optional< std::string > v2_Specification) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; return *this; } // Function implementations for IfcSimplePropertyTemplate std::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_tc1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } @@ -14608,7 +14608,7 @@ void Ifc4x3_tc1::IfcSimplePropertyTemplate::setAccessState(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcSimplePropertyTemplate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1016]); } -void Ifc4x3_tc1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_tc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_tc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_tc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); } } +Ifc4x3_tc1::IfcSimplePropertyTemplate Ifc4x3_tc1::IfcSimplePropertyTemplate::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_tc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_tc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_tc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v12_AccessState) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, (v8_Enumerators));set_attribute_value(8, (v9_PrimaryUnit));set_attribute_value(9, (v10_SecondaryUnit)); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; return *this; } // Function implementations for IfcSineSpiral double Ifc4x3_tc1::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } @@ -14620,7 +14620,7 @@ void Ifc4x3_tc1::IfcSineSpiral::setConstantTerm(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_tc1::IfcSineSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1019]); } -void Ifc4x3_tc1::IfcSineSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); } } +Ifc4x3_tc1::IfcSineSpiral Ifc4x3_tc1::IfcSineSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; return *this; } // Function implementations for IfcSite std::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_tc1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } @@ -14636,7 +14636,7 @@ void Ifc4x3_tc1::IfcSite::setSiteAddress(const ::Ifc4x3_tc1::IfcPostalAddress& v const ifcopenshell::entity& Ifc4x3_tc1::IfcSite::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1021]); } -void Ifc4x3_tc1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_tc1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress)); } +Ifc4x3_tc1::IfcSite Ifc4x3_tc1::IfcSite::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_tc1::IfcPostalAddress v14_SiteAddress) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, (v14_SiteAddress));; return *this; } // Function implementations for IfcSlab std::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > Ifc4x3_tc1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } @@ -14644,7 +14644,7 @@ void Ifc4x3_tc1::IfcSlab::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcSlab::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1025]); } -void Ifc4x3_tc1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSlab Ifc4x3_tc1::IfcSlab::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSlabType ::Ifc4x3_tc1::IfcSlabTypeEnum::Value Ifc4x3_tc1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } @@ -14652,7 +14652,7 @@ void Ifc4x3_tc1::IfcSlabType::setPredefinedType(const ::Ifc4x3_tc1::IfcSlabTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcSlabType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1026]); } -void Ifc4x3_tc1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSlabType Ifc4x3_tc1::IfcSlabType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSlabTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSlippageConnectionCondition std::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -14664,7 +14664,7 @@ void Ifc4x3_tc1::IfcSlippageConnectionCondition::setSlippageZ(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcSlippageConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1028]); } -void Ifc4x3_tc1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); } } +Ifc4x3_tc1::IfcSlippageConnectionCondition Ifc4x3_tc1::IfcSlippageConnectionCondition::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; return *this; } // Function implementations for IfcSolarDevice std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_tc1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -14672,7 +14672,7 @@ void Ifc4x3_tc1::IfcSolarDevice::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcSolarDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1029]); } -void Ifc4x3_tc1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSolarDevice Ifc4x3_tc1::IfcSolarDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSolarDeviceType ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_tc1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -14680,13 +14680,13 @@ void Ifc4x3_tc1::IfcSolarDeviceType::setPredefinedType(const ::Ifc4x3_tc1::IfcSo const ifcopenshell::entity& Ifc4x3_tc1::IfcSolarDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1030]); } -void Ifc4x3_tc1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSolarDeviceType Ifc4x3_tc1::IfcSolarDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSolidModel const ifcopenshell::entity& Ifc4x3_tc1::IfcSolidModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1033]); } -void Ifc4x3_tc1::IfcSolidModel::initialize() { } +Ifc4x3_tc1::IfcSolidModel Ifc4x3_tc1::IfcSolidModel::initialize() { ; return *this; } // Function implementations for IfcSpace std::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > Ifc4x3_tc1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14698,7 +14698,7 @@ std::vector<::Ifc4x3_tc1::IfcRelCoversSpaces> Ifc4x3_tc1::IfcSpace::HasCoverings std::vector<::Ifc4x3_tc1::IfcRelSpaceBoundary> Ifc4x3_tc1::IfcSpace::BoundedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[943], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcSpace::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1039]); } -void Ifc4x3_tc1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); } } +Ifc4x3_tc1::IfcSpace Ifc4x3_tc1::IfcSpace::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; return *this; } // Function implementations for IfcSpaceHeater std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_tc1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } @@ -14706,7 +14706,7 @@ void Ifc4x3_tc1::IfcSpaceHeater::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcSpaceHeater::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1041]); } -void Ifc4x3_tc1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSpaceHeater Ifc4x3_tc1::IfcSpaceHeater::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpaceHeaterType ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_tc1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } @@ -14714,7 +14714,7 @@ void Ifc4x3_tc1::IfcSpaceHeaterType::setPredefinedType(const ::Ifc4x3_tc1::IfcSp const ifcopenshell::entity& Ifc4x3_tc1::IfcSpaceHeaterType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1042]); } -void Ifc4x3_tc1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSpaceHeaterType Ifc4x3_tc1::IfcSpaceHeaterType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSpaceType ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value Ifc4x3_tc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } @@ -14724,7 +14724,7 @@ void Ifc4x3_tc1::IfcSpaceType::setLongName(const std::optional< std::string >& v const ifcopenshell::entity& Ifc4x3_tc1::IfcSpaceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1044]); } -void Ifc4x3_tc1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_tc1::IfcSpaceType Ifc4x3_tc1::IfcSpaceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSpatialElement std::optional< std::string > Ifc4x3_tc1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -14737,7 +14737,7 @@ std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcSpatialElemen std::vector<::Ifc4x3_tc1::IfcRelInterferesElements> Ifc4x3_tc1::IfcSpatialElement::InterferesElements() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[936], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcSpatialElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1046]); } -void Ifc4x3_tc1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } } +Ifc4x3_tc1::IfcSpatialElement Ifc4x3_tc1::IfcSpatialElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; return *this; } // Function implementations for IfcSpatialElementType std::optional< std::string > Ifc4x3_tc1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } std::string v = get_attribute_value(8); return v; } @@ -14745,7 +14745,7 @@ void Ifc4x3_tc1::IfcSpatialElementType::setElementType(const std::optional< std: const ifcopenshell::entity& Ifc4x3_tc1::IfcSpatialElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1047]); } -void Ifc4x3_tc1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcSpatialElementType Ifc4x3_tc1::IfcSpatialElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialStructureElement std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > Ifc4x3_tc1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } @@ -14753,13 +14753,13 @@ void Ifc4x3_tc1::IfcSpatialStructureElement::setCompositionType(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcSpatialStructureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1049]); } -void Ifc4x3_tc1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } } +Ifc4x3_tc1::IfcSpatialStructureElement Ifc4x3_tc1::IfcSpatialStructureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; return *this; } // Function implementations for IfcSpatialStructureElementType const ifcopenshell::entity& Ifc4x3_tc1::IfcSpatialStructureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1050]); } -void Ifc4x3_tc1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcSpatialStructureElementType Ifc4x3_tc1::IfcSpatialStructureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcSpatialZone std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_tc1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } @@ -14767,7 +14767,7 @@ void Ifc4x3_tc1::IfcSpatialZone::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcSpatialZone::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1051]); } -void Ifc4x3_tc1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSpatialZone Ifc4x3_tc1::IfcSpatialZone::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSpatialZoneType ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_tc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } @@ -14777,7 +14777,7 @@ void Ifc4x3_tc1::IfcSpatialZoneType::setLongName(const std::optional< std::strin const ifcopenshell::entity& Ifc4x3_tc1::IfcSpatialZoneType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1052]); } -void Ifc4x3_tc1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); } } +Ifc4x3_tc1::IfcSpatialZoneType Ifc4x3_tc1::IfcSpatialZoneType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; return *this; } // Function implementations for IfcSphere double Ifc4x3_tc1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } @@ -14785,7 +14785,7 @@ void Ifc4x3_tc1::IfcSphere::setRadius(const double& v) { set_attribute_value(1, const ifcopenshell::entity& Ifc4x3_tc1::IfcSphere::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1058]); } -void Ifc4x3_tc1::IfcSphere::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_tc1::IfcSphere Ifc4x3_tc1::IfcSphere::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSphericalSurface double Ifc4x3_tc1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } @@ -14793,7 +14793,7 @@ void Ifc4x3_tc1::IfcSphericalSurface::setRadius(const double& v) { set_attribute const ifcopenshell::entity& Ifc4x3_tc1::IfcSphericalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1059]); } -void Ifc4x3_tc1::IfcSphericalSurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius)); } +Ifc4x3_tc1::IfcSphericalSurface Ifc4x3_tc1::IfcSphericalSurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_Radius));; return *this; } // Function implementations for IfcSpiral ::Ifc4x3_tc1::IfcAxis2Placement Ifc4x3_tc1::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcAxis2Placement{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcAxis2Placement>(); } @@ -14801,7 +14801,7 @@ void Ifc4x3_tc1::IfcSpiral::setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement& v const ifcopenshell::entity& Ifc4x3_tc1::IfcSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1060]); } -void Ifc4x3_tc1::IfcSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position)); } +Ifc4x3_tc1::IfcSpiral Ifc4x3_tc1::IfcSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position) { set_attribute_value(0, (v1_Position));; return *this; } // Function implementations for IfcStackTerminal std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_tc1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -14809,7 +14809,7 @@ void Ifc4x3_tc1::IfcStackTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcStackTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1061]); } -void Ifc4x3_tc1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcStackTerminal Ifc4x3_tc1::IfcStackTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStackTerminalType ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value Ifc4x3_tc1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -14817,7 +14817,7 @@ void Ifc4x3_tc1::IfcStackTerminalType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcStackTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1062]); } -void Ifc4x3_tc1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcStackTerminalType Ifc4x3_tc1::IfcStackTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStair std::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > Ifc4x3_tc1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } @@ -14825,7 +14825,7 @@ void Ifc4x3_tc1::IfcStair::setPredefinedType(const std::optional< ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcStair::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1064]); } -void Ifc4x3_tc1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcStair Ifc4x3_tc1::IfcStair::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlight std::optional< int > Ifc4x3_tc1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } int v = get_attribute_value(8); return v; } @@ -14841,7 +14841,7 @@ void Ifc4x3_tc1::IfcStairFlight::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcStairFlight::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1065]); } -void Ifc4x3_tc1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_tc1::IfcStairFlight Ifc4x3_tc1::IfcStairFlight::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcStairFlightType ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value Ifc4x3_tc1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } @@ -14849,7 +14849,7 @@ void Ifc4x3_tc1::IfcStairFlightType::setPredefinedType(const ::Ifc4x3_tc1::IfcSt const ifcopenshell::entity& Ifc4x3_tc1::IfcStairFlightType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1066]); } -void Ifc4x3_tc1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcStairFlightType Ifc4x3_tc1::IfcStairFlightType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStairType ::Ifc4x3_tc1::IfcStairTypeEnum::Value Ifc4x3_tc1::IfcStairType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } @@ -14857,7 +14857,7 @@ void Ifc4x3_tc1::IfcStairType::setPredefinedType(const ::Ifc4x3_tc1::IfcStairTyp const ifcopenshell::entity& Ifc4x3_tc1::IfcStairType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1068]); } -void Ifc4x3_tc1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcStairType Ifc4x3_tc1::IfcStairType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralAction std::optional< bool > Ifc4x3_tc1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } bool v = get_attribute_value(9); return v; } @@ -14865,7 +14865,7 @@ void Ifc4x3_tc1::IfcStructuralAction::setDestabilizingLoad(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralAction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1072]); } -void Ifc4x3_tc1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_tc1::IfcStructuralAction Ifc4x3_tc1::IfcStructuralAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralActivity ::Ifc4x3_tc1::IfcStructuralLoad Ifc4x3_tc1::IfcStructuralActivity::AppliedLoad() const { return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcStructuralLoad>(); } @@ -14876,7 +14876,7 @@ void Ifc4x3_tc1::IfcStructuralActivity::setGlobalOrLocal(const ::Ifc4x3_tc1::Ifc std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralActivity> Ifc4x3_tc1::IfcStructuralActivity::AssignedToStructuralItem() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[920], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralActivity::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1073]); } -void Ifc4x3_tc1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_tc1::IfcStructuralActivity Ifc4x3_tc1::IfcStructuralActivity::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralAnalysisModel ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_tc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } @@ -14892,7 +14892,7 @@ void Ifc4x3_tc1::IfcStructuralAnalysisModel::setSharedPlacement(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralAnalysisModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1075]); } -void Ifc4x3_tc1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_tc1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement)); } +Ifc4x3_tc1::IfcStructuralAnalysisModel Ifc4x3_tc1::IfcStructuralAnalysisModel::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_tc1::IfcObjectPlacement v10_SharedPlacement) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (v7_OrientationOf2DPlane)); if (v8_LoadedBy) {set_attribute_value(7, cast_vector(*v8_LoadedBy)); } if (v9_HasResults) {set_attribute_value(8, cast_vector(*v9_HasResults)); }set_attribute_value(9, (v10_SharedPlacement));; return *this; } // Function implementations for IfcStructuralConnection ::Ifc4x3_tc1::IfcBoundaryCondition Ifc4x3_tc1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return ::Ifc4x3_tc1::IfcBoundaryCondition{}; } return ((express::Base)(get_attribute_value(7))).as<::Ifc4x3_tc1::IfcBoundaryCondition>(); } @@ -14901,7 +14901,7 @@ void Ifc4x3_tc1::IfcStructuralConnection::setAppliedCondition(const ::Ifc4x3_tc1 std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralMember> Ifc4x3_tc1::IfcStructuralConnection::ConnectsStructuralMembers() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[921], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1076]); } -void Ifc4x3_tc1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_tc1::IfcStructuralConnection Ifc4x3_tc1::IfcStructuralConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralConnectionCondition std::optional< std::string > Ifc4x3_tc1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14909,7 +14909,7 @@ void Ifc4x3_tc1::IfcStructuralConnectionCondition::setName(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralConnectionCondition::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1077]); } -void Ifc4x3_tc1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcStructuralConnectionCondition Ifc4x3_tc1::IfcStructuralConnectionCondition::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralCurveAction std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_tc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -14919,7 +14919,7 @@ void Ifc4x3_tc1::IfcStructuralCurveAction::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralCurveAction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1078]); } -void Ifc4x3_tc1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcStructuralCurveAction Ifc4x3_tc1::IfcStructuralCurveAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralCurveConnection ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcStructuralCurveConnection::AxisDirection() const { return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -14927,7 +14927,7 @@ void Ifc4x3_tc1::IfcStructuralCurveConnection::setAxisDirection(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralCurveConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1080]); } -void Ifc4x3_tc1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection)); } +Ifc4x3_tc1::IfcStructuralCurveConnection Ifc4x3_tc1::IfcStructuralCurveConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcDirection v9_AxisDirection) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_AxisDirection));; return *this; } // Function implementations for IfcStructuralCurveMember ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -14937,13 +14937,13 @@ void Ifc4x3_tc1::IfcStructuralCurveMember::setAxis(const ::Ifc4x3_tc1::IfcDirect const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralCurveMember::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1081]); } -void Ifc4x3_tc1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_tc1::IfcStructuralCurveMember Ifc4x3_tc1::IfcStructuralCurveMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveMemberVarying const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralCurveMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1083]); } -void Ifc4x3_tc1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis)); } +Ifc4x3_tc1::IfcStructuralCurveMemberVarying Ifc4x3_tc1::IfcStructuralCurveMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, (v9_Axis));; return *this; } // Function implementations for IfcStructuralCurveReaction ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -14951,20 +14951,20 @@ void Ifc4x3_tc1::IfcStructuralCurveReaction::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralCurveReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1084]); } -void Ifc4x3_tc1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcStructuralCurveReaction Ifc4x3_tc1::IfcStructuralCurveReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStructuralItem std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralActivity> Ifc4x3_tc1::IfcStructuralItem::AssignedStructuralActivity() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[920], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1085]); } -void Ifc4x3_tc1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcStructuralItem Ifc4x3_tc1::IfcStructuralItem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralLinearAction const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLinearAction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1086]); } -void Ifc4x3_tc1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcStructuralLinearAction Ifc4x3_tc1::IfcStructuralLinearAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralLoad std::optional< std::string > Ifc4x3_tc1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -14972,7 +14972,7 @@ void Ifc4x3_tc1::IfcStructuralLoad::setName(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoad::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1087]); } -void Ifc4x3_tc1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcStructuralLoad Ifc4x3_tc1::IfcStructuralLoad::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadCase std::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_tc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } @@ -14980,7 +14980,7 @@ void Ifc4x3_tc1::IfcStructuralLoadCase::setSelfWeightCoefficients(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadCase::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1088]); } -void Ifc4x3_tc1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); } } +Ifc4x3_tc1::IfcStructuralLoadCase Ifc4x3_tc1::IfcStructuralLoadCase::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; return *this; } // Function implementations for IfcStructuralLoadConfiguration std::vector< ::Ifc4x3_tc1::IfcStructuralLoadOrResult > Ifc4x3_tc1::IfcStructuralLoadConfiguration::Values() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_tc1::IfcStructuralLoadOrResult>(es); } @@ -14990,7 +14990,7 @@ void Ifc4x3_tc1::IfcStructuralLoadConfiguration::setLocations(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadConfiguration::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1089]); } -void Ifc4x3_tc1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); } } +Ifc4x3_tc1::IfcStructuralLoadConfiguration Ifc4x3_tc1::IfcStructuralLoadConfiguration::initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, cast_vector(v2_Values)); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; return *this; } // Function implementations for IfcStructuralLoadGroup ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } @@ -15008,7 +15008,7 @@ std::vector<::Ifc4x3_tc1::IfcStructuralResultGroup> Ifc4x3_tc1::IfcStructuralLoa std::vector<::Ifc4x3_tc1::IfcStructuralAnalysisModel> Ifc4x3_tc1::IfcStructuralLoadGroup::LoadGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1075], 7)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1090]); } -void Ifc4x3_tc1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } } +Ifc4x3_tc1::IfcStructuralLoadGroup Ifc4x3_tc1::IfcStructuralLoadGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (enumeration_reference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; return *this; } // Function implementations for IfcStructuralLoadLinearForce std::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15026,13 +15026,13 @@ void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearMomentZ(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadLinearForce::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1091]); } -void Ifc4x3_tc1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); } } +Ifc4x3_tc1::IfcStructuralLoadLinearForce Ifc4x3_tc1::IfcStructuralLoadLinearForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadOrResult const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadOrResult::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1092]); } -void Ifc4x3_tc1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcStructuralLoadOrResult Ifc4x3_tc1::IfcStructuralLoadOrResult::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadPlanarForce std::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15044,7 +15044,7 @@ void Ifc4x3_tc1::IfcStructuralLoadPlanarForce::setPlanarForceZ(const std::option const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadPlanarForce::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1093]); } -void Ifc4x3_tc1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); } } +Ifc4x3_tc1::IfcStructuralLoadPlanarForce Ifc4x3_tc1::IfcStructuralLoadPlanarForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacement std::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15062,7 +15062,7 @@ void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementR const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1094]); } -void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } } +Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion std::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15070,7 +15070,7 @@ void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(co const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1095]); } -void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); } } +Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForce std::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15088,7 +15088,7 @@ void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setMomentZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadSingleForce::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1096]); } -void Ifc4x3_tc1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } } +Ifc4x3_tc1::IfcStructuralLoadSingleForce Ifc4x3_tc1::IfcStructuralLoadSingleForce::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; return *this; } // Function implementations for IfcStructuralLoadSingleForceWarping std::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } double v = get_attribute_value(7); return v; } @@ -15096,13 +15096,13 @@ void Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(const std const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1097]); } -void Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); } } +Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; return *this; } // Function implementations for IfcStructuralLoadStatic const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadStatic::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1098]); } -void Ifc4x3_tc1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } } +Ifc4x3_tc1::IfcStructuralLoadStatic Ifc4x3_tc1::IfcStructuralLoadStatic::initialize(std::optional< std::string > v1_Name) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; return *this; } // Function implementations for IfcStructuralLoadTemperature std::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } double v = get_attribute_value(1); return v; } @@ -15114,26 +15114,26 @@ void Ifc4x3_tc1::IfcStructuralLoadTemperature::setDeltaTZ(const std::optional< d const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralLoadTemperature::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1099]); } -void Ifc4x3_tc1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); } } +Ifc4x3_tc1::IfcStructuralLoadTemperature Ifc4x3_tc1::IfcStructuralLoadTemperature::initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; return *this; } // Function implementations for IfcStructuralMember std::vector<::Ifc4x3_tc1::IfcRelConnectsStructuralMember> Ifc4x3_tc1::IfcStructuralMember::ConnectedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[921], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralMember::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1100]); } -void Ifc4x3_tc1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); } +Ifc4x3_tc1::IfcStructuralMember Ifc4x3_tc1::IfcStructuralMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));; return *this; } // Function implementations for IfcStructuralPlanarAction const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralPlanarAction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1101]); } -void Ifc4x3_tc1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcStructuralPlanarAction Ifc4x3_tc1::IfcStructuralPlanarAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralPointAction const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralPointAction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1102]); } -void Ifc4x3_tc1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } } +Ifc4x3_tc1::IfcStructuralPointAction Ifc4x3_tc1::IfcStructuralPointAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; return *this; } // Function implementations for IfcStructuralPointConnection ::Ifc4x3_tc1::IfcAxis2Placement3D Ifc4x3_tc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return ::Ifc4x3_tc1::IfcAxis2Placement3D{}; } return ((express::Base)(get_attribute_value(8))).as<::Ifc4x3_tc1::IfcAxis2Placement3D>(); } @@ -15141,19 +15141,19 @@ void Ifc4x3_tc1::IfcStructuralPointConnection::setConditionCoordinateSystem(cons const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralPointConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1103]); } -void Ifc4x3_tc1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem)); } +Ifc4x3_tc1::IfcStructuralPointConnection Ifc4x3_tc1::IfcStructuralPointConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));set_attribute_value(8, (v9_ConditionCoordinateSystem));; return *this; } // Function implementations for IfcStructuralPointReaction const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralPointReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1104]); } -void Ifc4x3_tc1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_tc1::IfcStructuralPointReaction Ifc4x3_tc1::IfcStructuralPointReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralReaction const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1105]); } -void Ifc4x3_tc1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); } +Ifc4x3_tc1::IfcStructuralReaction Ifc4x3_tc1::IfcStructuralReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; return *this; } // Function implementations for IfcStructuralResultGroup ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_tc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } @@ -15166,7 +15166,7 @@ void Ifc4x3_tc1::IfcStructuralResultGroup::setIsLinear(const bool& v) { set_attr std::vector<::Ifc4x3_tc1::IfcStructuralAnalysisModel> Ifc4x3_tc1::IfcStructuralResultGroup::ResultGroupFor() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1075], 8)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralResultGroup::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1106]); } -void Ifc4x3_tc1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_tc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear)); } +Ifc4x3_tc1::IfcStructuralResultGroup Ifc4x3_tc1::IfcStructuralResultGroup::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_tc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, (v7_ResultForLoadGroup));set_attribute_value(7, (v8_IsLinear));; return *this; } // Function implementations for IfcStructuralSurfaceAction std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_tc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } @@ -15176,13 +15176,13 @@ void Ifc4x3_tc1::IfcStructuralSurfaceAction::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralSurfaceAction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1107]); } -void Ifc4x3_tc1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcStructuralSurfaceAction Ifc4x3_tc1::IfcStructuralSurfaceAction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcStructuralSurfaceConnection const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralSurfaceConnection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1109]); } -void Ifc4x3_tc1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition)); } +Ifc4x3_tc1::IfcStructuralSurfaceConnection Ifc4x3_tc1::IfcStructuralSurfaceConnection::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedCondition));; return *this; } // Function implementations for IfcStructuralSurfaceMember ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } @@ -15192,13 +15192,13 @@ void Ifc4x3_tc1::IfcStructuralSurfaceMember::setThickness(const std::optional< d const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralSurfaceMember::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1110]); } -void Ifc4x3_tc1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_tc1::IfcStructuralSurfaceMember Ifc4x3_tc1::IfcStructuralSurfaceMember::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceMemberVarying const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1112]); } -void Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); } } +Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; return *this; } // Function implementations for IfcStructuralSurfaceReaction ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } @@ -15206,13 +15206,13 @@ void Ifc4x3_tc1::IfcStructuralSurfaceReaction::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcStructuralSurfaceReaction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1113]); } -void Ifc4x3_tc1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcStructuralSurfaceReaction Ifc4x3_tc1::IfcStructuralSurfaceReaction::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation));set_attribute_value(7, (v8_AppliedLoad));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcStyleModel const ifcopenshell::entity& Ifc4x3_tc1::IfcStyleModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1116]); } -void Ifc4x3_tc1::IfcStyleModel::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_tc1::IfcStyleModel Ifc4x3_tc1::IfcStyleModel::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcStyledItem ::Ifc4x3_tc1::IfcRepresentationItem Ifc4x3_tc1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcRepresentationItem{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcRepresentationItem>(); } @@ -15224,13 +15224,13 @@ void Ifc4x3_tc1::IfcStyledItem::setName(const std::optional< std::string >& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcStyledItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1114]); } -void Ifc4x3_tc1::IfcStyledItem::initialize(::Ifc4x3_tc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } } +Ifc4x3_tc1::IfcStyledItem Ifc4x3_tc1::IfcStyledItem::initialize(::Ifc4x3_tc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name) { set_attribute_value(0, (v1_Item));set_attribute_value(1, cast_vector(v2_Styles)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; return *this; } // Function implementations for IfcStyledRepresentation const ifcopenshell::entity& Ifc4x3_tc1::IfcStyledRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1115]); } -void Ifc4x3_tc1::IfcStyledRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_tc1::IfcStyledRepresentation Ifc4x3_tc1::IfcStyledRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcSubContractResource std::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_tc1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } @@ -15238,7 +15238,7 @@ void Ifc4x3_tc1::IfcSubContractResource::setPredefinedType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcSubContractResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1117]); } -void Ifc4x3_tc1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); } } +Ifc4x3_tc1::IfcSubContractResource Ifc4x3_tc1::IfcSubContractResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, (v8_Usage)); if (v9_BaseCosts) {set_attribute_value(8, cast_vector(*v9_BaseCosts)); }set_attribute_value(9, (v10_BaseQuantity)); if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; return *this; } // Function implementations for IfcSubContractResourceType ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_tc1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } @@ -15246,7 +15246,7 @@ void Ifc4x3_tc1::IfcSubContractResourceType::setPredefinedType(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcSubContractResourceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1118]); } -void Ifc4x3_tc1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType))); } +Ifc4x3_tc1::IfcSubContractResourceType Ifc4x3_tc1::IfcSubContractResourceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, cast_vector(*v10_BaseCosts)); }set_attribute_value(10, (v11_BaseQuantity));set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; return *this; } // Function implementations for IfcSubedge ::Ifc4x3_tc1::IfcEdge Ifc4x3_tc1::IfcSubedge::ParentEdge() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcEdge>(); } @@ -15254,13 +15254,13 @@ void Ifc4x3_tc1::IfcSubedge::setParentEdge(const ::Ifc4x3_tc1::IfcEdge& v) { set const ifcopenshell::entity& Ifc4x3_tc1::IfcSubedge::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1120]); } -void Ifc4x3_tc1::IfcSubedge::initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge)); } +Ifc4x3_tc1::IfcSubedge Ifc4x3_tc1::IfcSubedge::initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcEdge v3_ParentEdge) { set_attribute_value(0, (v1_EdgeStart));set_attribute_value(1, (v2_EdgeEnd));set_attribute_value(2, (v3_ParentEdge));; return *this; } // Function implementations for IfcSurface const ifcopenshell::entity& Ifc4x3_tc1::IfcSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1121]); } -void Ifc4x3_tc1::IfcSurface::initialize() { } +Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcSurface::initialize() { ; return *this; } // Function implementations for IfcSurfaceCurve ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcSurfaceCurve::Curve3D() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -15272,7 +15272,7 @@ void Ifc4x3_tc1::IfcSurfaceCurve::setMasterRepresentation(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1122]); } -void Ifc4x3_tc1::IfcSurfaceCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation))); } +Ifc4x3_tc1::IfcSurfaceCurve Ifc4x3_tc1::IfcSurfaceCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) { set_attribute_value(0, (v1_Curve3D));set_attribute_value(1, cast_vector(v2_AssociatedGeometry));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; return *this; } // Function implementations for IfcSurfaceCurveSweptAreaSolid ::Ifc4x3_tc1::IfcSurface Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((express::Base)(get_attribute_value(5))).as<::Ifc4x3_tc1::IfcSurface>(); } @@ -15280,7 +15280,7 @@ void Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(const ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1123]); } -void Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface)); } +Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcSurface v6_ReferenceSurface) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_Directrix));set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, (v6_ReferenceSurface));; return *this; } // Function implementations for IfcSurfaceFeature std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_tc1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -15289,7 +15289,7 @@ void Ifc4x3_tc1::IfcSurfaceFeature::setPredefinedType(const std::optional< ::Ifc std::vector<::Ifc4x3_tc1::IfcRelAdheresToElement> Ifc4x3_tc1::IfcSurfaceFeature::AdheresToElement() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[896], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1124]); } -void Ifc4x3_tc1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSurfaceFeature Ifc4x3_tc1::IfcSurfaceFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSurfaceOfLinearExtrusion ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -15299,7 +15299,7 @@ void Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::setDepth(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1126]); } -void Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth)); } +Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_ExtrudedDirection));set_attribute_value(3, (v4_Depth));; return *this; } // Function implementations for IfcSurfaceOfRevolution ::Ifc4x3_tc1::IfcAxis1Placement Ifc4x3_tc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcAxis1Placement>(); } @@ -15307,7 +15307,7 @@ void Ifc4x3_tc1::IfcSurfaceOfRevolution::setAxisPosition(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceOfRevolution::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1127]); } -void Ifc4x3_tc1::IfcSurfaceOfRevolution::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition)); } +Ifc4x3_tc1::IfcSurfaceOfRevolution Ifc4x3_tc1::IfcSurfaceOfRevolution::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_AxisPosition) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));set_attribute_value(2, (v3_AxisPosition));; return *this; } // Function implementations for IfcSurfaceReinforcementArea std::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_tc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } @@ -15319,7 +15319,7 @@ void Ifc4x3_tc1::IfcSurfaceReinforcementArea::setShearReinforcement(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceReinforcementArea::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1129]); } -void Ifc4x3_tc1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); } } +Ifc4x3_tc1::IfcSurfaceReinforcementArea Ifc4x3_tc1::IfcSurfaceReinforcementArea::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; return *this; } // Function implementations for IfcSurfaceStyle ::Ifc4x3_tc1::IfcSurfaceSide::Value Ifc4x3_tc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_tc1::IfcSurfaceSide::FromString(get_attribute_value(1)); } @@ -15329,7 +15329,7 @@ void Ifc4x3_tc1::IfcSurfaceStyle::setStyles(const std::vector< ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1131]); } -void Ifc4x3_tc1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles)); } +Ifc4x3_tc1::IfcSurfaceStyle Ifc4x3_tc1::IfcSurfaceStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect > v3_Styles) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, cast_vector(v3_Styles));; return *this; } // Function implementations for IfcSurfaceStyleLighting ::Ifc4x3_tc1::IfcColourRgb Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcColourRgb>(); } @@ -15343,7 +15343,7 @@ void Ifc4x3_tc1::IfcSurfaceStyleLighting::setReflectanceColour(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceStyleLighting::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1133]); } -void Ifc4x3_tc1::IfcSurfaceStyleLighting::initialize(::Ifc4x3_tc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_tc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour)); } +Ifc4x3_tc1::IfcSurfaceStyleLighting Ifc4x3_tc1::IfcSurfaceStyleLighting::initialize(::Ifc4x3_tc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_tc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v4_ReflectanceColour) { set_attribute_value(0, (v1_DiffuseTransmissionColour));set_attribute_value(1, (v2_DiffuseReflectionColour));set_attribute_value(2, (v3_TransmissionColour));set_attribute_value(3, (v4_ReflectanceColour));; return *this; } // Function implementations for IfcSurfaceStyleRefraction std::optional< double > Ifc4x3_tc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } double v = get_attribute_value(0); return v; } @@ -15353,7 +15353,7 @@ void Ifc4x3_tc1::IfcSurfaceStyleRefraction::setDispersionFactor(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceStyleRefraction::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1134]); } -void Ifc4x3_tc1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); } } +Ifc4x3_tc1::IfcSurfaceStyleRefraction Ifc4x3_tc1::IfcSurfaceStyleRefraction::initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; return *this; } // Function implementations for IfcSurfaceStyleRendering ::Ifc4x3_tc1::IfcColourOrFactor Ifc4x3_tc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return ::Ifc4x3_tc1::IfcColourOrFactor{}; } return ((express::Base)(get_attribute_value(2))).as<::Ifc4x3_tc1::IfcColourOrFactor>(); } @@ -15373,7 +15373,7 @@ void Ifc4x3_tc1::IfcSurfaceStyleRendering::setReflectanceMethod(const ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceStyleRendering::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1135]); } -void Ifc4x3_tc1::IfcSurfaceStyleRendering::initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_tc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_tc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_tc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_tc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod))); } +Ifc4x3_tc1::IfcSurfaceStyleRendering Ifc4x3_tc1::IfcSurfaceStyleRendering::initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_tc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_tc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_tc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_tc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, (v3_DiffuseColour));set_attribute_value(3, (v4_TransmissionColour));set_attribute_value(4, (v5_DiffuseTransmissionColour));set_attribute_value(5, (v6_ReflectionColour));set_attribute_value(6, (v7_SpecularColour));set_attribute_value(7, (v8_SpecularHighlight));set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; return *this; } // Function implementations for IfcSurfaceStyleShading ::Ifc4x3_tc1::IfcColourRgb Ifc4x3_tc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcColourRgb>(); } @@ -15383,7 +15383,7 @@ void Ifc4x3_tc1::IfcSurfaceStyleShading::setTransparency(const std::optional< do const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceStyleShading::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1136]); } -void Ifc4x3_tc1::IfcSurfaceStyleShading::initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); } } +Ifc4x3_tc1::IfcSurfaceStyleShading Ifc4x3_tc1::IfcSurfaceStyleShading::initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency) { set_attribute_value(0, (v1_SurfaceColour)); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; return *this; } // Function implementations for IfcSurfaceStyleWithTextures std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > Ifc4x3_tc1::IfcSurfaceStyleWithTextures::Textures() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcSurfaceTexture>(es); } @@ -15391,7 +15391,7 @@ void Ifc4x3_tc1::IfcSurfaceStyleWithTextures::setTextures(const std::vector< ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceStyleWithTextures::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1137]); } -void Ifc4x3_tc1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures)); } +Ifc4x3_tc1::IfcSurfaceStyleWithTextures Ifc4x3_tc1::IfcSurfaceStyleWithTextures::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Textures) { set_attribute_value(0, cast_vector(v1_Textures));; return *this; } // Function implementations for IfcSurfaceTexture bool Ifc4x3_tc1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } @@ -15409,7 +15409,7 @@ std::vector<::Ifc4x3_tc1::IfcTextureCoordinate> Ifc4x3_tc1::IfcSurfaceTexture::I std::vector<::Ifc4x3_tc1::IfcSurfaceStyleWithTextures> Ifc4x3_tc1::IfcSurfaceTexture::UsedInStyles() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[1137], 0)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcSurfaceTexture::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1138]); } -void Ifc4x3_tc1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); } } +Ifc4x3_tc1::IfcSurfaceTexture Ifc4x3_tc1::IfcSurfaceTexture::initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, (v4_TextureTransform)); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; return *this; } // Function implementations for IfcSweptAreaSolid ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcSweptAreaSolid::SweptArea() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -15419,7 +15419,7 @@ void Ifc4x3_tc1::IfcSweptAreaSolid::setPosition(const ::Ifc4x3_tc1::IfcAxis2Plac const ifcopenshell::entity& Ifc4x3_tc1::IfcSweptAreaSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1139]); } -void Ifc4x3_tc1::IfcSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position)); } +Ifc4x3_tc1::IfcSweptAreaSolid Ifc4x3_tc1::IfcSweptAreaSolid::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptArea));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSweptDiskSolid ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcSweptDiskSolid::Directrix() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -15435,7 +15435,7 @@ void Ifc4x3_tc1::IfcSweptDiskSolid::setEndParam(const std::optional< double >& v const ifcopenshell::entity& Ifc4x3_tc1::IfcSweptDiskSolid::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1140]); } -void Ifc4x3_tc1::IfcSweptDiskSolid::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } } +Ifc4x3_tc1::IfcSweptDiskSolid Ifc4x3_tc1::IfcSweptDiskSolid::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; return *this; } // Function implementations for IfcSweptDiskSolidPolygonal std::optional< double > Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } double v = get_attribute_value(5); return v; } @@ -15443,7 +15443,7 @@ void Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::setFilletRadius(const std::optional const ifcopenshell::entity& Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1141]); } -void Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); } } +Ifc4x3_tc1::IfcSweptDiskSolidPolygonal Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius) { set_attribute_value(0, (v1_Directrix));set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; return *this; } // Function implementations for IfcSweptSurface ::Ifc4x3_tc1::IfcProfileDef Ifc4x3_tc1::IfcSweptSurface::SweptCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcProfileDef>(); } @@ -15453,7 +15453,7 @@ void Ifc4x3_tc1::IfcSweptSurface::setPosition(const ::Ifc4x3_tc1::IfcAxis2Placem const ifcopenshell::entity& Ifc4x3_tc1::IfcSweptSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1142]); } -void Ifc4x3_tc1::IfcSweptSurface::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position)); } +Ifc4x3_tc1::IfcSweptSurface Ifc4x3_tc1::IfcSweptSurface::initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position) { set_attribute_value(0, (v1_SweptCurve));set_attribute_value(1, (v2_Position));; return *this; } // Function implementations for IfcSwitchingDevice std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_tc1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } @@ -15461,7 +15461,7 @@ void Ifc4x3_tc1::IfcSwitchingDevice::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcSwitchingDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1143]); } -void Ifc4x3_tc1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSwitchingDevice Ifc4x3_tc1::IfcSwitchingDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSwitchingDeviceType ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_tc1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } @@ -15469,7 +15469,7 @@ void Ifc4x3_tc1::IfcSwitchingDeviceType::setPredefinedType(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcSwitchingDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1144]); } -void Ifc4x3_tc1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcSwitchingDeviceType Ifc4x3_tc1::IfcSwitchingDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcSystem @@ -15477,7 +15477,7 @@ std::vector<::Ifc4x3_tc1::IfcRelServicesBuildings> Ifc4x3_tc1::IfcSystem::Servic std::vector<::Ifc4x3_tc1::IfcRelReferencedInSpatialStructure> Ifc4x3_tc1::IfcSystem::ServicesFacilities() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[940], 4)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcSystem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1146]); } -void Ifc4x3_tc1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } } +Ifc4x3_tc1::IfcSystem Ifc4x3_tc1::IfcSystem::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; return *this; } // Function implementations for IfcSystemFurnitureElement std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_tc1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15485,7 +15485,7 @@ void Ifc4x3_tc1::IfcSystemFurnitureElement::setPredefinedType(const std::optiona const ifcopenshell::entity& Ifc4x3_tc1::IfcSystemFurnitureElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1147]); } -void Ifc4x3_tc1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcSystemFurnitureElement Ifc4x3_tc1::IfcSystemFurnitureElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcSystemFurnitureElementType std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_tc1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15493,7 +15493,7 @@ void Ifc4x3_tc1::IfcSystemFurnitureElementType::setPredefinedType(const std::opt const ifcopenshell::entity& Ifc4x3_tc1::IfcSystemFurnitureElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1148]); } -void Ifc4x3_tc1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcSystemFurnitureElementType Ifc4x3_tc1::IfcSystemFurnitureElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTShapeProfileDef double Ifc4x3_tc1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -15517,7 +15517,7 @@ void Ifc4x3_tc1::IfcTShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_tc1::IfcTShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1234]); } -void Ifc4x3_tc1::IfcTShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } } +Ifc4x3_tc1::IfcTShapeProfileDef Ifc4x3_tc1::IfcTShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; return *this; } // Function implementations for IfcTable std::optional< std::string > Ifc4x3_tc1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15529,7 +15529,7 @@ void Ifc4x3_tc1::IfcTable::setColumns(const std::optional< std::vector< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcTable::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1150]); } -void Ifc4x3_tc1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); } } +Ifc4x3_tc1::IfcTable Ifc4x3_tc1::IfcTable::initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableColumn > > v3_Columns) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, cast_vector(*v2_Rows)); } if (v3_Columns) {set_attribute_value(2, cast_vector(*v3_Columns)); }; return *this; } // Function implementations for IfcTableColumn std::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::string v = get_attribute_value(0); return v; } @@ -15545,7 +15545,7 @@ void Ifc4x3_tc1::IfcTableColumn::setReferencePath(const ::Ifc4x3_tc1::IfcReferen const ifcopenshell::entity& Ifc4x3_tc1::IfcTableColumn::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1151]); } -void Ifc4x3_tc1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit v4_Unit, ::Ifc4x3_tc1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath)); } +Ifc4x3_tc1::IfcTableColumn Ifc4x3_tc1::IfcTableColumn::initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit v4_Unit, ::Ifc4x3_tc1::IfcReference v5_ReferencePath) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Unit));set_attribute_value(4, (v5_ReferencePath));; return *this; } // Function implementations for IfcTableRow std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcValue>(es); } @@ -15555,7 +15555,7 @@ void Ifc4x3_tc1::IfcTableRow::setIsHeading(const std::optional< bool >& v) { if const ifcopenshell::entity& Ifc4x3_tc1::IfcTableRow::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1152]); } -void Ifc4x3_tc1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); } } +Ifc4x3_tc1::IfcTableRow Ifc4x3_tc1::IfcTableRow::initialize(std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading) { if (v1_RowCells) {set_attribute_value(0, cast_vector(*v1_RowCells)); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; return *this; } // Function implementations for IfcTank std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > Ifc4x3_tc1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } @@ -15563,7 +15563,7 @@ void Ifc4x3_tc1::IfcTank::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcTank::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1153]); } -void Ifc4x3_tc1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcTank Ifc4x3_tc1::IfcTank::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTankType ::Ifc4x3_tc1::IfcTankTypeEnum::Value Ifc4x3_tc1::IfcTankType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } @@ -15571,7 +15571,7 @@ void Ifc4x3_tc1::IfcTankType::setPredefinedType(const ::Ifc4x3_tc1::IfcTankTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcTankType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1154]); } -void Ifc4x3_tc1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTankType Ifc4x3_tc1::IfcTankType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTankTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTask std::optional< std::string > Ifc4x3_tc1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return std::nullopt; } std::string v = get_attribute_value(7); return v; } @@ -15589,7 +15589,7 @@ void Ifc4x3_tc1::IfcTask::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcTask::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1156]); } -void Ifc4x3_tc1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_tc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); } } +Ifc4x3_tc1::IfcTask Ifc4x3_tc1::IfcTask::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_tc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v13_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, (v12_TaskTime)); if (v13_PredefinedType) {set_attribute_value(12, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; return *this; } // Function implementations for IfcTaskTime std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > Ifc4x3_tc1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } @@ -15629,7 +15629,7 @@ void Ifc4x3_tc1::IfcTaskTime::setCompletion(const std::optional< double >& v) { const ifcopenshell::entity& Ifc4x3_tc1::IfcTaskTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1158]); } -void Ifc4x3_tc1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); } } +Ifc4x3_tc1::IfcTaskTime Ifc4x3_tc1::IfcTaskTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; return *this; } // Function implementations for IfcTaskTimeRecurring ::Ifc4x3_tc1::IfcRecurrencePattern Ifc4x3_tc1::IfcTaskTimeRecurring::Recurrence() const { return ((express::Base)(get_attribute_value(20))).as<::Ifc4x3_tc1::IfcRecurrencePattern>(); } @@ -15637,7 +15637,7 @@ void Ifc4x3_tc1::IfcTaskTimeRecurring::setRecurrence(const ::Ifc4x3_tc1::IfcRecu const ifcopenshell::entity& Ifc4x3_tc1::IfcTaskTimeRecurring::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1159]); } -void Ifc4x3_tc1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_tc1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence)); } +Ifc4x3_tc1::IfcTaskTimeRecurring Ifc4x3_tc1::IfcTaskTimeRecurring::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_tc1::IfcRecurrencePattern v21_Recurrence) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, (v21_Recurrence));; return *this; } // Function implementations for IfcTaskType ::Ifc4x3_tc1::IfcTaskTypeEnum::Value Ifc4x3_tc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } @@ -15647,7 +15647,7 @@ void Ifc4x3_tc1::IfcTaskType::setWorkMethod(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_tc1::IfcTaskType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1160]); } -void Ifc4x3_tc1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); } } +Ifc4x3_tc1::IfcTaskType Ifc4x3_tc1::IfcTaskType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; return *this; } // Function implementations for IfcTelecomAddress std::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return std::nullopt; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } @@ -15665,7 +15665,7 @@ void Ifc4x3_tc1::IfcTelecomAddress::setMessagingIDs(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_tc1::IfcTelecomAddress::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1162]); } -void Ifc4x3_tc1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); } } +Ifc4x3_tc1::IfcTelecomAddress Ifc4x3_tc1::IfcTelecomAddress::initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) { if (v1_Purpose) {set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; return *this; } // Function implementations for IfcTendon std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > Ifc4x3_tc1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15687,7 +15687,7 @@ void Ifc4x3_tc1::IfcTendon::setMinCurvatureRadius(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_tc1::IfcTendon::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1165]); } -void Ifc4x3_tc1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); } } +Ifc4x3_tc1::IfcTendon Ifc4x3_tc1::IfcTendon::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; return *this; } // Function implementations for IfcTendonAnchor std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_tc1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15695,7 +15695,7 @@ void Ifc4x3_tc1::IfcTendonAnchor::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcTendonAnchor::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1166]); } -void Ifc4x3_tc1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); } } +Ifc4x3_tc1::IfcTendonAnchor Ifc4x3_tc1::IfcTendonAnchor::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; return *this; } // Function implementations for IfcTendonAnchorType ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_tc1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } @@ -15703,7 +15703,7 @@ void Ifc4x3_tc1::IfcTendonAnchorType::setPredefinedType(const ::Ifc4x3_tc1::IfcT const ifcopenshell::entity& Ifc4x3_tc1::IfcTendonAnchorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1167]); } -void Ifc4x3_tc1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTendonAnchorType Ifc4x3_tc1::IfcTendonAnchorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduit ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15711,7 +15711,7 @@ void Ifc4x3_tc1::IfcTendonConduit::setPredefinedType(const ::Ifc4x3_tc1::IfcTend const ifcopenshell::entity& Ifc4x3_tc1::IfcTendonConduit::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1169]); } -void Ifc4x3_tc1::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTendonConduit Ifc4x3_tc1::IfcTendonConduit::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonConduitType ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } @@ -15719,7 +15719,7 @@ void Ifc4x3_tc1::IfcTendonConduitType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcTendonConduitType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1170]); } -void Ifc4x3_tc1::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTendonConduitType Ifc4x3_tc1::IfcTendonConduitType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTendonType ::Ifc4x3_tc1::IfcTendonTypeEnum::Value Ifc4x3_tc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } @@ -15733,7 +15733,7 @@ void Ifc4x3_tc1::IfcTendonType::setSheathDiameter(const std::optional< double >& const ifcopenshell::entity& Ifc4x3_tc1::IfcTendonType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1172]); } -void Ifc4x3_tc1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); } } +Ifc4x3_tc1::IfcTendonType Ifc4x3_tc1::IfcTendonType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; return *this; } // Function implementations for IfcTessellatedFaceSet ::Ifc4x3_tc1::IfcCartesianPointList3D Ifc4x3_tc1::IfcTessellatedFaceSet::Coordinates() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCartesianPointList3D>(); } @@ -15743,13 +15743,13 @@ std::vector<::Ifc4x3_tc1::IfcIndexedColourMap> Ifc4x3_tc1::IfcTessellatedFaceSet std::vector<::Ifc4x3_tc1::IfcIndexedTextureMap> Ifc4x3_tc1::IfcTessellatedFaceSet::HasTextures() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[546], 1)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTessellatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1174]); } -void Ifc4x3_tc1::IfcTessellatedFaceSet::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_tc1::IfcTessellatedFaceSet Ifc4x3_tc1::IfcTessellatedFaceSet::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTessellatedItem const ifcopenshell::entity& Ifc4x3_tc1::IfcTessellatedItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1175]); } -void Ifc4x3_tc1::IfcTessellatedItem::initialize() { } +Ifc4x3_tc1::IfcTessellatedItem Ifc4x3_tc1::IfcTessellatedItem::initialize() { ; return *this; } // Function implementations for IfcTextLiteral std::string Ifc4x3_tc1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } @@ -15761,7 +15761,7 @@ void Ifc4x3_tc1::IfcTextLiteral::setPath(const ::Ifc4x3_tc1::IfcTextPath::Value& const ifcopenshell::entity& Ifc4x3_tc1::IfcTextLiteral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1181]); } -void Ifc4x3_tc1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path))); } +Ifc4x3_tc1::IfcTextLiteral Ifc4x3_tc1::IfcTextLiteral::initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));; return *this; } // Function implementations for IfcTextLiteralWithExtent ::Ifc4x3_tc1::IfcPlanarExtent Ifc4x3_tc1::IfcTextLiteralWithExtent::Extent() const { return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcPlanarExtent>(); } @@ -15771,7 +15771,7 @@ void Ifc4x3_tc1::IfcTextLiteralWithExtent::setBoxAlignment(const std::string& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcTextLiteralWithExtent::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1182]); } -void Ifc4x3_tc1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path, ::Ifc4x3_tc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment)); } +Ifc4x3_tc1::IfcTextLiteralWithExtent Ifc4x3_tc1::IfcTextLiteralWithExtent::initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path, ::Ifc4x3_tc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, (v2_Placement));set_attribute_value(2, (enumeration_reference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, (v4_Extent));set_attribute_value(4, (v5_BoxAlignment));; return *this; } // Function implementations for IfcTextStyle ::Ifc4x3_tc1::IfcTextStyleForDefinedFont Ifc4x3_tc1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return ::Ifc4x3_tc1::IfcTextStyleForDefinedFont{}; } return ((express::Base)(get_attribute_value(1))).as<::Ifc4x3_tc1::IfcTextStyleForDefinedFont>(); } @@ -15785,7 +15785,7 @@ void Ifc4x3_tc1::IfcTextStyle::setModelOrDraughting(const std::optional< bool >& const ifcopenshell::entity& Ifc4x3_tc1::IfcTextStyle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1184]); } -void Ifc4x3_tc1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_tc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_tc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); } } +Ifc4x3_tc1::IfcTextStyle Ifc4x3_tc1::IfcTextStyle::initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_tc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_tc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_TextCharacterAppearance));set_attribute_value(2, (v3_TextStyle));set_attribute_value(3, (v4_TextFontStyle)); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; return *this; } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ Ifc4x3_tc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } @@ -15801,7 +15801,7 @@ void Ifc4x3_tc1::IfcTextStyleFontModel::setFontSize(const ::Ifc4x3_tc1::IfcSizeS const ifcopenshell::entity& Ifc4x3_tc1::IfcTextStyleFontModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1185]); } -void Ifc4x3_tc1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_tc1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize)); } +Ifc4x3_tc1::IfcTextStyleFontModel Ifc4x3_tc1::IfcTextStyleFontModel::initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_tc1::IfcSizeSelect v6_FontSize) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, (v6_FontSize));; return *this; } // Function implementations for IfcTextStyleForDefinedFont ::Ifc4x3_tc1::IfcColour Ifc4x3_tc1::IfcTextStyleForDefinedFont::Colour() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcColour>(); } @@ -15811,7 +15811,7 @@ void Ifc4x3_tc1::IfcTextStyleForDefinedFont::setBackgroundColour(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcTextStyleForDefinedFont::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1186]); } -void Ifc4x3_tc1::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_tc1::IfcColour v1_Colour, ::Ifc4x3_tc1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour)); } +Ifc4x3_tc1::IfcTextStyleForDefinedFont Ifc4x3_tc1::IfcTextStyleForDefinedFont::initialize(::Ifc4x3_tc1::IfcColour v1_Colour, ::Ifc4x3_tc1::IfcColour v2_BackgroundColour) { set_attribute_value(0, (v1_Colour));set_attribute_value(1, (v2_BackgroundColour));; return *this; } // Function implementations for IfcTextStyleTextModel ::Ifc4x3_tc1::IfcSizeSelect Ifc4x3_tc1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return ::Ifc4x3_tc1::IfcSizeSelect{}; } return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcSizeSelect>(); } @@ -15831,7 +15831,7 @@ void Ifc4x3_tc1::IfcTextStyleTextModel::setLineHeight(const ::Ifc4x3_tc1::IfcSiz const ifcopenshell::entity& Ifc4x3_tc1::IfcTextStyleTextModel::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1187]); } -void Ifc4x3_tc1::IfcTextStyleTextModel::initialize(::Ifc4x3_tc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_tc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_tc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_tc1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight)); } +Ifc4x3_tc1::IfcTextStyleTextModel Ifc4x3_tc1::IfcTextStyleTextModel::initialize(::Ifc4x3_tc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_tc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_tc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_tc1::IfcSizeSelect v7_LineHeight) { set_attribute_value(0, (v1_TextIndent)); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, (v4_LetterSpacing));set_attribute_value(4, (v5_WordSpacing)); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, (v7_LineHeight));; return *this; } // Function implementations for IfcTextureCoordinate std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > Ifc4x3_tc1::IfcTextureCoordinate::Maps() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcSurfaceTexture>(es); } @@ -15839,7 +15839,7 @@ void Ifc4x3_tc1::IfcTextureCoordinate::setMaps(const std::vector< ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureCoordinate::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1189]); } -void Ifc4x3_tc1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps)); } +Ifc4x3_tc1::IfcTextureCoordinate Ifc4x3_tc1::IfcTextureCoordinate::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps) { set_attribute_value(0, cast_vector(v1_Maps));; return *this; } // Function implementations for IfcTextureCoordinateGenerator std::string Ifc4x3_tc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } @@ -15849,7 +15849,7 @@ void Ifc4x3_tc1::IfcTextureCoordinateGenerator::setParameter(const std::optional const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureCoordinateGenerator::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1190]); } -void Ifc4x3_tc1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); } } +Ifc4x3_tc1::IfcTextureCoordinateGenerator Ifc4x3_tc1::IfcTextureCoordinateGenerator::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; return *this; } // Function implementations for IfcTextureCoordinateIndices std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } @@ -15860,7 +15860,7 @@ void Ifc4x3_tc1::IfcTextureCoordinateIndices::setTexCoordsOf(const ::Ifc4x3_tc1: std::vector<::Ifc4x3_tc1::IfcIndexedPolygonalTextureMap> Ifc4x3_tc1::IfcTextureCoordinateIndices::ToTexMap() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[545], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureCoordinateIndices::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1191]); } -void Ifc4x3_tc1::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf)); } +Ifc4x3_tc1::IfcTextureCoordinateIndices Ifc4x3_tc1::IfcTextureCoordinateIndices::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));; return *this; } // Function implementations for IfcTextureCoordinateIndicesWithVoids std::vector< std::vector< int > > Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } @@ -15868,7 +15868,7 @@ void Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices(c const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1192]); } -void Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices)); } +Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, (v2_TexCoordsOf));set_attribute_value(2, (v3_InnerTexCoordIndices));; return *this; } // Function implementations for IfcTextureMap std::vector< ::Ifc4x3_tc1::IfcTextureVertex > Ifc4x3_tc1::IfcTextureMap::Vertices() const { std::vector es = get_attribute_value(1); return cast_vector<::Ifc4x3_tc1::IfcTextureVertex>(es); } @@ -15878,7 +15878,7 @@ void Ifc4x3_tc1::IfcTextureMap::setMappedTo(const ::Ifc4x3_tc1::IfcFace& v) { se const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureMap::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1193]); } -void Ifc4x3_tc1::IfcTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_tc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_tc1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo)); } +Ifc4x3_tc1::IfcTextureMap Ifc4x3_tc1::IfcTextureMap::initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_tc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_tc1::IfcFace v3_MappedTo) { set_attribute_value(0, cast_vector(v1_Maps));set_attribute_value(1, cast_vector(v2_Vertices));set_attribute_value(2, (v3_MappedTo));; return *this; } // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ Ifc4x3_tc1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } @@ -15886,7 +15886,7 @@ void Ifc4x3_tc1::IfcTextureVertex::setCoordinates(const std::vector< double > /* const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1194]); } -void Ifc4x3_tc1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates)); } +Ifc4x3_tc1::IfcTextureVertex Ifc4x3_tc1::IfcTextureVertex::initialize(std::vector< double > /*[2:2]*/ v1_Coordinates) { set_attribute_value(0, (v1_Coordinates));; return *this; } // Function implementations for IfcTextureVertexList std::vector< std::vector< double > > Ifc4x3_tc1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } @@ -15894,7 +15894,7 @@ void Ifc4x3_tc1::IfcTextureVertexList::setTexCoordsList(const std::vector< std:: const ifcopenshell::entity& Ifc4x3_tc1::IfcTextureVertexList::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1195]); } -void Ifc4x3_tc1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList)); } +Ifc4x3_tc1::IfcTextureVertexList Ifc4x3_tc1::IfcTextureVertexList::initialize(std::vector< std::vector< double > > v1_TexCoordsList) { set_attribute_value(0, (v1_TexCoordsList));; return *this; } // Function implementations for IfcThirdOrderPolynomialSpiral double Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } @@ -15908,7 +15908,7 @@ void Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::setConstantTerm(const std::optio const ifcopenshell::entity& Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1202]); } -void Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); } } +Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; return *this; } // Function implementations for IfcTimePeriod std::string Ifc4x3_tc1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } @@ -15918,7 +15918,7 @@ void Ifc4x3_tc1::IfcTimePeriod::setEndTime(const std::string& v) { set_attribute const ifcopenshell::entity& Ifc4x3_tc1::IfcTimePeriod::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1206]); } -void Ifc4x3_tc1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime)); } +Ifc4x3_tc1::IfcTimePeriod Ifc4x3_tc1::IfcTimePeriod::initialize(std::string v1_StartTime, std::string v2_EndTime) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; return *this; } // Function implementations for IfcTimeSeries std::string Ifc4x3_tc1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } @@ -15941,7 +15941,7 @@ void Ifc4x3_tc1::IfcTimeSeries::setUnit(const ::Ifc4x3_tc1::IfcUnit& v) { set_at std::vector<::Ifc4x3_tc1::IfcExternalReferenceRelationship> Ifc4x3_tc1::IfcTimeSeries::HasExternalReference() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[427], 3)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTimeSeries::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1207]); } -void Ifc4x3_tc1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit)); } +Ifc4x3_tc1::IfcTimeSeries Ifc4x3_tc1::IfcTimeSeries::initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, (v8_Unit));; return *this; } // Function implementations for IfcTimeSeriesValue std::vector< ::Ifc4x3_tc1::IfcValue > Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcValue>(es); } @@ -15949,19 +15949,19 @@ void Ifc4x3_tc1::IfcTimeSeriesValue::setListValues(const std::vector< ::Ifc4x3_t const ifcopenshell::entity& Ifc4x3_tc1::IfcTimeSeriesValue::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1209]); } -void Ifc4x3_tc1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_tc1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues)); } +Ifc4x3_tc1::IfcTimeSeriesValue Ifc4x3_tc1::IfcTimeSeriesValue::initialize(std::vector< ::Ifc4x3_tc1::IfcValue > v1_ListValues) { set_attribute_value(0, cast_vector(v1_ListValues));; return *this; } // Function implementations for IfcTopologicalRepresentationItem const ifcopenshell::entity& Ifc4x3_tc1::IfcTopologicalRepresentationItem::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1211]); } -void Ifc4x3_tc1::IfcTopologicalRepresentationItem::initialize() { } +Ifc4x3_tc1::IfcTopologicalRepresentationItem Ifc4x3_tc1::IfcTopologicalRepresentationItem::initialize() { ; return *this; } // Function implementations for IfcTopologyRepresentation const ifcopenshell::entity& Ifc4x3_tc1::IfcTopologyRepresentation::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1212]); } -void Ifc4x3_tc1::IfcTopologyRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items)); } +Ifc4x3_tc1::IfcTopologyRepresentation Ifc4x3_tc1::IfcTopologyRepresentation::initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items) { set_attribute_value(0, (v1_ContextOfItems)); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, cast_vector(v4_Items));; return *this; } // Function implementations for IfcToroidalSurface double Ifc4x3_tc1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } @@ -15971,7 +15971,7 @@ void Ifc4x3_tc1::IfcToroidalSurface::setMinorRadius(const double& v) { set_attri const ifcopenshell::entity& Ifc4x3_tc1::IfcToroidalSurface::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1213]); } -void Ifc4x3_tc1::IfcToroidalSurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius)); } +Ifc4x3_tc1::IfcToroidalSurface Ifc4x3_tc1::IfcToroidalSurface::initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius) { set_attribute_value(0, (v1_Position));set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; return *this; } // Function implementations for IfcTrackElement std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > Ifc4x3_tc1::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } @@ -15979,7 +15979,7 @@ void Ifc4x3_tc1::IfcTrackElement::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcTrackElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1215]); } -void Ifc4x3_tc1::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcTrackElement Ifc4x3_tc1::IfcTrackElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTrackElementType ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value Ifc4x3_tc1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } @@ -15987,7 +15987,7 @@ void Ifc4x3_tc1::IfcTrackElementType::setPredefinedType(const ::Ifc4x3_tc1::IfcT const ifcopenshell::entity& Ifc4x3_tc1::IfcTrackElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1216]); } -void Ifc4x3_tc1::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTrackElementType Ifc4x3_tc1::IfcTrackElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransformer std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > Ifc4x3_tc1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } @@ -15995,7 +15995,7 @@ void Ifc4x3_tc1::IfcTransformer::setPredefinedType(const std::optional< ::Ifc4x3 const ifcopenshell::entity& Ifc4x3_tc1::IfcTransformer::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1218]); } -void Ifc4x3_tc1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcTransformer Ifc4x3_tc1::IfcTransformer::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransformerType ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value Ifc4x3_tc1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } @@ -16003,7 +16003,7 @@ void Ifc4x3_tc1::IfcTransformerType::setPredefinedType(const ::Ifc4x3_tc1::IfcTr const ifcopenshell::entity& Ifc4x3_tc1::IfcTransformerType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1219]); } -void Ifc4x3_tc1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTransformerType Ifc4x3_tc1::IfcTransformerType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportElement std::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > Ifc4x3_tc1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16011,7 +16011,7 @@ void Ifc4x3_tc1::IfcTransportElement::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcTransportElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1225]); } -void Ifc4x3_tc1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcTransportElement Ifc4x3_tc1::IfcTransportElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTransportElementType ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value Ifc4x3_tc1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16019,19 +16019,19 @@ void Ifc4x3_tc1::IfcTransportElementType::setPredefinedType(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcTransportElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1226]); } -void Ifc4x3_tc1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTransportElementType Ifc4x3_tc1::IfcTransportElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTransportationDevice const ifcopenshell::entity& Ifc4x3_tc1::IfcTransportationDevice::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1223]); } -void Ifc4x3_tc1::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcTransportationDevice Ifc4x3_tc1::IfcTransportationDevice::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTransportationDeviceType const ifcopenshell::entity& Ifc4x3_tc1::IfcTransportationDeviceType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1224]); } -void Ifc4x3_tc1::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } } +Ifc4x3_tc1::IfcTransportationDeviceType Ifc4x3_tc1::IfcTransportationDeviceType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; return *this; } // Function implementations for IfcTrapeziumProfileDef double Ifc4x3_tc1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } @@ -16045,7 +16045,7 @@ void Ifc4x3_tc1::IfcTrapeziumProfileDef::setTopXOffset(const double& v) { set_at const ifcopenshell::entity& Ifc4x3_tc1::IfcTrapeziumProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1228]); } -void Ifc4x3_tc1::IfcTrapeziumProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset)); } +Ifc4x3_tc1::IfcTrapeziumProfileDef Ifc4x3_tc1::IfcTrapeziumProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; return *this; } // Function implementations for IfcTriangulatedFaceSet std::optional< std::vector< std::vector< double > > > Ifc4x3_tc1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return std::nullopt; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } @@ -16059,7 +16059,7 @@ void Ifc4x3_tc1::IfcTriangulatedFaceSet::setPnIndex(const std::optional< std::ve const ifcopenshell::entity& Ifc4x3_tc1::IfcTriangulatedFaceSet::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1229]); } -void Ifc4x3_tc1::IfcTriangulatedFaceSet::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); } } +Ifc4x3_tc1::IfcTriangulatedFaceSet Ifc4x3_tc1::IfcTriangulatedFaceSet::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; return *this; } // Function implementations for IfcTriangulatedIrregularNetwork std::vector< int > /*[1:?]*/ Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } @@ -16067,7 +16067,7 @@ void Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::setFlags(const std::vector< in const ifcopenshell::entity& Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1230]); } -void Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags)); } +Ifc4x3_tc1::IfcTriangulatedIrregularNetwork Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) { set_attribute_value(0, (v1_Coordinates)); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; return *this; } // Function implementations for IfcTrimmedCurve ::Ifc4x3_tc1::IfcCurve Ifc4x3_tc1::IfcTrimmedCurve::BasisCurve() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcCurve>(); } @@ -16083,7 +16083,7 @@ void Ifc4x3_tc1::IfcTrimmedCurve::setMasterRepresentation(const ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcTrimmedCurve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1231]); } -void Ifc4x3_tc1::IfcTrimmedCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation))); } +Ifc4x3_tc1::IfcTrimmedCurve Ifc4x3_tc1::IfcTrimmedCurve::initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) { set_attribute_value(0, (v1_BasisCurve));set_attribute_value(1, cast_vector(v2_Trim1));set_attribute_value(2, cast_vector(v3_Trim2));set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; return *this; } // Function implementations for IfcTubeBundle std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_tc1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } @@ -16091,7 +16091,7 @@ void Ifc4x3_tc1::IfcTubeBundle::setPredefinedType(const std::optional< ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcTubeBundle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1235]); } -void Ifc4x3_tc1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcTubeBundle Ifc4x3_tc1::IfcTubeBundle::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcTubeBundleType ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value Ifc4x3_tc1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } @@ -16099,7 +16099,7 @@ void Ifc4x3_tc1::IfcTubeBundleType::setPredefinedType(const ::Ifc4x3_tc1::IfcTub const ifcopenshell::entity& Ifc4x3_tc1::IfcTubeBundleType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1236]); } -void Ifc4x3_tc1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcTubeBundleType Ifc4x3_tc1::IfcTubeBundleType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcTypeObject std::optional< std::string > Ifc4x3_tc1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } std::string v = get_attribute_value(4); return v; } @@ -16110,7 +16110,7 @@ void Ifc4x3_tc1::IfcTypeObject::setHasPropertySets(const std::optional< std::vec std::vector<::Ifc4x3_tc1::IfcRelDefinesByType> Ifc4x3_tc1::IfcTypeObject::Types() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[933], 5)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTypeObject::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1238]); } -void Ifc4x3_tc1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } } +Ifc4x3_tc1::IfcTypeObject Ifc4x3_tc1::IfcTypeObject::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); }; return *this; } // Function implementations for IfcTypeProcess std::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16123,7 +16123,7 @@ void Ifc4x3_tc1::IfcTypeProcess::setProcessType(const std::optional< std::string std::vector<::Ifc4x3_tc1::IfcRelAssignsToProcess> Ifc4x3_tc1::IfcTypeProcess::OperatesOn() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[903], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTypeProcess::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1239]); } -void Ifc4x3_tc1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); } } +Ifc4x3_tc1::IfcTypeProcess Ifc4x3_tc1::IfcTypeProcess::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; return *this; } // Function implementations for IfcTypeProduct std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > Ifc4x3_tc1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_tc1::IfcRepresentationMap>(es); } @@ -16134,7 +16134,7 @@ void Ifc4x3_tc1::IfcTypeProduct::setTag(const std::optional< std::string >& v) { std::vector<::Ifc4x3_tc1::IfcRelAssignsToProduct> Ifc4x3_tc1::IfcTypeProduct::ReferencedBy() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[904], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTypeProduct::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1240]); } -void Ifc4x3_tc1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } } +Ifc4x3_tc1::IfcTypeProduct Ifc4x3_tc1::IfcTypeProduct::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; return *this; } // Function implementations for IfcTypeResource std::optional< std::string > Ifc4x3_tc1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::string v = get_attribute_value(6); return v; } @@ -16147,7 +16147,7 @@ void Ifc4x3_tc1::IfcTypeResource::setResourceType(const std::optional< std::stri std::vector<::Ifc4x3_tc1::IfcRelAssignsToResource> Ifc4x3_tc1::IfcTypeResource::ResourceOf() const { return cast_vector(file()->get_inverse(data()->id(), IFC4X3_TC1_types[905], 6)); } const ifcopenshell::entity& Ifc4x3_tc1::IfcTypeResource::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1241]); } -void Ifc4x3_tc1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } } +Ifc4x3_tc1::IfcTypeResource Ifc4x3_tc1::IfcTypeResource::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; return *this; } // Function implementations for IfcUShapeProfileDef double Ifc4x3_tc1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16167,7 +16167,7 @@ void Ifc4x3_tc1::IfcUShapeProfileDef::setFlangeSlope(const std::optional< double const ifcopenshell::entity& Ifc4x3_tc1::IfcUShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1252]); } -void Ifc4x3_tc1::IfcUShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } } +Ifc4x3_tc1::IfcUShapeProfileDef Ifc4x3_tc1::IfcUShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; return *this; } // Function implementations for IfcUnitAssignment std::vector< ::Ifc4x3_tc1::IfcUnit > Ifc4x3_tc1::IfcUnitAssignment::Units() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcUnit>(es); } @@ -16175,7 +16175,7 @@ void Ifc4x3_tc1::IfcUnitAssignment::setUnits(const std::vector< ::Ifc4x3_tc1::If const ifcopenshell::entity& Ifc4x3_tc1::IfcUnitAssignment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1249]); } -void Ifc4x3_tc1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_tc1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units)); } +Ifc4x3_tc1::IfcUnitAssignment Ifc4x3_tc1::IfcUnitAssignment::initialize(std::vector< ::Ifc4x3_tc1::IfcUnit > v1_Units) { set_attribute_value(0, cast_vector(v1_Units));; return *this; } // Function implementations for IfcUnitaryControlElement std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16183,7 +16183,7 @@ void Ifc4x3_tc1::IfcUnitaryControlElement::setPredefinedType(const std::optional const ifcopenshell::entity& Ifc4x3_tc1::IfcUnitaryControlElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1243]); } -void Ifc4x3_tc1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcUnitaryControlElement Ifc4x3_tc1::IfcUnitaryControlElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryControlElementType ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_tc1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } @@ -16191,7 +16191,7 @@ void Ifc4x3_tc1::IfcUnitaryControlElementType::setPredefinedType(const ::Ifc4x3_ const ifcopenshell::entity& Ifc4x3_tc1::IfcUnitaryControlElementType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1244]); } -void Ifc4x3_tc1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcUnitaryControlElementType Ifc4x3_tc1::IfcUnitaryControlElementType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcUnitaryEquipment std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } @@ -16199,7 +16199,7 @@ void Ifc4x3_tc1::IfcUnitaryEquipment::setPredefinedType(const std::optional< ::I const ifcopenshell::entity& Ifc4x3_tc1::IfcUnitaryEquipment::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1246]); } -void Ifc4x3_tc1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcUnitaryEquipment Ifc4x3_tc1::IfcUnitaryEquipment::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcUnitaryEquipmentType ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_tc1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } @@ -16207,7 +16207,7 @@ void Ifc4x3_tc1::IfcUnitaryEquipmentType::setPredefinedType(const ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcUnitaryEquipmentType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1247]); } -void Ifc4x3_tc1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcUnitaryEquipmentType Ifc4x3_tc1::IfcUnitaryEquipmentType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcValve std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > Ifc4x3_tc1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } @@ -16215,7 +16215,7 @@ void Ifc4x3_tc1::IfcValve::setPredefinedType(const std::optional< ::Ifc4x3_tc1:: const ifcopenshell::entity& Ifc4x3_tc1::IfcValve::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1254]); } -void Ifc4x3_tc1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcValve Ifc4x3_tc1::IfcValve::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcValveType ::Ifc4x3_tc1::IfcValveTypeEnum::Value Ifc4x3_tc1::IfcValveType::PredefinedType() const { return ::Ifc4x3_tc1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } @@ -16223,7 +16223,7 @@ void Ifc4x3_tc1::IfcValveType::setPredefinedType(const ::Ifc4x3_tc1::IfcValveTyp const ifcopenshell::entity& Ifc4x3_tc1::IfcValveType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1255]); } -void Ifc4x3_tc1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcValveType Ifc4x3_tc1::IfcValveType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcValveTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVector ::Ifc4x3_tc1::IfcDirection Ifc4x3_tc1::IfcVector::Orientation() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcDirection>(); } @@ -16233,7 +16233,7 @@ void Ifc4x3_tc1::IfcVector::setMagnitude(const double& v) { set_attribute_value( const ifcopenshell::entity& Ifc4x3_tc1::IfcVector::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1258]); } -void Ifc4x3_tc1::IfcVector::initialize(::Ifc4x3_tc1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude)); } +Ifc4x3_tc1::IfcVector Ifc4x3_tc1::IfcVector::initialize(::Ifc4x3_tc1::IfcDirection v1_Orientation, double v2_Magnitude) { set_attribute_value(0, (v1_Orientation));set_attribute_value(1, (v2_Magnitude));; return *this; } // Function implementations for IfcVehicle std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > Ifc4x3_tc1::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } @@ -16241,7 +16241,7 @@ void Ifc4x3_tc1::IfcVehicle::setPredefinedType(const std::optional< ::Ifc4x3_tc1 const ifcopenshell::entity& Ifc4x3_tc1::IfcVehicle::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1260]); } -void Ifc4x3_tc1::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcVehicle Ifc4x3_tc1::IfcVehicle::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVehicleType ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value Ifc4x3_tc1::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } @@ -16249,13 +16249,13 @@ void Ifc4x3_tc1::IfcVehicleType::setPredefinedType(const ::Ifc4x3_tc1::IfcVehicl const ifcopenshell::entity& Ifc4x3_tc1::IfcVehicleType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1261]); } -void Ifc4x3_tc1::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcVehicleType Ifc4x3_tc1::IfcVehicleType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVertex const ifcopenshell::entity& Ifc4x3_tc1::IfcVertex::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1263]); } -void Ifc4x3_tc1::IfcVertex::initialize() { } +Ifc4x3_tc1::IfcVertex Ifc4x3_tc1::IfcVertex::initialize() { ; return *this; } // Function implementations for IfcVertexLoop ::Ifc4x3_tc1::IfcVertex Ifc4x3_tc1::IfcVertexLoop::LoopVertex() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcVertex>(); } @@ -16263,7 +16263,7 @@ void Ifc4x3_tc1::IfcVertexLoop::setLoopVertex(const ::Ifc4x3_tc1::IfcVertex& v) const ifcopenshell::entity& Ifc4x3_tc1::IfcVertexLoop::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1264]); } -void Ifc4x3_tc1::IfcVertexLoop::initialize(::Ifc4x3_tc1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex)); } +Ifc4x3_tc1::IfcVertexLoop Ifc4x3_tc1::IfcVertexLoop::initialize(::Ifc4x3_tc1::IfcVertex v1_LoopVertex) { set_attribute_value(0, (v1_LoopVertex));; return *this; } // Function implementations for IfcVertexPoint ::Ifc4x3_tc1::IfcPoint Ifc4x3_tc1::IfcVertexPoint::VertexGeometry() const { return ((express::Base)(get_attribute_value(0))).as<::Ifc4x3_tc1::IfcPoint>(); } @@ -16271,7 +16271,7 @@ void Ifc4x3_tc1::IfcVertexPoint::setVertexGeometry(const ::Ifc4x3_tc1::IfcPoint& const ifcopenshell::entity& Ifc4x3_tc1::IfcVertexPoint::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1265]); } -void Ifc4x3_tc1::IfcVertexPoint::initialize(::Ifc4x3_tc1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry)); } +Ifc4x3_tc1::IfcVertexPoint Ifc4x3_tc1::IfcVertexPoint::initialize(::Ifc4x3_tc1::IfcPoint v1_VertexGeometry) { set_attribute_value(0, (v1_VertexGeometry));; return *this; } // Function implementations for IfcVibrationDamper std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_tc1::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } @@ -16279,7 +16279,7 @@ void Ifc4x3_tc1::IfcVibrationDamper::setPredefinedType(const std::optional< ::If const ifcopenshell::entity& Ifc4x3_tc1::IfcVibrationDamper::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1266]); } -void Ifc4x3_tc1::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcVibrationDamper Ifc4x3_tc1::IfcVibrationDamper::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationDamperType ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value Ifc4x3_tc1::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } @@ -16287,7 +16287,7 @@ void Ifc4x3_tc1::IfcVibrationDamperType::setPredefinedType(const ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcVibrationDamperType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1267]); } -void Ifc4x3_tc1::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcVibrationDamperType Ifc4x3_tc1::IfcVibrationDamperType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVibrationIsolator std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_tc1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } @@ -16295,7 +16295,7 @@ void Ifc4x3_tc1::IfcVibrationIsolator::setPredefinedType(const std::optional< :: const ifcopenshell::entity& Ifc4x3_tc1::IfcVibrationIsolator::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1269]); } -void Ifc4x3_tc1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcVibrationIsolator Ifc4x3_tc1::IfcVibrationIsolator::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVibrationIsolatorType ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_tc1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } @@ -16303,7 +16303,7 @@ void Ifc4x3_tc1::IfcVibrationIsolatorType::setPredefinedType(const ::Ifc4x3_tc1: const ifcopenshell::entity& Ifc4x3_tc1::IfcVibrationIsolatorType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1270]); } -void Ifc4x3_tc1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcVibrationIsolatorType Ifc4x3_tc1::IfcVibrationIsolatorType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcVirtualElement std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > Ifc4x3_tc1::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } @@ -16311,7 +16311,7 @@ void Ifc4x3_tc1::IfcVirtualElement::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcVirtualElement::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1272]); } -void Ifc4x3_tc1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcVirtualElement Ifc4x3_tc1::IfcVirtualElement::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcVirtualGridIntersection std::vector< ::Ifc4x3_tc1::IfcGridAxis > Ifc4x3_tc1::IfcVirtualGridIntersection::IntersectingAxes() const { std::vector es = get_attribute_value(0); return cast_vector<::Ifc4x3_tc1::IfcGridAxis>(es); } @@ -16321,7 +16321,7 @@ void Ifc4x3_tc1::IfcVirtualGridIntersection::setOffsetDistances(const std::vecto const ifcopenshell::entity& Ifc4x3_tc1::IfcVirtualGridIntersection::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1274]); } -void Ifc4x3_tc1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_tc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances)); } +Ifc4x3_tc1::IfcVirtualGridIntersection Ifc4x3_tc1::IfcVirtualGridIntersection::initialize(std::vector< ::Ifc4x3_tc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) { set_attribute_value(0, cast_vector(v1_IntersectingAxes));set_attribute_value(1, (v2_OffsetDistances));; return *this; } // Function implementations for IfcVoidingFeature std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_tc1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } @@ -16329,7 +16329,7 @@ void Ifc4x3_tc1::IfcVoidingFeature::setPredefinedType(const std::optional< ::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcVoidingFeature::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1275]); } -void Ifc4x3_tc1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcVoidingFeature Ifc4x3_tc1::IfcVoidingFeature::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWall std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > Ifc4x3_tc1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } @@ -16337,13 +16337,13 @@ void Ifc4x3_tc1::IfcWall::setPredefinedType(const std::optional< ::Ifc4x3_tc1::I const ifcopenshell::entity& Ifc4x3_tc1::IfcWall::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1279]); } -void Ifc4x3_tc1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcWall Ifc4x3_tc1::IfcWall::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallStandardCase const ifcopenshell::entity& Ifc4x3_tc1::IfcWallStandardCase::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1280]); } -void Ifc4x3_tc1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcWallStandardCase Ifc4x3_tc1::IfcWallStandardCase::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWallType ::Ifc4x3_tc1::IfcWallTypeEnum::Value Ifc4x3_tc1::IfcWallType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } @@ -16351,7 +16351,7 @@ void Ifc4x3_tc1::IfcWallType::setPredefinedType(const ::Ifc4x3_tc1::IfcWallTypeE const ifcopenshell::entity& Ifc4x3_tc1::IfcWallType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1281]); } -void Ifc4x3_tc1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcWallType Ifc4x3_tc1::IfcWallType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWallTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWasteTerminal std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_tc1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } @@ -16359,7 +16359,7 @@ void Ifc4x3_tc1::IfcWasteTerminal::setPredefinedType(const std::optional< ::Ifc4 const ifcopenshell::entity& Ifc4x3_tc1::IfcWasteTerminal::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1286]); } -void Ifc4x3_tc1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcWasteTerminal Ifc4x3_tc1::IfcWasteTerminal::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWasteTerminalType ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_tc1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } @@ -16367,7 +16367,7 @@ void Ifc4x3_tc1::IfcWasteTerminalType::setPredefinedType(const ::Ifc4x3_tc1::Ifc const ifcopenshell::entity& Ifc4x3_tc1::IfcWasteTerminalType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1287]); } -void Ifc4x3_tc1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType))); } +Ifc4x3_tc1::IfcWasteTerminalType Ifc4x3_tc1::IfcWasteTerminalType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; return *this; } // Function implementations for IfcWindow std::optional< double > Ifc4x3_tc1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return std::nullopt; } double v = get_attribute_value(8); return v; } @@ -16383,7 +16383,7 @@ void Ifc4x3_tc1::IfcWindow::setUserDefinedPartitioningType(const std::optional< const ifcopenshell::entity& Ifc4x3_tc1::IfcWindow::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1289]); } -void Ifc4x3_tc1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_tc1::IfcWindow Ifc4x3_tc1::IfcWindow::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ObjectPlacement));set_attribute_value(6, (v7_Representation)); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWindowLiningProperties std::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return std::nullopt; } double v = get_attribute_value(4); return v; } @@ -16413,7 +16413,7 @@ void Ifc4x3_tc1::IfcWindowLiningProperties::setLiningToPanelOffsetY(const std::o const ifcopenshell::entity& Ifc4x3_tc1::IfcWindowLiningProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1290]); } -void Ifc4x3_tc1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_tc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); } } +Ifc4x3_tc1::IfcWindowLiningProperties Ifc4x3_tc1::IfcWindowLiningProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_tc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, (v13_ShapeAspectStyle)); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; return *this; } // Function implementations for IfcWindowPanelProperties ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value Ifc4x3_tc1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } @@ -16429,7 +16429,7 @@ void Ifc4x3_tc1::IfcWindowPanelProperties::setShapeAspectStyle(const ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcWindowPanelProperties::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1293]); } -void Ifc4x3_tc1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle)); } +Ifc4x3_tc1::IfcWindowPanelProperties Ifc4x3_tc1::IfcWindowPanelProperties::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, (v9_ShapeAspectStyle));; return *this; } // Function implementations for IfcWindowType ::Ifc4x3_tc1::IfcWindowTypeEnum::Value Ifc4x3_tc1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } @@ -16443,7 +16443,7 @@ void Ifc4x3_tc1::IfcWindowType::setUserDefinedPartitioningType(const std::option const ifcopenshell::entity& Ifc4x3_tc1::IfcWindowType::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1294]); } -void Ifc4x3_tc1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); } } +Ifc4x3_tc1::IfcWindowType Ifc4x3_tc1::IfcWindowType::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, cast_vector(*v6_HasPropertySets)); } if (v7_RepresentationMaps) {set_attribute_value(6, cast_vector(*v7_RepresentationMaps)); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (enumeration_reference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; return *this; } // Function implementations for IfcWorkCalendar std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > Ifc4x3_tc1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return std::nullopt; } std::vector es = get_attribute_value(6); return cast_vector<::Ifc4x3_tc1::IfcWorkTime>(es); } @@ -16455,7 +16455,7 @@ void Ifc4x3_tc1::IfcWorkCalendar::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcWorkCalendar::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1297]); } -void Ifc4x3_tc1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); } } +Ifc4x3_tc1::IfcWorkCalendar Ifc4x3_tc1::IfcWorkCalendar::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, cast_vector(*v7_WorkingTimes)); } if (v8_ExceptionTimes) {set_attribute_value(7, cast_vector(*v8_ExceptionTimes)); } if (v9_PredefinedType) {set_attribute_value(8, (enumeration_reference(&::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; return *this; } // Function implementations for IfcWorkControl std::string Ifc4x3_tc1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } @@ -16475,7 +16475,7 @@ void Ifc4x3_tc1::IfcWorkControl::setFinishTime(const std::optional< std::string const ifcopenshell::entity& Ifc4x3_tc1::IfcWorkControl::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1299]); } -void Ifc4x3_tc1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } } +Ifc4x3_tc1::IfcWorkControl Ifc4x3_tc1::IfcWorkControl::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; return *this; } // Function implementations for IfcWorkPlan std::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_tc1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } @@ -16483,7 +16483,7 @@ void Ifc4x3_tc1::IfcWorkPlan::setPredefinedType(const std::optional< ::Ifc4x3_tc const ifcopenshell::entity& Ifc4x3_tc1::IfcWorkPlan::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1300]); } -void Ifc4x3_tc1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_tc1::IfcWorkPlan Ifc4x3_tc1::IfcWorkPlan::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkSchedule std::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_tc1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return std::nullopt; } return ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } @@ -16491,7 +16491,7 @@ void Ifc4x3_tc1::IfcWorkSchedule::setPredefinedType(const std::optional< ::Ifc4x const ifcopenshell::entity& Ifc4x3_tc1::IfcWorkSchedule::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1302]); } -void Ifc4x3_tc1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); } } +Ifc4x3_tc1::IfcWorkSchedule Ifc4x3_tc1::IfcWorkSchedule::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, cast_vector(*v8_Creators)); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (enumeration_reference(&::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; return *this; } // Function implementations for IfcWorkTime ::Ifc4x3_tc1::IfcRecurrencePattern Ifc4x3_tc1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return ::Ifc4x3_tc1::IfcRecurrencePattern{}; } return ((express::Base)(get_attribute_value(3))).as<::Ifc4x3_tc1::IfcRecurrencePattern>(); } @@ -16503,7 +16503,7 @@ void Ifc4x3_tc1::IfcWorkTime::setFinishDate(const std::optional< std::string >& const ifcopenshell::entity& Ifc4x3_tc1::IfcWorkTime::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1304]); } -void Ifc4x3_tc1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); } } +Ifc4x3_tc1::IfcWorkTime Ifc4x3_tc1::IfcWorkTime::initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (enumeration_reference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, (v4_RecurrencePattern)); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; return *this; } // Function implementations for IfcZShapeProfileDef double Ifc4x3_tc1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } @@ -16521,7 +16521,7 @@ void Ifc4x3_tc1::IfcZShapeProfileDef::setEdgeRadius(const std::optional< double const ifcopenshell::entity& Ifc4x3_tc1::IfcZShapeProfileDef::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1306]); } -void Ifc4x3_tc1::IfcZShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } } +Ifc4x3_tc1::IfcZShapeProfileDef Ifc4x3_tc1::IfcZShapeProfileDef::initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius) { set_attribute_value(0, (enumeration_reference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Position));set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; return *this; } // Function implementations for IfcZone std::optional< std::string > Ifc4x3_tc1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return std::nullopt; } std::string v = get_attribute_value(5); return v; } @@ -16529,5 +16529,5 @@ void Ifc4x3_tc1::IfcZone::setLongName(const std::optional< std::string >& v) { i const ifcopenshell::entity& Ifc4x3_tc1::IfcZone::Class() { return *((ifcopenshell::entity*)IFC4X3_TC1_types[1305]); } -void Ifc4x3_tc1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } } +Ifc4x3_tc1::IfcZone Ifc4x3_tc1::IfcZone::initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, (v2_OwnerHistory)); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; return *this; } diff --git a/src/ifcparse/schemas/Ifc4x3_tc1.h b/src/ifcparse/schemas/Ifc4x3_tc1.h index 141369fa6a..3d099f7bd9 100644 --- a/src/ifcparse/schemas/Ifc4x3_tc1.h +++ b/src/ifcparse/schemas/Ifc4x3_tc1.h @@ -67,8 +67,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c /// IfcPersonAndOrganization A person related to an organization. class IFC_PARSE_API IfcActorSelect : public express::Select { public: - IfcActorSelect() {} - explicit IfcActorSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -106,8 +105,7 @@ public: /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 class IFC_PARSE_API IfcAppliedValueSelect : public express::Select { public: - IfcAppliedValueSelect() {} - explicit IfcAppliedValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -802,8 +800,7 @@ public: /// HISTORY: New type in IFC Release 1.5 class IFC_PARSE_API IfcAxis2Placement : public express::Select { public: - IfcAxis2Placement() {} - explicit IfcAxis2Placement(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -824,8 +821,7 @@ public: /// HISTORY New type in IFC Release 2x4 class IFC_PARSE_API IfcBendingParameterSelect : public express::Select { public: - IfcBendingParameterSelect() {} - explicit IfcBendingParameterSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -859,8 +855,7 @@ public: /// HISTORY: New Type in IFC Release 1.5.1 class IFC_PARSE_API IfcBooleanOperand : public express::Select { public: - IfcBooleanOperand() {} - explicit IfcBooleanOperand(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -904,8 +899,7 @@ public: /// IfcClassificationReference (for reference into a classification source) class IFC_PARSE_API IfcClassificationReferenceSelect : public express::Select { public: - IfcClassificationReferenceSelect() {} - explicit IfcClassificationReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -936,8 +930,7 @@ public: /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) class IFC_PARSE_API IfcClassificationSelect : public express::Select { public: - IfcClassificationSelect() {} - explicit IfcClassificationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -960,8 +953,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColour : public express::Select { public: - IfcColour() {} - explicit IfcColour(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -982,8 +974,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcColourOrFactor : public express::Select { public: - IfcColourOrFactor() {} - explicit IfcColourOrFactor(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1004,8 +995,7 @@ public: /// HISTORY  New select type in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public express::Select { public: - IfcCoordinateReferenceSystemSelect() {} - explicit IfcCoordinateReferenceSystemSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1029,8 +1019,7 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcCsgSelect : public express::Select { public: - IfcCsgSelect() {} - explicit IfcCsgSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1053,8 +1042,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public express::Select { public: - IfcCurveFontOrScaledCurveFontSelect() {} - explicit IfcCurveFontOrScaledCurveFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1085,8 +1073,7 @@ public: class IFC_PARSE_API IfcCurveMeasureSelect : public express::Select { public: - IfcCurveMeasureSelect() {} - explicit IfcCurveMeasureSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1105,8 +1092,7 @@ public: class IFC_PARSE_API IfcCurveOnSurface : public express::Select { public: - IfcCurveOnSurface() {} - explicit IfcCurveOnSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1138,8 +1124,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcCurveOrEdgeCurve : public express::Select { public: - IfcCurveOrEdgeCurve() {} - explicit IfcCurveOrEdgeCurve(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1162,8 +1147,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontSelect : public express::Select { public: - IfcCurveStyleFontSelect() {} - explicit IfcCurveStyleFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1188,8 +1172,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcDefinitionSelect : public express::Select { public: - IfcDefinitionSelect() {} - explicit IfcDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1281,8 +1264,7 @@ public: /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. class IFC_PARSE_API IfcDerivedMeasureValue : public express::Select { public: - IfcDerivedMeasureValue() {} - explicit IfcDerivedMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1722,8 +1704,7 @@ public: /// IfcDocumentReference (for reference within a document) class IFC_PARSE_API IfcDocumentSelect : public express::Select { public: - IfcDocumentSelect() {} - explicit IfcDocumentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1747,8 +1728,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcFillStyleSelect : public express::Select { public: - IfcFillStyleSelect() {} - explicit IfcFillStyleSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1795,8 +1775,7 @@ public: /// HISTORY: New type in IFC Release 2x. class IFC_PARSE_API IfcGeometricSetSelect : public express::Select { public: - IfcGeometricSetSelect() {} - explicit IfcGeometricSetSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1828,8 +1807,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcGridPlacementDirectionSelect : public express::Select { public: - IfcGridPlacementDirectionSelect() {} - explicit IfcGridPlacementDirectionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1850,8 +1828,7 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcHatchLineDistanceSelect : public express::Select { public: - IfcHatchLineDistanceSelect() {} - explicit IfcHatchLineDistanceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1870,8 +1847,7 @@ public: class IFC_PARSE_API IfcInterferenceSelect : public express::Select { public: - IfcInterferenceSelect() {} - explicit IfcInterferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1896,8 +1872,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcLayeredItem : public express::Select { public: - IfcLayeredItem() {} - explicit IfcLayeredItem(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1925,8 +1900,7 @@ public: /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. class IFC_PARSE_API IfcLibrarySelect : public express::Select { public: - IfcLibrarySelect() {} - explicit IfcLibrarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -1966,8 +1940,7 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public express::Select { public: - IfcLightDistributionDataSourceSelect() {} - explicit IfcLightDistributionDataSourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2011,8 +1984,7 @@ public: /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. class IFC_PARSE_API IfcMaterialSelect : public express::Select { public: - IfcMaterialSelect() {} - explicit IfcMaterialSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2045,8 +2017,7 @@ public: /// IFC 2x4 change: added IfcNonNegativeLengthMeasure class IFC_PARSE_API IfcMeasureValue : public express::Select { public: - IfcMeasureValue() {} - explicit IfcMeasureValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2202,8 +2173,7 @@ public: /// IfcTimeSeries class IFC_PARSE_API IfcMetricValueSelect : public express::Select { public: - IfcMetricValueSelect() {} - explicit IfcMetricValueSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2914,8 +2884,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfRotationalSubgradeReactionSelect() {} - explicit IfcModulusOfRotationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2936,8 +2905,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public express::Select { public: - IfcModulusOfSubgradeReactionSelect() {} - explicit IfcModulusOfSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2958,8 +2926,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public express::Select { public: - IfcModulusOfTranslationalSubgradeReactionSelect() {} - explicit IfcModulusOfTranslationalSubgradeReactionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -2980,8 +2947,7 @@ public: /// HISTORY  New select type in IFC Release 2.0. class IFC_PARSE_API IfcObjectReferenceSelect : public express::Select { public: - IfcObjectReferenceSelect() {} - explicit IfcObjectReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3048,8 +3014,7 @@ public: /// HISTORY  New select type in IFC2x Edition 3. class IFC_PARSE_API IfcPointOrVertexPoint : public express::Select { public: - IfcPointOrVertexPoint() {} - explicit IfcPointOrVertexPoint(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3077,8 +3042,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProcessSelect : public express::Select { public: - IfcProcessSelect() {} - explicit IfcProcessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3097,8 +3061,7 @@ public: class IFC_PARSE_API IfcProductRepresentationSelect : public express::Select { public: - IfcProductRepresentationSelect() {} - explicit IfcProductRepresentationSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3125,8 +3088,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcProductSelect : public express::Select { public: - IfcProductSelect() {} - explicit IfcProductSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3145,8 +3107,7 @@ public: class IFC_PARSE_API IfcPropertySetDefinitionSelect : public express::Select { public: - IfcPropertySetDefinitionSelect() {} - explicit IfcPropertySetDefinitionSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3167,8 +3128,7 @@ public: /// HISTORY  New Select type in IFC2x4. class IFC_PARSE_API IfcResourceObjectSelect : public express::Select { public: - IfcResourceObjectSelect() {} - explicit IfcResourceObjectSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3285,8 +3245,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcResourceSelect : public express::Select { public: - IfcResourceSelect() {} - explicit IfcResourceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3307,8 +3266,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcRotationalStiffnessSelect : public express::Select { public: - IfcRotationalStiffnessSelect() {} - explicit IfcRotationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3327,8 +3285,7 @@ public: class IFC_PARSE_API IfcSegmentIndexSelect : public express::Select { public: - IfcSegmentIndexSelect() {} - explicit IfcSegmentIndexSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3357,8 +3314,7 @@ public: /// HISTORY  New type in IFC2x. class IFC_PARSE_API IfcShell : public express::Select { public: - IfcShell() {} - explicit IfcShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3395,8 +3351,7 @@ public: /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. class IFC_PARSE_API IfcSimpleValue : public express::Select { public: - IfcSimpleValue() {} - explicit IfcSimpleValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3498,8 +3453,7 @@ public: /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. class IFC_PARSE_API IfcSizeSelect : public express::Select { public: - IfcSizeSelect() {} - explicit IfcSizeSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3548,8 +3502,7 @@ public: /// HISTORY New select type in IFC2x4. class IFC_PARSE_API IfcSolidOrShell : public express::Select { public: - IfcSolidOrShell() {} - explicit IfcSolidOrShell(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3579,8 +3532,7 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcSpaceBoundarySelect : public express::Select { public: - IfcSpaceBoundarySelect() {} - explicit IfcSpaceBoundarySelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3599,8 +3551,7 @@ public: class IFC_PARSE_API IfcSpatialReferenceSelect : public express::Select { public: - IfcSpatialReferenceSelect() {} - explicit IfcSpatialReferenceSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3628,8 +3579,7 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularHighlightSelect : public express::Select { public: - IfcSpecularHighlightSelect() {} - explicit IfcSpecularHighlightSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3656,8 +3606,7 @@ public: /// Edition 2. class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public express::Select { public: - IfcStructuralActivityAssignmentSelect() {} - explicit IfcStructuralActivityAssignmentSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3684,8 +3633,7 @@ public: /// HISTORY  New select type in IFC2x3. class IFC_PARSE_API IfcSurfaceOrFaceSurface : public express::Select { public: - IfcSurfaceOrFaceSurface() {} - explicit IfcSurfaceOrFaceSurface(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3718,8 +3666,7 @@ public: /// HISTORY: New Select type in IFC2x2. class IFC_PARSE_API IfcSurfaceStyleElementSelect : public express::Select { public: - IfcSurfaceStyleElementSelect() {} - explicit IfcSurfaceStyleElementSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3762,8 +3709,7 @@ public: /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. class IFC_PARSE_API IfcTextFontSelect : public express::Select { public: - IfcTextFontSelect() {} - explicit IfcTextFontSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3783,8 +3729,7 @@ public: /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public express::Select { public: - IfcTimeOrRatioSelect() {} - explicit IfcTimeOrRatioSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3805,8 +3750,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcTranslationalStiffnessSelect : public express::Select { public: - IfcTranslationalStiffnessSelect() {} - explicit IfcTranslationalStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3829,8 +3773,7 @@ public: /// HISTORY New Type in IFC Release 1.0 class IFC_PARSE_API IfcTrimmingSelect : public express::Select { public: - IfcTrimmingSelect() {} - explicit IfcTrimmingSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3861,8 +3804,7 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnit : public express::Select { public: - IfcUnit() {} - explicit IfcUnit(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -3896,8 +3838,7 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcValue : public express::Select { public: - IfcValue() {} - explicit IfcValue(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4577,8 +4518,7 @@ public: /// 1.5 class IFC_PARSE_API IfcVectorOrDirection : public express::Select { public: - IfcVectorOrDirection() {} - explicit IfcVectorOrDirection(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4599,8 +4539,7 @@ public: /// HISTORY: New type in IFC 2x4. class IFC_PARSE_API IfcWarpingStiffnessSelect : public express::Select { public: - IfcWarpingStiffnessSelect() {} - explicit IfcWarpingStiffnessSelect(const express::Base& c) : express::Select(c) {} + using express::Select::Select; static const ifcopenshell::select_type& Class(); // let's just use the as<>() from Base instead directly... @@ -4629,16 +4568,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcActionRequestTypeEnum : public express::DeclaredType { public: - IfcActionRequestTypeEnum() {} - explicit IfcActionRequestTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionRequestType_EMAIL, IfcActionRequestType_FAX, IfcActionRequestType_PHONE, IfcActionRequestType_POST, IfcActionRequestType_VERBAL, IfcActionRequestType_USERDEFINED, IfcActionRequestType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionRequestTypeEnum initialize(Value v); + IfcActionRequestTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI:This enumeration type contains possible @@ -4648,16 +4586,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionSourceTypeEnum : public express::DeclaredType { public: - IfcActionSourceTypeEnum() {} - explicit IfcActionSourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionSourceType_BRAKES, IfcActionSourceType_BUOYANCY, IfcActionSourceType_COMPLETION_G1, IfcActionSourceType_CREEP, IfcActionSourceType_CURRENT, IfcActionSourceType_DEAD_LOAD_G, IfcActionSourceType_EARTHQUAKE_E, IfcActionSourceType_ERECTION, IfcActionSourceType_FIRE, IfcActionSourceType_ICE, IfcActionSourceType_IMPACT, IfcActionSourceType_IMPULSE, IfcActionSourceType_LACK_OF_FIT, IfcActionSourceType_LIVE_LOAD_Q, IfcActionSourceType_PRESTRESSING_P, IfcActionSourceType_PROPPING, IfcActionSourceType_RAIN, IfcActionSourceType_SETTLEMENT_U, IfcActionSourceType_SHRINKAGE, IfcActionSourceType_SNOW_S, IfcActionSourceType_SYSTEM_IMPERFECTION, IfcActionSourceType_TEMPERATURE_T, IfcActionSourceType_TRANSPORT, IfcActionSourceType_WAVE, IfcActionSourceType_WIND_W, IfcActionSourceType_USERDEFINED, IfcActionSourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionSourceTypeEnum initialize(Value v); + IfcActionSourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration type is used to distinguish @@ -4669,16 +4606,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcActionTypeEnum : public express::DeclaredType { public: - IfcActionTypeEnum() {} - explicit IfcActionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActionType_EXTRAORDINARY_A, IfcActionType_PERMANENT_G, IfcActionType_VARIABLE_Q, IfcActionType_USERDEFINED, IfcActionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActionTypeEnum initialize(Value v); + IfcActionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcActuatorTypeEnum defines the range of different types of actuator that can be specified. @@ -4699,16 +4635,15 @@ public: /// properties for hand operated actuators. class IFC_PARSE_API IfcActuatorTypeEnum : public express::DeclaredType { public: - IfcActuatorTypeEnum() {} - explicit IfcActuatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcActuatorType_ELECTRICACTUATOR, IfcActuatorType_HANDOPERATEDACTUATOR, IfcActuatorType_HYDRAULICACTUATOR, IfcActuatorType_PNEUMATICACTUATOR, IfcActuatorType_THERMOSTATICACTUATOR, IfcActuatorType_USERDEFINED, IfcActuatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcActuatorTypeEnum initialize(Value v); + IfcActuatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Identifies the logical location of the address. @@ -4724,16 +4659,15 @@ public: /// USERDEFINED A user defined address type to be provided. class IFC_PARSE_API IfcAddressTypeEnum : public express::DeclaredType { public: - IfcAddressTypeEnum() {} - explicit IfcAddressTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAddressType_DISTRIBUTIONPOINT, IfcAddressType_HOME, IfcAddressType_OFFICE, IfcAddressType_SITE, IfcAddressType_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAddressTypeEnum initialize(Value v); + IfcAddressTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of air terminal boxes. @@ -4749,16 +4683,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcAirTerminalBoxTypeEnum : public express::DeclaredType { public: - IfcAirTerminalBoxTypeEnum() {} - explicit IfcAirTerminalBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalBoxType_CONSTANTFLOW, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREDEPENDANT, IfcAirTerminalBoxType_VARIABLEFLOWPRESSUREINDEPENDANT, IfcAirTerminalBoxType_USERDEFINED, IfcAirTerminalBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalBoxTypeEnum initialize(Value v); + IfcAirTerminalBoxTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional types of air terminals. @@ -4776,16 +4709,15 @@ public: /// HISTORY: New enumeration in IFC R2x2. Modified in IFC R2x4 to add LOUVRE and remove EYEBALL, IRIS, LINEARGRILLE, LINEARDIFFUSER class IFC_PARSE_API IfcAirTerminalTypeEnum : public express::DeclaredType { public: - IfcAirTerminalTypeEnum() {} - explicit IfcAirTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirTerminalType_DIFFUSER, IfcAirTerminalType_GRILLE, IfcAirTerminalType_LOUVRE, IfcAirTerminalType_REGISTER, IfcAirTerminalType_USERDEFINED, IfcAirTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirTerminalTypeEnum initialize(Value v); + IfcAirTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -4806,16 +4738,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcAirToAirHeatRecoveryTypeEnum : public express::DeclaredType { public: - IfcAirToAirHeatRecoveryTypeEnum() {} - explicit IfcAirToAirHeatRecoveryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAirToAirHeatRecoveryType_FIXEDPLATECOUNTERFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATECROSSFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_FIXEDPLATEPARALLELFLOWEXCHANGER, IfcAirToAirHeatRecoveryType_HEATPIPE, IfcAirToAirHeatRecoveryType_ROTARYWHEEL, IfcAirToAirHeatRecoveryType_RUNAROUNDCOILLOOP, IfcAirToAirHeatRecoveryType_THERMOSIPHONCOILTYPEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_THERMOSIPHONSEALEDTUBEHEATEXCHANGERS, IfcAirToAirHeatRecoveryType_TWINTOWERENTHALPYRECOVERYLOOPS, IfcAirToAirHeatRecoveryType_USERDEFINED, IfcAirToAirHeatRecoveryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAirToAirHeatRecoveryTypeEnum initialize(Value v); + IfcAirToAirHeatRecoveryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcAlarmTypeEnum defines the range of different types of alarm that can be specified. @@ -4834,76 +4765,71 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcAlarmTypeEnum : public express::DeclaredType { public: - IfcAlarmTypeEnum() {} - explicit IfcAlarmTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlarmType_BELL, IfcAlarmType_BREAKGLASSBUTTON, IfcAlarmType_LIGHT, IfcAlarmType_MANUALPULLBOX, IfcAlarmType_RAILWAYCROCODILE, IfcAlarmType_RAILWAYDETONATOR, IfcAlarmType_SIREN, IfcAlarmType_WHISTLE, IfcAlarmType_USERDEFINED, IfcAlarmType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlarmTypeEnum initialize(Value v); + IfcAlarmTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentCantSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentCantSegmentTypeEnum() {} - explicit IfcAlignmentCantSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentCantSegmentType_BLOSSCURVE, IfcAlignmentCantSegmentType_CONSTANTCANT, IfcAlignmentCantSegmentType_COSINECURVE, IfcAlignmentCantSegmentType_HELMERTCURVE, IfcAlignmentCantSegmentType_LINEARTRANSITION, IfcAlignmentCantSegmentType_SINECURVE, IfcAlignmentCantSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentCantSegmentTypeEnum initialize(Value v); + IfcAlignmentCantSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentHorizontalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentHorizontalSegmentTypeEnum() {} - explicit IfcAlignmentHorizontalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentHorizontalSegmentType_BLOSSCURVE, IfcAlignmentHorizontalSegmentType_CIRCULARARC, IfcAlignmentHorizontalSegmentType_CLOTHOID, IfcAlignmentHorizontalSegmentType_COSINECURVE, IfcAlignmentHorizontalSegmentType_CUBIC, IfcAlignmentHorizontalSegmentType_HELMERTCURVE, IfcAlignmentHorizontalSegmentType_LINE, IfcAlignmentHorizontalSegmentType_SINECURVE, IfcAlignmentHorizontalSegmentType_VIENNESEBEND} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(Value v); + IfcAlignmentHorizontalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentTypeEnum() {} - explicit IfcAlignmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentType_USERDEFINED, IfcAlignmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentTypeEnum initialize(Value v); + IfcAlignmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAlignmentVerticalSegmentTypeEnum : public express::DeclaredType { public: - IfcAlignmentVerticalSegmentTypeEnum() {} - explicit IfcAlignmentVerticalSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAlignmentVerticalSegmentType_CIRCULARARC, IfcAlignmentVerticalSegmentType_CLOTHOID, IfcAlignmentVerticalSegmentType_CONSTANTGRADIENT, IfcAlignmentVerticalSegmentType_PARABOLICARC} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAlignmentVerticalSegmentTypeEnum initialize(Value v); + IfcAlignmentVerticalSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4914,16 +4840,15 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisModelTypeEnum : public express::DeclaredType { public: - IfcAnalysisModelTypeEnum() {} - explicit IfcAnalysisModelTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisModelType_IN_PLANE_LOADING_2D, IfcAnalysisModelType_LOADING_3D, IfcAnalysisModelType_OUT_PLANE_LOADING_2D, IfcAnalysisModelType_USERDEFINED, IfcAnalysisModelType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisModelTypeEnum initialize(Value v); + IfcAnalysisModelTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish @@ -4935,31 +4860,29 @@ public: /// Edition 2. class IFC_PARSE_API IfcAnalysisTheoryTypeEnum : public express::DeclaredType { public: - IfcAnalysisTheoryTypeEnum() {} - explicit IfcAnalysisTheoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnalysisTheoryType_FIRST_ORDER_THEORY, IfcAnalysisTheoryType_FULL_NONLINEAR_THEORY, IfcAnalysisTheoryType_SECOND_ORDER_THEORY, IfcAnalysisTheoryType_THIRD_ORDER_THEORY, IfcAnalysisTheoryType_USERDEFINED, IfcAnalysisTheoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnalysisTheoryTypeEnum initialize(Value v); + IfcAnalysisTheoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcAnnotationTypeEnum : public express::DeclaredType { public: - IfcAnnotationTypeEnum() {} - explicit IfcAnnotationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAnnotationType_ASBUILTAREA, IfcAnnotationType_ASBUILTLINE, IfcAnnotationType_ASBUILTPOINT, IfcAnnotationType_ASSUMEDAREA, IfcAnnotationType_ASSUMEDLINE, IfcAnnotationType_ASSUMEDPOINT, IfcAnnotationType_NON_PHYSICAL_SIGNAL, IfcAnnotationType_SUPERELEVATIONEVENT, IfcAnnotationType_WIDTHEVENT, IfcAnnotationType_USERDEFINED, IfcAnnotationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAnnotationTypeEnum initialize(Value v); + IfcAnnotationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcArithmeticOperatorEnum specifies the form of arithmetical operation implied by the relationship. @@ -4976,16 +4899,15 @@ public: /// There can be only one arithmetic operator for each applied value relationship. This is to enforce arithmetic consistency. Given this consistency, the cardinality of the IfcAppliedValueRelationship.Components attribute is a set of one to many applied values that are components of an applied value. class IFC_PARSE_API IfcArithmeticOperatorEnum : public express::DeclaredType { public: - IfcArithmeticOperatorEnum() {} - explicit IfcArithmeticOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcArithmeticOperator_ADD, IfcArithmeticOperator_DIVIDE, IfcArithmeticOperator_MULTIPLY, IfcArithmeticOperator_SUBTRACT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcArithmeticOperatorEnum initialize(Value v); + IfcArithmeticOperatorEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining where the @@ -5002,16 +4924,15 @@ public: /// FACTORY - this assembly is assembled in a factory class IFC_PARSE_API IfcAssemblyPlaceEnum : public express::DeclaredType { public: - IfcAssemblyPlaceEnum() {} - explicit IfcAssemblyPlaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAssemblyPlace_FACTORY, IfcAssemblyPlace_SITE, IfcAssemblyPlace_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAssemblyPlaceEnum initialize(Value v); + IfcAssemblyPlaceEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of audio-video devices that can be specified. @@ -5030,16 +4951,15 @@ public: /// TUNER: An electronic receiver that detects, demodulates, and amplifies transmitted signals. class IFC_PARSE_API IfcAudioVisualApplianceTypeEnum : public express::DeclaredType { public: - IfcAudioVisualApplianceTypeEnum() {} - explicit IfcAudioVisualApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcAudioVisualApplianceType_AMPLIFIER, IfcAudioVisualApplianceType_CAMERA, IfcAudioVisualApplianceType_COMMUNICATIONTERMINAL, IfcAudioVisualApplianceType_DISPLAY, IfcAudioVisualApplianceType_MICROPHONE, IfcAudioVisualApplianceType_PLAYER, IfcAudioVisualApplianceType_PROJECTOR, IfcAudioVisualApplianceType_RECEIVER, IfcAudioVisualApplianceType_RECORDINGEQUIPMENT, IfcAudioVisualApplianceType_SPEAKER, IfcAudioVisualApplianceType_SWITCHER, IfcAudioVisualApplianceType_TELEPHONE, IfcAudioVisualApplianceType_TUNER, IfcAudioVisualApplianceType_USERDEFINED, IfcAudioVisualApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcAudioVisualApplianceTypeEnum initialize(Value v); + IfcAudioVisualApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to indicate that the B-spline curve represents a part of a curve of some specific form. @@ -5058,31 +4978,29 @@ public: /// HISTORY New type in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurveForm : public express::DeclaredType { public: - IfcBSplineCurveForm() {} - explicit IfcBSplineCurveForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineCurveForm_CIRCULAR_ARC, IfcBSplineCurveForm_ELLIPTIC_ARC, IfcBSplineCurveForm_HYPERBOLIC_ARC, IfcBSplineCurveForm_PARABOLIC_ARC, IfcBSplineCurveForm_POLYLINE_FORM, IfcBSplineCurveForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineCurveForm initialize(Value v); + IfcBSplineCurveForm initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBSplineSurfaceForm : public express::DeclaredType { public: - IfcBSplineSurfaceForm() {} - explicit IfcBSplineSurfaceForm (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBSplineSurfaceForm_CONICAL_SURF, IfcBSplineSurfaceForm_CYLINDRICAL_SURF, IfcBSplineSurfaceForm_GENERALISED_CONE, IfcBSplineSurfaceForm_PLANE_SURF, IfcBSplineSurfaceForm_QUADRIC_SURF, IfcBSplineSurfaceForm_RULED_SURF, IfcBSplineSurfaceForm_SPHERICAL_SURF, IfcBSplineSurfaceForm_SURF_OF_LINEAR_EXTRUSION, IfcBSplineSurfaceForm_SURF_OF_REVOLUTION, IfcBSplineSurfaceForm_TOROIDAL_SURF, IfcBSplineSurfaceForm_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBSplineSurfaceForm initialize(Value v); + IfcBSplineSurfaceForm initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5126,31 +5044,29 @@ public: /// added. class IFC_PARSE_API IfcBeamTypeEnum : public express::DeclaredType { public: - IfcBeamTypeEnum() {} - explicit IfcBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBeamType_BEAM, IfcBeamType_CORNICE, IfcBeamType_DIAPHRAGM, IfcBeamType_EDGEBEAM, IfcBeamType_GIRDER_SEGMENT, IfcBeamType_HATSTONE, IfcBeamType_HOLLOWCORE, IfcBeamType_JOIST, IfcBeamType_LINTEL, IfcBeamType_PIERCAP, IfcBeamType_SPANDREL, IfcBeamType_T_BEAM, IfcBeamType_USERDEFINED, IfcBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBeamTypeEnum initialize(Value v); + IfcBeamTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBearingTypeEnum : public express::DeclaredType { public: - IfcBearingTypeEnum() {} - explicit IfcBearingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBearingType_CYLINDRICAL, IfcBearingType_DISK, IfcBearingType_ELASTOMERIC, IfcBearingType_GUIDE, IfcBearingType_POT, IfcBearingType_ROCKER, IfcBearingType_ROLLER, IfcBearingType_SPHERICAL, IfcBearingType_USERDEFINED, IfcBearingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBearingTypeEnum initialize(Value v); + IfcBearingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcBenchmarkEnum is an enumeration used to identify the logical comparators that can be applied in conjunction with constraint values. @@ -5195,16 +5111,15 @@ public: /// Identifies that a value (individual item) must not be included (i.e. must be excluded) in the aggregation (set, list or table) set by the constraint. class IFC_PARSE_API IfcBenchmarkEnum : public express::DeclaredType { public: - IfcBenchmarkEnum() {} - explicit IfcBenchmarkEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBenchmark_EQUALTO, IfcBenchmark_GREATERTHAN, IfcBenchmark_GREATERTHANOREQUALTO, IfcBenchmark_INCLUDEDIN, IfcBenchmark_INCLUDES, IfcBenchmark_LESSTHAN, IfcBenchmark_LESSTHANOREQUALTO, IfcBenchmark_NOTEQUALTO, IfcBenchmark_NOTINCLUDEDIN, IfcBenchmark_NOTINCLUDES} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBenchmarkEnum initialize(Value v); + IfcBenchmarkEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of boilers. @@ -5218,16 +5133,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcBoilerTypeEnum : public express::DeclaredType { public: - IfcBoilerTypeEnum() {} - explicit IfcBoilerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBoilerType_STEAM, IfcBoilerType_WATER, IfcBoilerType_USERDEFINED, IfcBoilerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBoilerTypeEnum initialize(Value v); + IfcBoilerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type defines the three Boolean operators used in the definition of CSG solids. @@ -5241,46 +5155,43 @@ public: /// HISTORY New Type in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanOperator : public express::DeclaredType { public: - IfcBooleanOperator() {} - explicit IfcBooleanOperator (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBooleanOperator_DIFFERENCE, IfcBooleanOperator_INTERSECTION, IfcBooleanOperator_UNION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBooleanOperator initialize(Value v); + IfcBooleanOperator initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgePartTypeEnum : public express::DeclaredType { public: - IfcBridgePartTypeEnum() {} - explicit IfcBridgePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgePartType_ABUTMENT, IfcBridgePartType_DECK, IfcBridgePartType_DECK_SEGMENT, IfcBridgePartType_FOUNDATION, IfcBridgePartType_PIER, IfcBridgePartType_PIER_SEGMENT, IfcBridgePartType_PYLON, IfcBridgePartType_SUBSTRUCTURE, IfcBridgePartType_SUPERSTRUCTURE, IfcBridgePartType_SURFACESTRUCTURE, IfcBridgePartType_USERDEFINED, IfcBridgePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgePartTypeEnum initialize(Value v); + IfcBridgePartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBridgeTypeEnum : public express::DeclaredType { public: - IfcBridgeTypeEnum() {} - explicit IfcBridgeTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBridgeType_ARCHED, IfcBridgeType_CABLE_STAYED, IfcBridgeType_CANTILEVER, IfcBridgeType_CULVERT, IfcBridgeType_FRAMEWORK, IfcBridgeType_GIRDER, IfcBridgeType_SUSPENSION, IfcBridgeType_TRUSS, IfcBridgeType_USERDEFINED, IfcBridgeType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBridgeTypeEnum initialize(Value v); + IfcBridgeTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of building element parts: @@ -5293,16 +5204,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcBuildingElementPartTypeEnum : public express::DeclaredType { public: - IfcBuildingElementPartTypeEnum() {} - explicit IfcBuildingElementPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementPartType_APRON, IfcBuildingElementPartType_ARMOURUNIT, IfcBuildingElementPartType_INSULATION, IfcBuildingElementPartType_PRECASTPANEL, IfcBuildingElementPartType_SAFETYCAGE, IfcBuildingElementPartType_USERDEFINED, IfcBuildingElementPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementPartTypeEnum initialize(Value v); + IfcBuildingElementPartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5318,16 +5228,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcBuildingElementProxyTypeEnum : public express::DeclaredType { public: - IfcBuildingElementProxyTypeEnum() {} - explicit IfcBuildingElementProxyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingElementProxyType_COMPLEX, IfcBuildingElementProxyType_ELEMENT, IfcBuildingElementProxyType_PARTIAL, IfcBuildingElementProxyType_PROVISIONFORSPACE, IfcBuildingElementProxyType_PROVISIONFORVOID, IfcBuildingElementProxyType_USERDEFINED, IfcBuildingElementProxyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingElementProxyTypeEnum initialize(Value v); + IfcBuildingElementProxyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration identifies @@ -5346,31 +5255,29 @@ public: /// building that enables the transport of people or goods. class IFC_PARSE_API IfcBuildingSystemTypeEnum : public express::DeclaredType { public: - IfcBuildingSystemTypeEnum() {} - explicit IfcBuildingSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuildingSystemType_FENESTRATION, IfcBuildingSystemType_FOUNDATION, IfcBuildingSystemType_LOADBEARING, IfcBuildingSystemType_OUTERSHELL, IfcBuildingSystemType_SHADING, IfcBuildingSystemType_TRANSPORT, IfcBuildingSystemType_USERDEFINED, IfcBuildingSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuildingSystemTypeEnum initialize(Value v); + IfcBuildingSystemTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcBuiltSystemTypeEnum : public express::DeclaredType { public: - IfcBuiltSystemTypeEnum() {} - explicit IfcBuiltSystemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBuiltSystemType_EROSIONPREVENTION, IfcBuiltSystemType_FENESTRATION, IfcBuiltSystemType_FOUNDATION, IfcBuiltSystemType_LOADBEARING, IfcBuiltSystemType_MOORING, IfcBuiltSystemType_OUTERSHELL, IfcBuiltSystemType_PRESTRESSING, IfcBuiltSystemType_RAILWAYLINE, IfcBuiltSystemType_RAILWAYTRACK, IfcBuiltSystemType_REINFORCING, IfcBuiltSystemType_SHADING, IfcBuiltSystemType_TRACKCIRCUIT, IfcBuiltSystemType_TRANSPORT, IfcBuiltSystemType_USERDEFINED, IfcBuiltSystemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBuiltSystemTypeEnum initialize(Value v); + IfcBuiltSystemTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of burner. @@ -5382,16 +5289,15 @@ public: /// HISTORY: New enumeration in IFC R2x4. class IFC_PARSE_API IfcBurnerTypeEnum : public express::DeclaredType { public: - IfcBurnerTypeEnum() {} - explicit IfcBurnerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcBurnerType_USERDEFINED, IfcBurnerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcBurnerTypeEnum initialize(Value v); + IfcBurnerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierFittingTypeEnum defines the range of different types of cable carrier fitting that can be specified. @@ -5406,16 +5312,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierFittingTypeEnum : public express::DeclaredType { public: - IfcCableCarrierFittingTypeEnum() {} - explicit IfcCableCarrierFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierFittingType_BEND, IfcCableCarrierFittingType_CONNECTOR, IfcCableCarrierFittingType_CROSS, IfcCableCarrierFittingType_JUNCTION, IfcCableCarrierFittingType_REDUCER, IfcCableCarrierFittingType_TEE, IfcCableCarrierFittingType_TRANSITION, IfcCableCarrierFittingType_USERDEFINED, IfcCableCarrierFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierFittingTypeEnum initialize(Value v); + IfcCableCarrierFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableCarrierSegmentTypeEnum defines the range of different types of cable carrier segment that can be specified. @@ -5430,16 +5335,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableCarrierSegmentTypeEnum : public express::DeclaredType { public: - IfcCableCarrierSegmentTypeEnum() {} - explicit IfcCableCarrierSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableCarrierSegmentType_CABLEBRACKET, IfcCableCarrierSegmentType_CABLELADDERSEGMENT, IfcCableCarrierSegmentType_CABLETRAYSEGMENT, IfcCableCarrierSegmentType_CABLETRUNKINGSEGMENT, IfcCableCarrierSegmentType_CATENARYWIRE, IfcCableCarrierSegmentType_CONDUITSEGMENT, IfcCableCarrierSegmentType_DROPPER, IfcCableCarrierSegmentType_USERDEFINED, IfcCableCarrierSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableCarrierSegmentTypeEnum initialize(Value v); + IfcCableCarrierSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableFittingTypeEnum defines the range of different types of cable fitting that can be specified. @@ -5455,16 +5359,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableFittingTypeEnum : public express::DeclaredType { public: - IfcCableFittingTypeEnum() {} - explicit IfcCableFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableFittingType_CONNECTOR, IfcCableFittingType_ENTRY, IfcCableFittingType_EXIT, IfcCableFittingType_FANOUT, IfcCableFittingType_JUNCTION, IfcCableFittingType_TRANSITION, IfcCableFittingType_USERDEFINED, IfcCableFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableFittingTypeEnum initialize(Value v); + IfcCableFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcCableSegmentTypeEnum defines the range of different types of cable segment that can be specified. @@ -5481,31 +5384,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCableSegmentTypeEnum : public express::DeclaredType { public: - IfcCableSegmentTypeEnum() {} - explicit IfcCableSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCableSegmentType_BUSBARSEGMENT, IfcCableSegmentType_CABLESEGMENT, IfcCableSegmentType_CONDUCTORSEGMENT, IfcCableSegmentType_CONTACTWIRESEGMENT, IfcCableSegmentType_CORESEGMENT, IfcCableSegmentType_FIBERSEGMENT, IfcCableSegmentType_FIBERTUBE, IfcCableSegmentType_OPTICALCABLESEGMENT, IfcCableSegmentType_STITCHWIRE, IfcCableSegmentType_WIREPAIRSEGMENT, IfcCableSegmentType_USERDEFINED, IfcCableSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCableSegmentTypeEnum initialize(Value v); + IfcCableSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCaissonFoundationTypeEnum : public express::DeclaredType { public: - IfcCaissonFoundationTypeEnum() {} - explicit IfcCaissonFoundationTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCaissonFoundationType_CAISSON, IfcCaissonFoundationType_WELL, IfcCaissonFoundationType_USERDEFINED, IfcCaissonFoundationType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCaissonFoundationTypeEnum initialize(Value v); + IfcCaissonFoundationTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcChangeActionEnum identifies the type of change that might have occurred to the object during the last session (for example, added, modified, deleted). This information is required in a partial model exchange scenario so that an application or model server will know how an object might have been affected by the previous application. Valid enumerations are: @@ -5521,16 +5422,15 @@ public: /// HISTORY: New enumeration in IFC R2.0. Modified in IFC2x4. class IFC_PARSE_API IfcChangeActionEnum : public express::DeclaredType { public: - IfcChangeActionEnum() {} - explicit IfcChangeActionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChangeAction_ADDED, IfcChangeAction_DELETED, IfcChangeAction_MODIFIED, IfcChangeAction_NOCHANGE, IfcChangeAction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChangeActionEnum initialize(Value v); + IfcChangeActionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of Chillers classified by their method of heat rejection. @@ -5545,16 +5445,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcChillerTypeEnum : public express::DeclaredType { public: - IfcChillerTypeEnum() {} - explicit IfcChillerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChillerType_AIRCOOLED, IfcChillerType_HEATRECOVERY, IfcChillerType_WATERCOOLED, IfcChillerType_USERDEFINED, IfcChillerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChillerTypeEnum initialize(Value v); + IfcChillerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -5569,16 +5468,15 @@ public: /// for future extensions. class IFC_PARSE_API IfcChimneyTypeEnum : public express::DeclaredType { public: - IfcChimneyTypeEnum() {} - explicit IfcChimneyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcChimneyType_USERDEFINED, IfcChimneyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcChimneyTypeEnum initialize(Value v); + IfcChimneyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of coils. @@ -5605,16 +5503,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoilTypeEnum : public express::DeclaredType { public: - IfcCoilTypeEnum() {} - explicit IfcCoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoilType_DXCOOLINGCOIL, IfcCoilType_ELECTRICHEATINGCOIL, IfcCoilType_GASHEATINGCOIL, IfcCoilType_HYDRONICCOIL, IfcCoilType_STEAMHEATINGCOIL, IfcCoilType_WATERCOOLINGCOIL, IfcCoilType_WATERHEATINGCOIL, IfcCoilType_USERDEFINED, IfcCoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoilTypeEnum initialize(Value v); + IfcCoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -5633,16 +5530,15 @@ public: /// in Release IFC2x Edition 2. class IFC_PARSE_API IfcColumnTypeEnum : public express::DeclaredType { public: - IfcColumnTypeEnum() {} - explicit IfcColumnTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcColumnType_COLUMN, IfcColumnType_PIERSTEM, IfcColumnType_PIERSTEM_SEGMENT, IfcColumnType_PILASTER, IfcColumnType_STANDCOLUMN, IfcColumnType_USERDEFINED, IfcColumnType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcColumnTypeEnum initialize(Value v); + IfcColumnTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different types of communications appliance that can be specified. @@ -5663,16 +5559,15 @@ public: /// SCANNER: A machine that has the primary function of scanning the content of printed matter and converting it to digital format that can be stored in a computer. class IFC_PARSE_API IfcCommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcCommunicationsApplianceTypeEnum() {} - explicit IfcCommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCommunicationsApplianceType_ANTENNA, IfcCommunicationsApplianceType_AUTOMATON, IfcCommunicationsApplianceType_COMPUTER, IfcCommunicationsApplianceType_FAX, IfcCommunicationsApplianceType_GATEWAY, IfcCommunicationsApplianceType_INTELLIGENTPERIPHERAL, IfcCommunicationsApplianceType_IPNETWORKEQUIPMENT, IfcCommunicationsApplianceType_LINESIDEELECTRONICUNIT, IfcCommunicationsApplianceType_MODEM, IfcCommunicationsApplianceType_NETWORKAPPLIANCE, IfcCommunicationsApplianceType_NETWORKBRIDGE, IfcCommunicationsApplianceType_NETWORKHUB, IfcCommunicationsApplianceType_OPTICALLINETERMINAL, IfcCommunicationsApplianceType_OPTICALNETWORKUNIT, IfcCommunicationsApplianceType_PRINTER, IfcCommunicationsApplianceType_RADIOBLOCKCENTER, IfcCommunicationsApplianceType_REPEATER, IfcCommunicationsApplianceType_ROUTER, IfcCommunicationsApplianceType_SCANNER, IfcCommunicationsApplianceType_TELECOMMAND, IfcCommunicationsApplianceType_TELEPHONYEXCHANGE, IfcCommunicationsApplianceType_TRANSITIONCOMPONENT, IfcCommunicationsApplianceType_TRANSPONDER, IfcCommunicationsApplianceType_TRANSPORTEQUIPMENT, IfcCommunicationsApplianceType_USERDEFINED, IfcCommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCommunicationsApplianceTypeEnum initialize(Value v); + IfcCommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the subtype of instances of IfcComplexProperty or IfcPhysicalComplexQuantity that may be created and defined by an IfcComplexPropertyTemplate. @@ -5685,16 +5580,15 @@ public: /// Q_COMPLEX: the properties defined by this IfcComplexPropertyTemplate are of type IfcPhysicalComplexQuantity. class IFC_PARSE_API IfcComplexPropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcComplexPropertyTemplateTypeEnum() {} - explicit IfcComplexPropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcComplexPropertyTemplateType_P_COMPLEX, IfcComplexPropertyTemplateType_Q_COMPLEX} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcComplexPropertyTemplateTypeEnum initialize(Value v); + IfcComplexPropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Types of compressors. @@ -5721,16 +5615,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCompressorTypeEnum : public express::DeclaredType { public: - IfcCompressorTypeEnum() {} - explicit IfcCompressorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCompressorType_BOOSTER, IfcCompressorType_DYNAMIC, IfcCompressorType_HERMETIC, IfcCompressorType_OPENTYPE, IfcCompressorType_RECIPROCATING, IfcCompressorType_ROLLINGPISTON, IfcCompressorType_ROTARY, IfcCompressorType_ROTARYVANE, IfcCompressorType_SCROLL, IfcCompressorType_SEMIHERMETIC, IfcCompressorType_SINGLESCREW, IfcCompressorType_SINGLESTAGE, IfcCompressorType_TROCHOIDAL, IfcCompressorType_TWINSCREW, IfcCompressorType_WELDEDSHELLHERMETIC, IfcCompressorType_USERDEFINED, IfcCompressorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCompressorTypeEnum initialize(Value v); + IfcCompressorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of condensers. Air is used as the cooling medium for AIRCOOLED; water is used as the cooling medium for all other types. The IfcCondenserTypeEnum contains the following: @@ -5748,16 +5641,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. WATERCOOLED added in IFC 2x4. class IFC_PARSE_API IfcCondenserTypeEnum : public express::DeclaredType { public: - IfcCondenserTypeEnum() {} - explicit IfcCondenserTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCondenserType_AIRCOOLED, IfcCondenserType_EVAPORATIVECOOLED, IfcCondenserType_WATERCOOLED, IfcCondenserType_WATERCOOLEDBRAZEDPLATE, IfcCondenserType_WATERCOOLEDSHELLCOIL, IfcCondenserType_WATERCOOLEDSHELLTUBE, IfcCondenserType_WATERCOOLEDTUBEINTUBE, IfcCondenserType_USERDEFINED, IfcCondenserType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCondenserTypeEnum initialize(Value v); + IfcCondenserTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the different ways how path based elements (such as IfcWallStandardCase) can connect, as shown in Figure 65. @@ -5782,16 +5674,15 @@ public: /// Figure 65 — Connection types& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConnectionType_ATEND, IfcConnectionType_ATPATH, IfcConnectionType_ATSTART, IfcConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConnectionTypeEnum initialize(Value v); + IfcConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcConstraintEnum is an enumeration used to qualify a constraint. @@ -5813,16 +5704,15 @@ public: /// Qualifies a constraint such that it is advised that it is followed within or at the values set. class IFC_PARSE_API IfcConstraintEnum : public express::DeclaredType { public: - IfcConstraintEnum() {} - explicit IfcConstraintEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstraint_ADVISORY, IfcConstraint_HARD, IfcConstraint_SOFT, IfcConstraint_USERDEFINED, IfcConstraint_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstraintEnum initialize(Value v); + IfcConstraintEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction equipment resource. It is limited to the most common equipment used in construction. The IfcConstructionEquipmentResourceTypeEnum contains the following: @@ -5841,16 +5731,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionEquipmentResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionEquipmentResourceTypeEnum() {} - explicit IfcConstructionEquipmentResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionEquipmentResourceType_DEMOLISHING, IfcConstructionEquipmentResourceType_EARTHMOVING, IfcConstructionEquipmentResourceType_ERECTING, IfcConstructionEquipmentResourceType_HEATING, IfcConstructionEquipmentResourceType_LIGHTING, IfcConstructionEquipmentResourceType_PAVING, IfcConstructionEquipmentResourceType_PUMPING, IfcConstructionEquipmentResourceType_TRANSPORTING, IfcConstructionEquipmentResourceType_USERDEFINED, IfcConstructionEquipmentResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionEquipmentResourceTypeEnum initialize(Value v); + IfcConstructionEquipmentResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction material resource. It is limited to the most common raw materials used in construction and excludes materials commonly sold as finished products. The IfcConstructionMaterialResourceTypeEnum contains the following: @@ -5870,16 +5759,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionMaterialResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionMaterialResourceTypeEnum() {} - explicit IfcConstructionMaterialResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionMaterialResourceType_AGGREGATES, IfcConstructionMaterialResourceType_CONCRETE, IfcConstructionMaterialResourceType_DRYWALL, IfcConstructionMaterialResourceType_FUEL, IfcConstructionMaterialResourceType_GYPSUM, IfcConstructionMaterialResourceType_MASONRY, IfcConstructionMaterialResourceType_METAL, IfcConstructionMaterialResourceType_PLASTIC, IfcConstructionMaterialResourceType_WOOD, IfcConstructionMaterialResourceType_USERDEFINED, IfcConstructionMaterialResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionMaterialResourceTypeEnum initialize(Value v); + IfcConstructionMaterialResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a construction product resource. It describes use of products created for construction, and excludes products of the finished building model. The IfcConstructionProductsResourceTypeEnum contains the following: @@ -5892,16 +5780,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcConstructionProductResourceTypeEnum : public express::DeclaredType { public: - IfcConstructionProductResourceTypeEnum() {} - explicit IfcConstructionProductResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConstructionProductResourceType_ASSEMBLY, IfcConstructionProductResourceType_FORMWORK, IfcConstructionProductResourceType_USERDEFINED, IfcConstructionProductResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConstructionProductResourceTypeEnum initialize(Value v); + IfcConstructionProductResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcControllerTypeEnum defines the range of different types of controller that can be specified. @@ -5920,31 +5807,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcControllerTypeEnum : public express::DeclaredType { public: - IfcControllerTypeEnum() {} - explicit IfcControllerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcControllerType_FLOATING, IfcControllerType_MULTIPOSITION, IfcControllerType_PROGRAMMABLE, IfcControllerType_PROPORTIONAL, IfcControllerType_TWOPOSITION, IfcControllerType_USERDEFINED, IfcControllerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcControllerTypeEnum initialize(Value v); + IfcControllerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcConveyorSegmentTypeEnum : public express::DeclaredType { public: - IfcConveyorSegmentTypeEnum() {} - explicit IfcConveyorSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcConveyorSegmentType_BELTCONVEYOR, IfcConveyorSegmentType_BUCKETCONVEYOR, IfcConveyorSegmentType_CHUTECONVEYOR, IfcConveyorSegmentType_SCREWCONVEYOR, IfcConveyorSegmentType_USERDEFINED, IfcConveyorSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcConveyorSegmentTypeEnum initialize(Value v); + IfcConveyorSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// There are two general types of cooled or chilled beams: passive and active. @@ -5968,16 +5853,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcCooledBeamTypeEnum : public express::DeclaredType { public: - IfcCooledBeamTypeEnum() {} - explicit IfcCooledBeamTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCooledBeamType_ACTIVE, IfcCooledBeamType_PASSIVE, IfcCooledBeamType_USERDEFINED, IfcCooledBeamType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCooledBeamTypeEnum initialize(Value v); + IfcCooledBeamTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of cooling towers. @@ -5994,16 +5878,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcCoolingTowerTypeEnum : public express::DeclaredType { public: - IfcCoolingTowerTypeEnum() {} - explicit IfcCoolingTowerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoolingTowerType_MECHANICALFORCEDDRAFT, IfcCoolingTowerType_MECHANICALINDUCEDDRAFT, IfcCoolingTowerType_NATURALDRAFT, IfcCoolingTowerType_USERDEFINED, IfcCoolingTowerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoolingTowerTypeEnum initialize(Value v); + IfcCoolingTowerTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostItemTypeEnum is a list of the available types of cost items. @@ -6014,16 +5897,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostItemTypeEnum : public express::DeclaredType { public: - IfcCostItemTypeEnum() {} - explicit IfcCostItemTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostItemType_USERDEFINED, IfcCostItemType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostItemTypeEnum initialize(Value v); + IfcCostItemTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcCostScheduleTypeEnum is a list of the available types of cost schedule from which that required may be selected. @@ -6041,31 +5923,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcCostScheduleTypeEnum : public express::DeclaredType { public: - IfcCostScheduleTypeEnum() {} - explicit IfcCostScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCostScheduleType_BUDGET, IfcCostScheduleType_COSTPLAN, IfcCostScheduleType_ESTIMATE, IfcCostScheduleType_PRICEDBILLOFQUANTITIES, IfcCostScheduleType_SCHEDULEOFRATES, IfcCostScheduleType_TENDER, IfcCostScheduleType_UNPRICEDBILLOFQUANTITIES, IfcCostScheduleType_USERDEFINED, IfcCostScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCostScheduleTypeEnum initialize(Value v); + IfcCostScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcCourseTypeEnum : public express::DeclaredType { public: - IfcCourseTypeEnum() {} - explicit IfcCourseTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCourseType_ARMOUR, IfcCourseType_BALLASTBED, IfcCourseType_CORE, IfcCourseType_FILTER, IfcCourseType_PAVEMENT, IfcCourseType_PROTECTION, IfcCourseType_USERDEFINED, IfcCourseType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCourseTypeEnum initialize(Value v); + IfcCourseTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -6113,16 +5993,15 @@ public: /// covering class IFC_PARSE_API IfcCoveringTypeEnum : public express::DeclaredType { public: - IfcCoveringTypeEnum() {} - explicit IfcCoveringTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCoveringType_CEILING, IfcCoveringType_CLADDING, IfcCoveringType_COPING, IfcCoveringType_FLOORING, IfcCoveringType_INSULATION, IfcCoveringType_MEMBRANE, IfcCoveringType_MOLDING, IfcCoveringType_ROOFING, IfcCoveringType_SKIRTINGBOARD, IfcCoveringType_SLEEVING, IfcCoveringType_TOPPING, IfcCoveringType_WRAPPING, IfcCoveringType_USERDEFINED, IfcCoveringType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCoveringTypeEnum initialize(Value v); + IfcCoveringTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a crew resource. The IfcCrewResourceTypeEnum contains the following: @@ -6135,16 +6014,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcCrewResourceTypeEnum : public express::DeclaredType { public: - IfcCrewResourceTypeEnum() {} - explicit IfcCrewResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCrewResourceType_OFFICE, IfcCrewResourceType_SITE, IfcCrewResourceType_USERDEFINED, IfcCrewResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCrewResourceTypeEnum initialize(Value v); + IfcCrewResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining @@ -6158,16 +6036,15 @@ public: /// been added for future extensions. class IFC_PARSE_API IfcCurtainWallTypeEnum : public express::DeclaredType { public: - IfcCurtainWallTypeEnum() {} - explicit IfcCurtainWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurtainWallType_USERDEFINED, IfcCurtainWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurtainWallTypeEnum initialize(Value v); + IfcCurtainWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcCurveInterpolationEnum specifies the possible methods @@ -6189,16 +6066,15 @@ public: /// provided class IFC_PARSE_API IfcCurveInterpolationEnum : public express::DeclaredType { public: - IfcCurveInterpolationEnum() {} - explicit IfcCurveInterpolationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcCurveInterpolation_LINEAR, IfcCurveInterpolation_LOG_LINEAR, IfcCurveInterpolation_LOG_LOG, IfcCurveInterpolation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcCurveInterpolationEnum initialize(Value v); + IfcCurveInterpolationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of damper: @@ -6220,16 +6096,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcDamperTypeEnum : public express::DeclaredType { public: - IfcDamperTypeEnum() {} - explicit IfcDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDamperType_BACKDRAFTDAMPER, IfcDamperType_BALANCINGDAMPER, IfcDamperType_BLASTDAMPER, IfcDamperType_CONTROLDAMPER, IfcDamperType_FIREDAMPER, IfcDamperType_FIRESMOKEDAMPER, IfcDamperType_FUMEHOODEXHAUST, IfcDamperType_GRAVITYDAMPER, IfcDamperType_GRAVITYRELIEFDAMPER, IfcDamperType_RELIEFDAMPER, IfcDamperType_SMOKEDAMPER, IfcDamperType_USERDEFINED, IfcDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDamperTypeEnum initialize(Value v); + IfcDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcDataOriginEnum identifies the origin of time data: @@ -6242,16 +6117,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDataOriginEnum : public express::DeclaredType { public: - IfcDataOriginEnum() {} - explicit IfcDataOriginEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDataOrigin_MEASURED, IfcDataOrigin_PREDICTED, IfcDataOrigin_SIMULATED, IfcDataOrigin_USERDEFINED, IfcDataOrigin_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDataOriginEnum initialize(Value v); + IfcDataOriginEnum initialize(const std::string& v); operator Value() const; }; /// IfcDerivedUnitEnum is an enumeration type for allowed types of derived units. @@ -6313,16 +6187,15 @@ public: /// IFC 2x4 change: added TEMPERATURERATEOFCHANGE. class IFC_PARSE_API IfcDerivedUnitEnum : public express::DeclaredType { public: - IfcDerivedUnitEnum() {} - explicit IfcDerivedUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDerivedUnit_ACCELERATIONUNIT, IfcDerivedUnit_ANGULARVELOCITYUNIT, IfcDerivedUnit_AREADENSITYUNIT, IfcDerivedUnit_COMPOUNDPLANEANGLEUNIT, IfcDerivedUnit_CURVATUREUNIT, IfcDerivedUnit_DYNAMICVISCOSITYUNIT, IfcDerivedUnit_HEATFLUXDENSITYUNIT, IfcDerivedUnit_HEATINGVALUEUNIT, IfcDerivedUnit_INTEGERCOUNTRATEUNIT, IfcDerivedUnit_IONCONCENTRATIONUNIT, IfcDerivedUnit_ISOTHERMALMOISTURECAPACITYUNIT, IfcDerivedUnit_KINEMATICVISCOSITYUNIT, IfcDerivedUnit_LINEARFORCEUNIT, IfcDerivedUnit_LINEARMOMENTUNIT, IfcDerivedUnit_LINEARSTIFFNESSUNIT, IfcDerivedUnit_LINEARVELOCITYUNIT, IfcDerivedUnit_LUMINOUSINTENSITYDISTRIBUTIONUNIT, IfcDerivedUnit_MASSDENSITYUNIT, IfcDerivedUnit_MASSFLOWRATEUNIT, IfcDerivedUnit_MASSPERLENGTHUNIT, IfcDerivedUnit_MODULUSOFELASTICITYUNIT, IfcDerivedUnit_MODULUSOFLINEARSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFROTATIONALSUBGRADEREACTIONUNIT, IfcDerivedUnit_MODULUSOFSUBGRADEREACTIONUNIT, IfcDerivedUnit_MOISTUREDIFFUSIVITYUNIT, IfcDerivedUnit_MOLECULARWEIGHTUNIT, IfcDerivedUnit_MOMENTOFINERTIAUNIT, IfcDerivedUnit_PHUNIT, IfcDerivedUnit_PLANARFORCEUNIT, IfcDerivedUnit_ROTATIONALFREQUENCYUNIT, IfcDerivedUnit_ROTATIONALMASSUNIT, IfcDerivedUnit_ROTATIONALSTIFFNESSUNIT, IfcDerivedUnit_SECTIONAREAINTEGRALUNIT, IfcDerivedUnit_SECTIONMODULUSUNIT, IfcDerivedUnit_SHEARMODULUSUNIT, IfcDerivedUnit_SOUNDPOWERLEVELUNIT, IfcDerivedUnit_SOUNDPOWERUNIT, IfcDerivedUnit_SOUNDPRESSURELEVELUNIT, IfcDerivedUnit_SOUNDPRESSUREUNIT, IfcDerivedUnit_SPECIFICHEATCAPACITYUNIT, IfcDerivedUnit_TEMPERATUREGRADIENTUNIT, IfcDerivedUnit_TEMPERATURERATEOFCHANGEUNIT, IfcDerivedUnit_THERMALADMITTANCEUNIT, IfcDerivedUnit_THERMALCONDUCTANCEUNIT, IfcDerivedUnit_THERMALEXPANSIONCOEFFICIENTUNIT, IfcDerivedUnit_THERMALRESISTANCEUNIT, IfcDerivedUnit_THERMALTRANSMITTANCEUNIT, IfcDerivedUnit_TORQUEUNIT, IfcDerivedUnit_VAPORPERMEABILITYUNIT, IfcDerivedUnit_VOLUMETRICFLOWRATEUNIT, IfcDerivedUnit_WARPINGCONSTANTUNIT, IfcDerivedUnit_WARPINGMOMENTUNIT, IfcDerivedUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDerivedUnitEnum initialize(Value v); + IfcDerivedUnitEnum initialize(const std::string& v); operator Value() const; }; /// IfcDirectionSenseEnum is an enumeration denoting whether sense of direction is positive or negative along the given axis. @@ -6335,16 +6208,15 @@ public: /// HISTORY New Type in IFC2x. class IFC_PARSE_API IfcDirectionSenseEnum : public express::DeclaredType { public: - IfcDirectionSenseEnum() {} - explicit IfcDirectionSenseEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDirectionSense_NEGATIVE, IfcDirectionSense_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDirectionSenseEnum initialize(Value v); + IfcDirectionSenseEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of discrete accessories: @@ -6358,31 +6230,29 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcDiscreteAccessoryTypeEnum : public express::DeclaredType { public: - IfcDiscreteAccessoryTypeEnum() {} - explicit IfcDiscreteAccessoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDiscreteAccessoryType_ANCHORPLATE, IfcDiscreteAccessoryType_BIRDPROTECTION, IfcDiscreteAccessoryType_BRACKET, IfcDiscreteAccessoryType_CABLEARRANGER, IfcDiscreteAccessoryType_ELASTIC_CUSHION, IfcDiscreteAccessoryType_EXPANSION_JOINT_DEVICE, IfcDiscreteAccessoryType_FILLER, IfcDiscreteAccessoryType_FLASHING, IfcDiscreteAccessoryType_INSULATOR, IfcDiscreteAccessoryType_LOCK, IfcDiscreteAccessoryType_PANEL_STRENGTHENING, IfcDiscreteAccessoryType_POINTMACHINEMOUNTINGDEVICE, IfcDiscreteAccessoryType_POINT_MACHINE_LOCKING_DEVICE, IfcDiscreteAccessoryType_RAILBRACE, IfcDiscreteAccessoryType_RAILPAD, IfcDiscreteAccessoryType_RAIL_LUBRICATION, IfcDiscreteAccessoryType_RAIL_MECHANICAL_EQUIPMENT, IfcDiscreteAccessoryType_SHOE, IfcDiscreteAccessoryType_SLIDINGCHAIR, IfcDiscreteAccessoryType_SOUNDABSORPTION, IfcDiscreteAccessoryType_TENSIONINGEQUIPMENT, IfcDiscreteAccessoryType_USERDEFINED, IfcDiscreteAccessoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDiscreteAccessoryTypeEnum initialize(Value v); + IfcDiscreteAccessoryTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcDistributionBoardTypeEnum() {} - explicit IfcDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionBoardType_CONSUMERUNIT, IfcDistributionBoardType_DISPATCHINGBOARD, IfcDistributionBoardType_DISTRIBUTIONBOARD, IfcDistributionBoardType_DISTRIBUTIONFRAME, IfcDistributionBoardType_MOTORCONTROLCENTRE, IfcDistributionBoardType_SWITCHBOARD, IfcDistributionBoardType_USERDEFINED, IfcDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionBoardTypeEnum initialize(Value v); + IfcDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution chambers. @@ -6403,31 +6273,29 @@ public: /// HISTORY: New enumeration in IFC R2x2 class IFC_PARSE_API IfcDistributionChamberElementTypeEnum : public express::DeclaredType { public: - IfcDistributionChamberElementTypeEnum() {} - explicit IfcDistributionChamberElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionChamberElementType_FORMEDDUCT, IfcDistributionChamberElementType_INSPECTIONCHAMBER, IfcDistributionChamberElementType_INSPECTIONPIT, IfcDistributionChamberElementType_MANHOLE, IfcDistributionChamberElementType_METERCHAMBER, IfcDistributionChamberElementType_SUMP, IfcDistributionChamberElementType_TRENCH, IfcDistributionChamberElementType_VALVECHAMBER, IfcDistributionChamberElementType_USERDEFINED, IfcDistributionChamberElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionChamberElementTypeEnum initialize(Value v); + IfcDistributionChamberElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcDistributionPortTypeEnum : public express::DeclaredType { public: - IfcDistributionPortTypeEnum() {} - explicit IfcDistributionPortTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionPortType_CABLE, IfcDistributionPortType_CABLECARRIER, IfcDistributionPortType_DUCT, IfcDistributionPortType_PIPE, IfcDistributionPortType_WIRELESS, IfcDistributionPortType_USERDEFINED, IfcDistributionPortType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionPortTypeEnum initialize(Value v); + IfcDistributionPortTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration identifies different types of distribution systems. @@ -6479,16 +6347,15 @@ public: /// TV: A transport of multiple media sources (e.g. analog cable, satellite, over-the-air). class IFC_PARSE_API IfcDistributionSystemEnum : public express::DeclaredType { public: - IfcDistributionSystemEnum() {} - explicit IfcDistributionSystemEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDistributionSystem_AIRCONDITIONING, IfcDistributionSystem_AUDIOVISUAL, IfcDistributionSystem_CATENARY_SYSTEM, IfcDistributionSystem_CHEMICAL, IfcDistributionSystem_CHILLEDWATER, IfcDistributionSystem_COMMUNICATION, IfcDistributionSystem_COMPRESSEDAIR, IfcDistributionSystem_CONDENSERWATER, IfcDistributionSystem_CONTROL, IfcDistributionSystem_CONVEYING, IfcDistributionSystem_DATA, IfcDistributionSystem_DISPOSAL, IfcDistributionSystem_DOMESTICCOLDWATER, IfcDistributionSystem_DOMESTICHOTWATER, IfcDistributionSystem_DRAINAGE, IfcDistributionSystem_EARTHING, IfcDistributionSystem_ELECTRICAL, IfcDistributionSystem_ELECTROACOUSTIC, IfcDistributionSystem_EXHAUST, IfcDistributionSystem_FIREPROTECTION, IfcDistributionSystem_FIXEDTRANSMISSIONNETWORK, IfcDistributionSystem_FUEL, IfcDistributionSystem_GAS, IfcDistributionSystem_HAZARDOUS, IfcDistributionSystem_HEATING, IfcDistributionSystem_LIGHTING, IfcDistributionSystem_LIGHTNINGPROTECTION, IfcDistributionSystem_MOBILENETWORK, IfcDistributionSystem_MONITORINGSYSTEM, IfcDistributionSystem_MUNICIPALSOLIDWASTE, IfcDistributionSystem_OIL, IfcDistributionSystem_OPERATIONAL, IfcDistributionSystem_OPERATIONALTELEPHONYSYSTEM, IfcDistributionSystem_OVERHEAD_CONTACTLINE_SYSTEM, IfcDistributionSystem_POWERGENERATION, IfcDistributionSystem_RAINWATER, IfcDistributionSystem_REFRIGERATION, IfcDistributionSystem_RETURN_CIRCUIT, IfcDistributionSystem_SECURITY, IfcDistributionSystem_SEWAGE, IfcDistributionSystem_SIGNAL, IfcDistributionSystem_STORMWATER, IfcDistributionSystem_TELEPHONE, IfcDistributionSystem_TV, IfcDistributionSystem_VACUUM, IfcDistributionSystem_VENT, IfcDistributionSystem_VENTILATION, IfcDistributionSystem_WASTEWATER, IfcDistributionSystem_WATERSUPPLY, IfcDistributionSystem_USERDEFINED, IfcDistributionSystem_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDistributionSystemEnum initialize(Value v); + IfcDistributionSystemEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentConfidentialityEnum enables selection of the level of confidentiality of document information from a list of choices. @@ -6505,16 +6372,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcDocumentConfidentialityEnum : public express::DeclaredType { public: - IfcDocumentConfidentialityEnum() {} - explicit IfcDocumentConfidentialityEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentConfidentiality_CONFIDENTIAL, IfcDocumentConfidentiality_PERSONAL, IfcDocumentConfidentiality_PUBLIC, IfcDocumentConfidentiality_RESTRICTED, IfcDocumentConfidentiality_USERDEFINED, IfcDocumentConfidentiality_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentConfidentialityEnum initialize(Value v); + IfcDocumentConfidentialityEnum initialize(const std::string& v); operator Value() const; }; /// IfcDocumentStatusEnum enables selection of the status of document information from a list of choices. @@ -6522,16 +6388,15 @@ public: /// HISTORY: New enumeration in IFC Release 2x. class IFC_PARSE_API IfcDocumentStatusEnum : public express::DeclaredType { public: - IfcDocumentStatusEnum() {} - explicit IfcDocumentStatusEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDocumentStatus_DRAFT, IfcDocumentStatus_FINAL, IfcDocumentStatus_FINALDRAFT, IfcDocumentStatus_REVISION, IfcDocumentStatus_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDocumentStatusEnum initialize(Value v); + IfcDocumentStatusEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways how individual door panels operate as shown in Figure 164. @@ -6569,16 +6434,15 @@ public: /// NOTE Figures (symbolic representation) depend on the national building code. These figures are only shown as illustrations class IFC_PARSE_API IfcDoorPanelOperationEnum : public express::DeclaredType { public: - IfcDoorPanelOperationEnum() {} - explicit IfcDoorPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelOperation_DOUBLE_ACTING, IfcDoorPanelOperation_FIXEDPANEL, IfcDoorPanelOperation_FOLDING, IfcDoorPanelOperation_REVOLVING, IfcDoorPanelOperation_ROLLINGUP, IfcDoorPanelOperation_SLIDING, IfcDoorPanelOperation_SWINGING, IfcDoorPanelOperation_USERDEFINED, IfcDoorPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelOperationEnum initialize(Value v); + IfcDoorPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// Definition: This enumeration defines the basic ways to describe the location of a door panel within a door lining. @@ -6590,16 +6454,15 @@ public: /// Figure 166 — Door panel positions class IFC_PARSE_API IfcDoorPanelPositionEnum : public express::DeclaredType { public: - IfcDoorPanelPositionEnum() {} - explicit IfcDoorPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorPanelPosition_LEFT, IfcDoorPanelPosition_MIDDLE, IfcDoorPanelPosition_RIGHT, IfcDoorPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorPanelPositionEnum initialize(Value v); + IfcDoorPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -6620,16 +6483,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcDoorTypeEnum : public express::DeclaredType { public: - IfcDoorTypeEnum() {} - explicit IfcDoorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorType_BOOM_BARRIER, IfcDoorType_DOOR, IfcDoorType_GATE, IfcDoorType_TRAPDOOR, IfcDoorType_TURNSTILE, IfcDoorType_USERDEFINED, IfcDoorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeEnum initialize(Value v); + IfcDoorTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how doors operate, as shown in Figure 66. It combines the partitioning of the door into a single or multiple door panels and the operation types of that panels. @@ -6814,16 +6676,15 @@ public: /// IfcDoorLiningProperties.LiningOffset parameter. class IFC_PARSE_API IfcDoorTypeOperationEnum : public express::DeclaredType { public: - IfcDoorTypeOperationEnum() {} - explicit IfcDoorTypeOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDoorTypeOperation_DOUBLE_DOOR_DOUBLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_FOLDING, IfcDoorTypeOperation_DOUBLE_DOOR_LIFTING_VERTICAL, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT, IfcDoorTypeOperation_DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT, IfcDoorTypeOperation_DOUBLE_DOOR_SLIDING, IfcDoorTypeOperation_DOUBLE_SWING_LEFT, IfcDoorTypeOperation_DOUBLE_SWING_RIGHT, IfcDoorTypeOperation_FOLDING_TO_LEFT, IfcDoorTypeOperation_FOLDING_TO_RIGHT, IfcDoorTypeOperation_LIFTING_HORIZONTAL, IfcDoorTypeOperation_LIFTING_VERTICAL_LEFT, IfcDoorTypeOperation_LIFTING_VERTICAL_RIGHT, IfcDoorTypeOperation_REVOLVING, IfcDoorTypeOperation_REVOLVING_VERTICAL, IfcDoorTypeOperation_ROLLINGUP, IfcDoorTypeOperation_SINGLE_SWING_LEFT, IfcDoorTypeOperation_SINGLE_SWING_RIGHT, IfcDoorTypeOperation_SLIDING_TO_LEFT, IfcDoorTypeOperation_SLIDING_TO_RIGHT, IfcDoorTypeOperation_SWING_FIXED_LEFT, IfcDoorTypeOperation_SWING_FIXED_RIGHT, IfcDoorTypeOperation_USERDEFINED, IfcDoorTypeOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDoorTypeOperationEnum initialize(Value v); + IfcDoorTypeOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a duct fitting. This is a very basic categorization mechanism @@ -6861,16 +6722,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctFittingTypeEnum : public express::DeclaredType { public: - IfcDuctFittingTypeEnum() {} - explicit IfcDuctFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctFittingType_BEND, IfcDuctFittingType_CONNECTOR, IfcDuctFittingType_ENTRY, IfcDuctFittingType_EXIT, IfcDuctFittingType_JUNCTION, IfcDuctFittingType_OBSTRUCTION, IfcDuctFittingType_TRANSITION, IfcDuctFittingType_USERDEFINED, IfcDuctFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctFittingTypeEnum initialize(Value v); + IfcDuctFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -6890,16 +6750,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcDuctSegmentTypeEnum : public express::DeclaredType { public: - IfcDuctSegmentTypeEnum() {} - explicit IfcDuctSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSegmentType_FLEXIBLESEGMENT, IfcDuctSegmentType_RIGIDSEGMENT, IfcDuctSegmentType_USERDEFINED, IfcDuctSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSegmentTypeEnum initialize(Value v); + IfcDuctSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of duct silencers. @@ -6914,46 +6773,43 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcDuctSilencerTypeEnum : public express::DeclaredType { public: - IfcDuctSilencerTypeEnum() {} - explicit IfcDuctSilencerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcDuctSilencerType_FLATOVAL, IfcDuctSilencerType_RECTANGULAR, IfcDuctSilencerType_ROUND, IfcDuctSilencerType_USERDEFINED, IfcDuctSilencerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcDuctSilencerTypeEnum initialize(Value v); + IfcDuctSilencerTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksCutTypeEnum : public express::DeclaredType { public: - IfcEarthworksCutTypeEnum() {} - explicit IfcEarthworksCutTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksCutType_BASE_EXCAVATION, IfcEarthworksCutType_CUT, IfcEarthworksCutType_DREDGING, IfcEarthworksCutType_EXCAVATION, IfcEarthworksCutType_OVEREXCAVATION, IfcEarthworksCutType_PAVEMENTMILLING, IfcEarthworksCutType_STEPEXCAVATION, IfcEarthworksCutType_TOPSOILREMOVAL, IfcEarthworksCutType_TRENCH, IfcEarthworksCutType_USERDEFINED, IfcEarthworksCutType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksCutTypeEnum initialize(Value v); + IfcEarthworksCutTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcEarthworksFillTypeEnum : public express::DeclaredType { public: - IfcEarthworksFillTypeEnum() {} - explicit IfcEarthworksFillTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEarthworksFillType_BACKFILL, IfcEarthworksFillType_COUNTERWEIGHT, IfcEarthworksFillType_EMBANKMENT, IfcEarthworksFillType_SLOPEFILL, IfcEarthworksFillType_SUBGRADE, IfcEarthworksFillType_SUBGRADEBED, IfcEarthworksFillType_TRANSITIONSECTION, IfcEarthworksFillType_USERDEFINED, IfcEarthworksFillType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEarthworksFillTypeEnum initialize(Value v); + IfcEarthworksFillTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricApplianceTypeEnum defines the range of different types of electrical appliance that can be specified. @@ -6987,16 +6843,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricApplianceTypeEnum : public express::DeclaredType { public: - IfcElectricApplianceTypeEnum() {} - explicit IfcElectricApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricApplianceType_DISHWASHER, IfcElectricApplianceType_ELECTRICCOOKER, IfcElectricApplianceType_FREESTANDINGELECTRICHEATER, IfcElectricApplianceType_FREESTANDINGFAN, IfcElectricApplianceType_FREESTANDINGWATERCOOLER, IfcElectricApplianceType_FREESTANDINGWATERHEATER, IfcElectricApplianceType_FREEZER, IfcElectricApplianceType_FRIDGE_FREEZER, IfcElectricApplianceType_HANDDRYER, IfcElectricApplianceType_KITCHENMACHINE, IfcElectricApplianceType_MICROWAVE, IfcElectricApplianceType_PHOTOCOPIER, IfcElectricApplianceType_REFRIGERATOR, IfcElectricApplianceType_TUMBLEDRYER, IfcElectricApplianceType_VENDINGMACHINE, IfcElectricApplianceType_WASHINGMACHINE, IfcElectricApplianceType_USERDEFINED, IfcElectricApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricApplianceTypeEnum initialize(Value v); + IfcElectricApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricDistributionBoardTypeEnum defines the range of different types and/or functions of electric distribution board possible. @@ -7011,16 +6866,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricDistributionBoardTypeEnum : public express::DeclaredType { public: - IfcElectricDistributionBoardTypeEnum() {} - explicit IfcElectricDistributionBoardTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricDistributionBoardType_CONSUMERUNIT, IfcElectricDistributionBoardType_DISTRIBUTIONBOARD, IfcElectricDistributionBoardType_MOTORCONTROLCENTRE, IfcElectricDistributionBoardType_SWITCHBOARD, IfcElectricDistributionBoardType_USERDEFINED, IfcElectricDistributionBoardType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricDistributionBoardTypeEnum initialize(Value v); + IfcElectricDistributionBoardTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricFlowStorageDeviceTypeEnum defines the range of different types of electrical flow storage device available. @@ -7035,31 +6889,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricFlowStorageDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowStorageDeviceTypeEnum() {} - explicit IfcElectricFlowStorageDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowStorageDeviceType_BATTERY, IfcElectricFlowStorageDeviceType_CAPACITOR, IfcElectricFlowStorageDeviceType_CAPACITORBANK, IfcElectricFlowStorageDeviceType_COMPENSATOR, IfcElectricFlowStorageDeviceType_HARMONICFILTER, IfcElectricFlowStorageDeviceType_INDUCTOR, IfcElectricFlowStorageDeviceType_INDUCTORBANK, IfcElectricFlowStorageDeviceType_RECHARGER, IfcElectricFlowStorageDeviceType_UPS, IfcElectricFlowStorageDeviceType_USERDEFINED, IfcElectricFlowStorageDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowStorageDeviceTypeEnum initialize(Value v); + IfcElectricFlowStorageDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceTypeEnum : public express::DeclaredType { public: - IfcElectricFlowTreatmentDeviceTypeEnum() {} - explicit IfcElectricFlowTreatmentDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricFlowTreatmentDeviceType_ELECTRONICFILTER, IfcElectricFlowTreatmentDeviceType_USERDEFINED, IfcElectricFlowTreatmentDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(Value v); + IfcElectricFlowTreatmentDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricGeneratorTypeEnum defines the range of types of electric generators available. @@ -7074,16 +6926,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricGeneratorTypeEnum : public express::DeclaredType { public: - IfcElectricGeneratorTypeEnum() {} - explicit IfcElectricGeneratorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricGeneratorType_CHP, IfcElectricGeneratorType_ENGINEGENERATOR, IfcElectricGeneratorType_STANDALONE, IfcElectricGeneratorType_USERDEFINED, IfcElectricGeneratorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricGeneratorTypeEnum initialize(Value v); + IfcElectricGeneratorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricMotorTypeEnum defines the range of different types of electric motor that can be specified. @@ -7099,16 +6950,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricMotorTypeEnum : public express::DeclaredType { public: - IfcElectricMotorTypeEnum() {} - explicit IfcElectricMotorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricMotorType_DC, IfcElectricMotorType_INDUCTION, IfcElectricMotorType_POLYPHASE, IfcElectricMotorType_RELUCTANCESYNCHRONOUS, IfcElectricMotorType_SYNCHRONOUS, IfcElectricMotorType_USERDEFINED, IfcElectricMotorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricMotorTypeEnum initialize(Value v); + IfcElectricMotorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcElectricTimeControlTypeEnum defines the range of types of electrical time control available. @@ -7122,16 +6972,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcElectricTimeControlTypeEnum : public express::DeclaredType { public: - IfcElectricTimeControlTypeEnum() {} - explicit IfcElectricTimeControlTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElectricTimeControlType_RELAY, IfcElectricTimeControlType_TIMECLOCK, IfcElectricTimeControlType_TIMEDELAY, IfcElectricTimeControlType_USERDEFINED, IfcElectricTimeControlType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElectricTimeControlTypeEnum initialize(Value v); + IfcElectricTimeControlTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the @@ -7155,16 +7004,15 @@ public: /// NOTDEFINED: Undefined element assembly class IFC_PARSE_API IfcElementAssemblyTypeEnum : public express::DeclaredType { public: - IfcElementAssemblyTypeEnum() {} - explicit IfcElementAssemblyTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementAssemblyType_ABUTMENT, IfcElementAssemblyType_ACCESSORY_ASSEMBLY, IfcElementAssemblyType_ARCH, IfcElementAssemblyType_BEAM_GRID, IfcElementAssemblyType_BRACED_FRAME, IfcElementAssemblyType_CROSS_BRACING, IfcElementAssemblyType_DECK, IfcElementAssemblyType_DILATATIONPANEL, IfcElementAssemblyType_ENTRANCEWORKS, IfcElementAssemblyType_GIRDER, IfcElementAssemblyType_GRID, IfcElementAssemblyType_MAST, IfcElementAssemblyType_PIER, IfcElementAssemblyType_PYLON, IfcElementAssemblyType_RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY, IfcElementAssemblyType_REINFORCEMENT_UNIT, IfcElementAssemblyType_RIGID_FRAME, IfcElementAssemblyType_SHELTER, IfcElementAssemblyType_SIGNALASSEMBLY, IfcElementAssemblyType_SLAB_FIELD, IfcElementAssemblyType_SUMPBUSTER, IfcElementAssemblyType_SUPPORTINGASSEMBLY, IfcElementAssemblyType_SUSPENSIONASSEMBLY, IfcElementAssemblyType_TRACKPANEL, IfcElementAssemblyType_TRACTION_SWITCHING_ASSEMBLY, IfcElementAssemblyType_TRAFFIC_CALMING_DEVICE, IfcElementAssemblyType_TRUSS, IfcElementAssemblyType_TURNOUTPANEL, IfcElementAssemblyType_USERDEFINED, IfcElementAssemblyType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementAssemblyTypeEnum initialize(Value v); + IfcElementAssemblyTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration that provides an @@ -7181,16 +7029,15 @@ public: /// IFC Release 2.x class IFC_PARSE_API IfcElementCompositionEnum : public express::DeclaredType { public: - IfcElementCompositionEnum() {} - explicit IfcElementCompositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcElementComposition_COMPLEX, IfcElementComposition_ELEMENT, IfcElementComposition_PARTIAL} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcElementCompositionEnum initialize(Value v); + IfcElementCompositionEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of engines. The IfcEngineTypeEnum contains the following: @@ -7203,16 +7050,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcEngineTypeEnum : public express::DeclaredType { public: - IfcEngineTypeEnum() {} - explicit IfcEngineTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEngineType_EXTERNALCOMBUSTION, IfcEngineType_INTERNALCOMBUSTION, IfcEngineType_USERDEFINED, IfcEngineType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEngineTypeEnum initialize(Value v); + IfcEngineTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporative coolers. @@ -7233,16 +7079,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporativeCoolerTypeEnum : public express::DeclaredType { public: - IfcEvaporativeCoolerTypeEnum() {} - explicit IfcEvaporativeCoolerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporativeCoolerType_DIRECTEVAPORATIVEAIRWASHER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER, IfcEvaporativeCoolerType_DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTDIRECTCOMBINATION, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEPACKAGEAIRCOOLER, IfcEvaporativeCoolerType_INDIRECTEVAPORATIVEWETCOIL, IfcEvaporativeCoolerType_USERDEFINED, IfcEvaporativeCoolerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporativeCoolerTypeEnum initialize(Value v); + IfcEvaporativeCoolerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of evaporators. @@ -7260,16 +7105,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcEvaporatorTypeEnum : public express::DeclaredType { public: - IfcEvaporatorTypeEnum() {} - explicit IfcEvaporatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEvaporatorType_DIRECTEXPANSION, IfcEvaporatorType_DIRECTEXPANSIONBRAZEDPLATE, IfcEvaporatorType_DIRECTEXPANSIONSHELLANDTUBE, IfcEvaporatorType_DIRECTEXPANSIONTUBEINTUBE, IfcEvaporatorType_FLOODEDSHELLANDTUBE, IfcEvaporatorType_SHELLANDCOIL, IfcEvaporatorType_USERDEFINED, IfcEvaporatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEvaporatorTypeEnum initialize(Value v); + IfcEvaporatorTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTriggerTypeEnum defines the range of different types of event trigger that can be specified. @@ -7286,16 +7130,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTriggerTypeEnum : public express::DeclaredType { public: - IfcEventTriggerTypeEnum() {} - explicit IfcEventTriggerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventTriggerType_EVENTCOMPLEX, IfcEventTriggerType_EVENTMESSAGE, IfcEventTriggerType_EVENTRULE, IfcEventTriggerType_EVENTTIME, IfcEventTriggerType_USERDEFINED, IfcEventTriggerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTriggerTypeEnum initialize(Value v); + IfcEventTriggerTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcEventTypeEnum defines the range of different types of event that can be specified. @@ -7311,16 +7154,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcEventTypeEnum : public express::DeclaredType { public: - IfcEventTypeEnum() {} - explicit IfcEventTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcEventType_ENDEVENT, IfcEventType_INTERMEDIATEEVENT, IfcEventType_STARTEVENT, IfcEventType_USERDEFINED, IfcEventType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcEventTypeEnum initialize(Value v); + IfcEventTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7341,46 +7183,43 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcExternalSpatialElementTypeEnum : public express::DeclaredType { public: - IfcExternalSpatialElementTypeEnum() {} - explicit IfcExternalSpatialElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcExternalSpatialElementType_EXTERNAL, IfcExternalSpatialElementType_EXTERNAL_EARTH, IfcExternalSpatialElementType_EXTERNAL_FIRE, IfcExternalSpatialElementType_EXTERNAL_WATER, IfcExternalSpatialElementType_USERDEFINED, IfcExternalSpatialElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcExternalSpatialElementTypeEnum initialize(Value v); + IfcExternalSpatialElementTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityPartCommonTypeEnum : public express::DeclaredType { public: - IfcFacilityPartCommonTypeEnum() {} - explicit IfcFacilityPartCommonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityPartCommonType_ABOVEGROUND, IfcFacilityPartCommonType_BELOWGROUND, IfcFacilityPartCommonType_JUNCTION, IfcFacilityPartCommonType_LEVELCROSSING, IfcFacilityPartCommonType_SEGMENT, IfcFacilityPartCommonType_SUBSTRUCTURE, IfcFacilityPartCommonType_SUPERSTRUCTURE, IfcFacilityPartCommonType_TERMINAL, IfcFacilityPartCommonType_USERDEFINED, IfcFacilityPartCommonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityPartCommonTypeEnum initialize(Value v); + IfcFacilityPartCommonTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcFacilityUsageEnum : public express::DeclaredType { public: - IfcFacilityUsageEnum() {} - explicit IfcFacilityUsageEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFacilityUsage_LATERAL, IfcFacilityUsage_LONGITUDINAL, IfcFacilityUsage_REGION, IfcFacilityUsage_VERTICAL, IfcFacilityUsage_USERDEFINED, IfcFacilityUsage_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFacilityUsageEnum initialize(Value v); + IfcFacilityUsageEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of fans. @@ -7399,16 +7238,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcFanTypeEnum : public express::DeclaredType { public: - IfcFanTypeEnum() {} - explicit IfcFanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFanType_CENTRIFUGALAIRFOIL, IfcFanType_CENTRIFUGALBACKWARDINCLINEDCURVED, IfcFanType_CENTRIFUGALFORWARDCURVED, IfcFanType_CENTRIFUGALRADIAL, IfcFanType_PROPELLORAXIAL, IfcFanType_TUBEAXIAL, IfcFanType_VANEAXIAL, IfcFanType_USERDEFINED, IfcFanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFanTypeEnum initialize(Value v); + IfcFanTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types of fasteners, except for mechanical fasteners: @@ -7422,16 +7260,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcFastenerTypeEnum : public express::DeclaredType { public: - IfcFastenerTypeEnum() {} - explicit IfcFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFastenerType_GLUE, IfcFastenerType_MORTAR, IfcFastenerType_WELD, IfcFastenerType_USERDEFINED, IfcFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFastenerTypeEnum initialize(Value v); + IfcFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the various types of filter typically used @@ -7449,16 +7286,15 @@ public: /// HISTORY: New enumeration in IFC R2x. COMPRESSEDAIRFILTER added in IFC2x4. class IFC_PARSE_API IfcFilterTypeEnum : public express::DeclaredType { public: - IfcFilterTypeEnum() {} - explicit IfcFilterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFilterType_AIRPARTICLEFILTER, IfcFilterType_COMPRESSEDAIRFILTER, IfcFilterType_ODORFILTER, IfcFilterType_OILFILTER, IfcFilterType_STRAINER, IfcFilterType_WATERFILTER, IfcFilterType_USERDEFINED, IfcFilterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFilterTypeEnum initialize(Value v); + IfcFilterTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFireSuppressionTerminalTypeEnum defines the range of different types of fire suppression terminal that can be specified. @@ -7476,16 +7312,15 @@ public: /// NOTDEFINED: Underined type. class IFC_PARSE_API IfcFireSuppressionTerminalTypeEnum : public express::DeclaredType { public: - IfcFireSuppressionTerminalTypeEnum() {} - explicit IfcFireSuppressionTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFireSuppressionTerminalType_BREECHINGINLET, IfcFireSuppressionTerminalType_FIREHYDRANT, IfcFireSuppressionTerminalType_FIREMONITOR, IfcFireSuppressionTerminalType_HOSEREEL, IfcFireSuppressionTerminalType_SPRINKLER, IfcFireSuppressionTerminalType_SPRINKLERDEFLECTOR, IfcFireSuppressionTerminalType_USERDEFINED, IfcFireSuppressionTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFireSuppressionTerminalTypeEnum initialize(Value v); + IfcFireSuppressionTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the flow direction at a port as either a SOURCE, SINK, or SOURCEANDSINK. For solids, liquids, or gas, the direction is the physical flow direction. For electric power (circuits containing hot, neutral, ground), the direction is from the origination of power (from a distribution board to protective devices to switches to fixtures). For communication signals, the direction originates from where the signal is shaped, such as a sensor. For communicaton networks, the direction originates from the up-level network host, such as a router (having SOURCE ports) hosting multiple computers (having SINK ports). @@ -7498,16 +7333,15 @@ public: /// HISTORY: New enumeration in IFC R2.0 class IFC_PARSE_API IfcFlowDirectionEnum : public express::DeclaredType { public: - IfcFlowDirectionEnum() {} - explicit IfcFlowDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowDirection_SINK, IfcFlowDirection_SOURCE, IfcFlowDirection_SOURCEANDSINK, IfcFlowDirection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowDirectionEnum initialize(Value v); + IfcFlowDirectionEnum initialize(const std::string& v); operator Value() const; }; /// The IfcFlowInstrumentTypeEnum defines the range of different types of flow instrument that can be specified. @@ -7528,16 +7362,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFlowInstrumentTypeEnum : public express::DeclaredType { public: - IfcFlowInstrumentTypeEnum() {} - explicit IfcFlowInstrumentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowInstrumentType_AMMETER, IfcFlowInstrumentType_COMBINED, IfcFlowInstrumentType_FREQUENCYMETER, IfcFlowInstrumentType_PHASEANGLEMETER, IfcFlowInstrumentType_POWERFACTORMETER, IfcFlowInstrumentType_PRESSUREGAUGE, IfcFlowInstrumentType_THERMOMETER, IfcFlowInstrumentType_VOLTMETER, IfcFlowInstrumentType_VOLTMETER_PEAK, IfcFlowInstrumentType_VOLTMETER_RMS, IfcFlowInstrumentType_USERDEFINED, IfcFlowInstrumentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowInstrumentTypeEnum initialize(Value v); + IfcFlowInstrumentTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines various types of flow meter: @@ -7557,16 +7390,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcFlowMeterTypeEnum : public express::DeclaredType { public: - IfcFlowMeterTypeEnum() {} - explicit IfcFlowMeterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFlowMeterType_ENERGYMETER, IfcFlowMeterType_GASMETER, IfcFlowMeterType_OILMETER, IfcFlowMeterType_WATERMETER, IfcFlowMeterType_USERDEFINED, IfcFlowMeterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFlowMeterTypeEnum initialize(Value v); + IfcFlowMeterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the generic footing type. @@ -7585,16 +7417,15 @@ public: /// NOTDEFINED The type of footing is not defined. class IFC_PARSE_API IfcFootingTypeEnum : public express::DeclaredType { public: - IfcFootingTypeEnum() {} - explicit IfcFootingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFootingType_CAISSON_FOUNDATION, IfcFootingType_FOOTING_BEAM, IfcFootingType_PAD_FOOTING, IfcFootingType_PILE_CAP, IfcFootingType_STRIP_FOOTING, IfcFootingType_USERDEFINED, IfcFootingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFootingTypeEnum initialize(Value v); + IfcFootingTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcFurnitureTypeEnum defines the types of furniture from which the type required can be selected. @@ -7612,31 +7443,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcFurnitureTypeEnum : public express::DeclaredType { public: - IfcFurnitureTypeEnum() {} - explicit IfcFurnitureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcFurnitureType_BED, IfcFurnitureType_CHAIR, IfcFurnitureType_DESK, IfcFurnitureType_FILECABINET, IfcFurnitureType_SHELF, IfcFurnitureType_SOFA, IfcFurnitureType_TABLE, IfcFurnitureType_TECHNICALCABINET, IfcFurnitureType_USERDEFINED, IfcFurnitureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcFurnitureTypeEnum initialize(Value v); + IfcFurnitureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeographicElementTypeEnum : public express::DeclaredType { public: - IfcGeographicElementTypeEnum() {} - explicit IfcGeographicElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeographicElementType_SOIL_BORING_POINT, IfcGeographicElementType_TERRAIN, IfcGeographicElementType_VEGETATION, IfcGeographicElementType_USERDEFINED, IfcGeographicElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeographicElementTypeEnum initialize(Value v); + IfcGeographicElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcGeometricProjectionEnum defines the various representation types that can be semantically distinguished. Often different levels of detail of the shape representation are controlled by the representation type. @@ -7682,31 +7511,29 @@ public: /// HISTORY: New Type in Release IFC2x2. class IFC_PARSE_API IfcGeometricProjectionEnum : public express::DeclaredType { public: - IfcGeometricProjectionEnum() {} - explicit IfcGeometricProjectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeometricProjection_ELEVATION_VIEW, IfcGeometricProjection_GRAPH_VIEW, IfcGeometricProjection_MODEL_VIEW, IfcGeometricProjection_PLAN_VIEW, IfcGeometricProjection_REFLECTED_PLAN_VIEW, IfcGeometricProjection_SECTION_VIEW, IfcGeometricProjection_SKETCH_VIEW, IfcGeometricProjection_USERDEFINED, IfcGeometricProjection_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeometricProjectionEnum initialize(Value v); + IfcGeometricProjectionEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGeotechnicalStratumTypeEnum : public express::DeclaredType { public: - IfcGeotechnicalStratumTypeEnum() {} - explicit IfcGeotechnicalStratumTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGeotechnicalStratumType_SOLID, IfcGeotechnicalStratumType_VOID, IfcGeotechnicalStratumType_WATER, IfcGeotechnicalStratumType_USERDEFINED, IfcGeotechnicalStratumType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGeotechnicalStratumTypeEnum initialize(Value v); + IfcGeotechnicalStratumTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type defines if the local object coordinate system or the global world coordinate system for the project is used to describe the measure values of entities which have a reference to this type. @@ -7717,31 +7544,29 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcGlobalOrLocalEnum : public express::DeclaredType { public: - IfcGlobalOrLocalEnum() {} - explicit IfcGlobalOrLocalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGlobalOrLocal_GLOBAL_COORDS, IfcGlobalOrLocal_LOCAL_COORDS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGlobalOrLocalEnum initialize(Value v); + IfcGlobalOrLocalEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcGridTypeEnum : public express::DeclaredType { public: - IfcGridTypeEnum() {} - explicit IfcGridTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcGridType_IRREGULAR, IfcGridType_RADIAL, IfcGridType_RECTANGULAR, IfcGridType_TRIANGULAR, IfcGridType_USERDEFINED, IfcGridType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcGridTypeEnum initialize(Value v); + IfcGridTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of heat exchangers. @@ -7755,16 +7580,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcHeatExchangerTypeEnum : public express::DeclaredType { public: - IfcHeatExchangerTypeEnum() {} - explicit IfcHeatExchangerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHeatExchangerType_PLATE, IfcHeatExchangerType_SHELLANDTUBE, IfcHeatExchangerType_TURNOUTHEATING, IfcHeatExchangerType_USERDEFINED, IfcHeatExchangerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHeatExchangerTypeEnum initialize(Value v); + IfcHeatExchangerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of humidifiers. @@ -7789,31 +7613,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcHumidifierTypeEnum : public express::DeclaredType { public: - IfcHumidifierTypeEnum() {} - explicit IfcHumidifierTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcHumidifierType_ADIABATICAIRWASHER, IfcHumidifierType_ADIABATICATOMIZING, IfcHumidifierType_ADIABATICCOMPRESSEDAIRNOZZLE, IfcHumidifierType_ADIABATICPAN, IfcHumidifierType_ADIABATICRIGIDMEDIA, IfcHumidifierType_ADIABATICULTRASONIC, IfcHumidifierType_ADIABATICWETTEDELEMENT, IfcHumidifierType_ASSISTEDBUTANE, IfcHumidifierType_ASSISTEDELECTRIC, IfcHumidifierType_ASSISTEDNATURALGAS, IfcHumidifierType_ASSISTEDPROPANE, IfcHumidifierType_ASSISTEDSTEAM, IfcHumidifierType_STEAMINJECTION, IfcHumidifierType_USERDEFINED, IfcHumidifierType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcHumidifierTypeEnum initialize(Value v); + IfcHumidifierTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeEnum : public express::DeclaredType { public: - IfcImpactProtectionDeviceTypeEnum() {} - explicit IfcImpactProtectionDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcImpactProtectionDeviceType_BUMPER, IfcImpactProtectionDeviceType_CRASHCUSHION, IfcImpactProtectionDeviceType_DAMPINGSYSTEM, IfcImpactProtectionDeviceType_FENDER, IfcImpactProtectionDeviceType_USERDEFINED, IfcImpactProtectionDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcImpactProtectionDeviceTypeEnum initialize(Value v); + IfcImpactProtectionDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcInterceptorTypeEnum defines the range of different types of interceptor that can be specified. @@ -7828,16 +7650,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInterceptorTypeEnum : public express::DeclaredType { public: - IfcInterceptorTypeEnum() {} - explicit IfcInterceptorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInterceptorType_CYCLONIC, IfcInterceptorType_GREASE, IfcInterceptorType_OIL, IfcInterceptorType_PETROL, IfcInterceptorType_USERDEFINED, IfcInterceptorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInterceptorTypeEnum initialize(Value v); + IfcInterceptorTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -7897,16 +7718,15 @@ public: /// EXTERNAL_FIRE. class IFC_PARSE_API IfcInternalOrExternalEnum : public express::DeclaredType { public: - IfcInternalOrExternalEnum() {} - explicit IfcInternalOrExternalEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInternalOrExternal_EXTERNAL, IfcInternalOrExternal_EXTERNAL_EARTH, IfcInternalOrExternal_EXTERNAL_FIRE, IfcInternalOrExternal_EXTERNAL_WATER, IfcInternalOrExternal_INTERNAL, IfcInternalOrExternal_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInternalOrExternalEnum initialize(Value v); + IfcInternalOrExternalEnum initialize(const std::string& v); operator Value() const; }; /// IfcInventoryTypeEnum defines the types of inventory that can be defined. @@ -7920,16 +7740,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcInventoryTypeEnum : public express::DeclaredType { public: - IfcInventoryTypeEnum() {} - explicit IfcInventoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcInventoryType_ASSETINVENTORY, IfcInventoryType_FURNITUREINVENTORY, IfcInventoryType_SPACEINVENTORY, IfcInventoryType_USERDEFINED, IfcInventoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcInventoryTypeEnum initialize(Value v); + IfcInventoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcJunctionBoxTypeEnum defines the range of types of junction boxes available. @@ -7941,46 +7760,43 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcJunctionBoxTypeEnum : public express::DeclaredType { public: - IfcJunctionBoxTypeEnum() {} - explicit IfcJunctionBoxTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcJunctionBoxType_DATA, IfcJunctionBoxType_POWER, IfcJunctionBoxType_USERDEFINED, IfcJunctionBoxType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcJunctionBoxTypeEnum initialize(Value v); + IfcJunctionBoxTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKerbTypeEnum : public express::DeclaredType { public: - IfcKerbTypeEnum() {} - explicit IfcKerbTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKerbType_USERDEFINED, IfcKerbType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKerbTypeEnum initialize(Value v); + IfcKerbTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcKnotType : public express::DeclaredType { public: - IfcKnotType() {} - explicit IfcKnotType (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcKnotType_PIECEWISE_BEZIER_KNOTS, IfcKnotType_QUASI_UNIFORM_KNOTS, IfcKnotType_UNIFORM_KNOTS, IfcKnotType_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcKnotType initialize(Value v); + IfcKnotType initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a labor resource, and is limited to high-level categories based upon common skillsets. The IfcLaborResourceTypeEnum contains the following: @@ -8009,16 +7825,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcLaborResourceTypeEnum : public express::DeclaredType { public: - IfcLaborResourceTypeEnum() {} - explicit IfcLaborResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLaborResourceType_ADMINISTRATION, IfcLaborResourceType_CARPENTRY, IfcLaborResourceType_CLEANING, IfcLaborResourceType_CONCRETE, IfcLaborResourceType_DRYWALL, IfcLaborResourceType_ELECTRIC, IfcLaborResourceType_FINISHING, IfcLaborResourceType_FLOORING, IfcLaborResourceType_GENERAL, IfcLaborResourceType_HVAC, IfcLaborResourceType_LANDSCAPING, IfcLaborResourceType_MASONRY, IfcLaborResourceType_PAINTING, IfcLaborResourceType_PAVING, IfcLaborResourceType_PLUMBING, IfcLaborResourceType_ROOFING, IfcLaborResourceType_SITEGRADING, IfcLaborResourceType_STEELWORK, IfcLaborResourceType_SURVEYING, IfcLaborResourceType_USERDEFINED, IfcLaborResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLaborResourceTypeEnum initialize(Value v); + IfcLaborResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLampTypeEnum defines the range of different types of lamp available. @@ -8040,16 +7855,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLampTypeEnum : public express::DeclaredType { public: - IfcLampTypeEnum() {} - explicit IfcLampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLampType_COMPACTFLUORESCENT, IfcLampType_FLUORESCENT, IfcLampType_HALOGEN, IfcLampType_HIGHPRESSUREMERCURY, IfcLampType_HIGHPRESSURESODIUM, IfcLampType_LED, IfcLampType_METALHALIDE, IfcLampType_OLED, IfcLampType_TUNGSTENFILAMENT, IfcLampType_USERDEFINED, IfcLampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLampTypeEnum initialize(Value v); + IfcLampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcLayerSetDirectionEnum provides identification of the axis of element geometry, denoting the layer set thickness direction, or direction of layer offsets. @@ -8063,16 +7877,15 @@ public: /// HISTORY: New Type in IFC2x. class IFC_PARSE_API IfcLayerSetDirectionEnum : public express::DeclaredType { public: - IfcLayerSetDirectionEnum() {} - explicit IfcLayerSetDirectionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLayerSetDirection_AXIS1, IfcLayerSetDirection_AXIS2, IfcLayerSetDirection_AXIS3} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLayerSetDirectionEnum initialize(Value v); + IfcLayerSetDirectionEnum initialize(const std::string& v); operator Value() const; }; /// There are three kinds of light distribution curves, according to Standard CEN TC 169, prEN 13032-1, CIE 121: @@ -8091,16 +7904,15 @@ public: /// HISTORY  This is a new enumeration in IFC2x2. class IFC_PARSE_API IfcLightDistributionCurveEnum : public express::DeclaredType { public: - IfcLightDistributionCurveEnum() {} - explicit IfcLightDistributionCurveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightDistributionCurve_TYPE_A, IfcLightDistributionCurve_TYPE_B, IfcLightDistributionCurve_TYPE_C, IfcLightDistributionCurve_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightDistributionCurveEnum initialize(Value v); + IfcLightDistributionCurveEnum initialize(const std::string& v); operator Value() const; }; /// IfcLightEmissionSourceEnum defines the range of different types of light emitter available. @@ -8122,16 +7934,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcLightEmissionSourceEnum : public express::DeclaredType { public: - IfcLightEmissionSourceEnum() {} - explicit IfcLightEmissionSourceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightEmissionSource_COMPACTFLUORESCENT, IfcLightEmissionSource_FLUORESCENT, IfcLightEmissionSource_HIGHPRESSUREMERCURY, IfcLightEmissionSource_HIGHPRESSURESODIUM, IfcLightEmissionSource_LIGHTEMITTINGDIODE, IfcLightEmissionSource_LOWPRESSURESODIUM, IfcLightEmissionSource_LOWVOLTAGEHALOGEN, IfcLightEmissionSource_MAINVOLTAGEHALOGEN, IfcLightEmissionSource_METALHALIDE, IfcLightEmissionSource_TUNGSTENFILAMENT, IfcLightEmissionSource_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightEmissionSourceEnum initialize(Value v); + IfcLightEmissionSourceEnum initialize(const std::string& v); operator Value() const; }; /// The IfcLightFixtureTypeEnum defines the range of different types of light fixture available. @@ -8147,31 +7958,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcLightFixtureTypeEnum : public express::DeclaredType { public: - IfcLightFixtureTypeEnum() {} - explicit IfcLightFixtureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLightFixtureType_DIRECTIONSOURCE, IfcLightFixtureType_POINTSOURCE, IfcLightFixtureType_SECURITYLIGHTING, IfcLightFixtureType_USERDEFINED, IfcLightFixtureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLightFixtureTypeEnum initialize(Value v); + IfcLightFixtureTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcLiquidTerminalTypeEnum : public express::DeclaredType { public: - IfcLiquidTerminalTypeEnum() {} - explicit IfcLiquidTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLiquidTerminalType_HOSEREEL, IfcLiquidTerminalType_LOADINGARM, IfcLiquidTerminalType_USERDEFINED, IfcLiquidTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLiquidTerminalTypeEnum initialize(Value v); + IfcLiquidTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition is used to distinguish between different levels @@ -8197,16 +8006,15 @@ public: /// IFC 2x4 change: Obsolete item LOAD_COMBINATION_GROUP removed. Load cases are directly assigned to load combinations with different factors for each load case—load combination pair by means of IfcRelAssignsToGroupByFactor. class IFC_PARSE_API IfcLoadGroupTypeEnum : public express::DeclaredType { public: - IfcLoadGroupTypeEnum() {} - explicit IfcLoadGroupTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLoadGroupType_LOAD_CASE, IfcLoadGroupType_LOAD_COMBINATION, IfcLoadGroupType_LOAD_GROUP, IfcLoadGroupType_USERDEFINED, IfcLoadGroupType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLoadGroupTypeEnum initialize(Value v); + IfcLoadGroupTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: IfcLogicalOperatorEnum is an enumeration that defines the logical operators that may be applied for the satisfaction of one or more operands (IfcConstraint) at a time. @@ -8455,46 +8263,43 @@ public: /// F class IFC_PARSE_API IfcLogicalOperatorEnum : public express::DeclaredType { public: - IfcLogicalOperatorEnum() {} - explicit IfcLogicalOperatorEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcLogicalOperator_LOGICALAND, IfcLogicalOperator_LOGICALNOTAND, IfcLogicalOperator_LOGICALNOTOR, IfcLogicalOperator_LOGICALOR, IfcLogicalOperator_LOGICALXOR} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcLogicalOperatorEnum initialize(Value v); + IfcLogicalOperatorEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarineFacilityTypeEnum : public express::DeclaredType { public: - IfcMarineFacilityTypeEnum() {} - explicit IfcMarineFacilityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarineFacilityType_BARRIERBEACH, IfcMarineFacilityType_BREAKWATER, IfcMarineFacilityType_CANAL, IfcMarineFacilityType_DRYDOCK, IfcMarineFacilityType_FLOATINGDOCK, IfcMarineFacilityType_HYDROLIFT, IfcMarineFacilityType_JETTY, IfcMarineFacilityType_LAUNCHRECOVERY, IfcMarineFacilityType_MARINEDEFENCE, IfcMarineFacilityType_NAVIGATIONALCHANNEL, IfcMarineFacilityType_PORT, IfcMarineFacilityType_QUAY, IfcMarineFacilityType_REVETMENT, IfcMarineFacilityType_SHIPLIFT, IfcMarineFacilityType_SHIPLOCK, IfcMarineFacilityType_SHIPYARD, IfcMarineFacilityType_SLIPWAY, IfcMarineFacilityType_WATERWAY, IfcMarineFacilityType_WATERWAYSHIPLIFT, IfcMarineFacilityType_USERDEFINED, IfcMarineFacilityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarineFacilityTypeEnum initialize(Value v); + IfcMarineFacilityTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMarinePartTypeEnum : public express::DeclaredType { public: - IfcMarinePartTypeEnum() {} - explicit IfcMarinePartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMarinePartType_ABOVEWATERLINE, IfcMarinePartType_ANCHORAGE, IfcMarinePartType_APPROACHCHANNEL, IfcMarinePartType_BELOWWATERLINE, IfcMarinePartType_BERTHINGSTRUCTURE, IfcMarinePartType_CHAMBER, IfcMarinePartType_CILL_LEVEL, IfcMarinePartType_COPELEVEL, IfcMarinePartType_CORE, IfcMarinePartType_CREST, IfcMarinePartType_GATEHEAD, IfcMarinePartType_GUDINGSTRUCTURE, IfcMarinePartType_HIGHWATERLINE, IfcMarinePartType_LANDFIELD, IfcMarinePartType_LEEWARDSIDE, IfcMarinePartType_LOWWATERLINE, IfcMarinePartType_MANUFACTURING, IfcMarinePartType_NAVIGATIONALAREA, IfcMarinePartType_PROTECTION, IfcMarinePartType_SHIPTRANSFER, IfcMarinePartType_STORAGEAREA, IfcMarinePartType_VEHICLESERVICING, IfcMarinePartType_WATERFIELD, IfcMarinePartType_WEATHERSIDE, IfcMarinePartType_USERDEFINED, IfcMarinePartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMarinePartTypeEnum initialize(Value v); + IfcMarinePartTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8516,16 +8321,15 @@ public: /// HISTORY New Enumeration in IFC 2x4. class IFC_PARSE_API IfcMechanicalFastenerTypeEnum : public express::DeclaredType { public: - IfcMechanicalFastenerTypeEnum() {} - explicit IfcMechanicalFastenerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMechanicalFastenerType_ANCHORBOLT, IfcMechanicalFastenerType_BOLT, IfcMechanicalFastenerType_CHAIN, IfcMechanicalFastenerType_COUPLER, IfcMechanicalFastenerType_DOWEL, IfcMechanicalFastenerType_NAIL, IfcMechanicalFastenerType_NAILPLATE, IfcMechanicalFastenerType_RAILFASTENING, IfcMechanicalFastenerType_RAILJOINT, IfcMechanicalFastenerType_RIVET, IfcMechanicalFastenerType_ROPE, IfcMechanicalFastenerType_SCREW, IfcMechanicalFastenerType_SHEARCONNECTOR, IfcMechanicalFastenerType_STAPLE, IfcMechanicalFastenerType_STUDSHEARCONNECTOR, IfcMechanicalFastenerType_USERDEFINED, IfcMechanicalFastenerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMechanicalFastenerTypeEnum initialize(Value v); + IfcMechanicalFastenerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of medical device. @@ -8543,16 +8347,15 @@ public: /// HISTORY: New enumeration in IFC 2x4. class IFC_PARSE_API IfcMedicalDeviceTypeEnum : public express::DeclaredType { public: - IfcMedicalDeviceTypeEnum() {} - explicit IfcMedicalDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMedicalDeviceType_AIRSTATION, IfcMedicalDeviceType_FEEDAIRUNIT, IfcMedicalDeviceType_OXYGENGENERATOR, IfcMedicalDeviceType_OXYGENPLANT, IfcMedicalDeviceType_VACUUMSTATION, IfcMedicalDeviceType_USERDEFINED, IfcMedicalDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMedicalDeviceTypeEnum initialize(Value v); + IfcMedicalDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8600,46 +8403,43 @@ public: /// been added. class IFC_PARSE_API IfcMemberTypeEnum : public express::DeclaredType { public: - IfcMemberTypeEnum() {} - explicit IfcMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMemberType_ARCH_SEGMENT, IfcMemberType_BRACE, IfcMemberType_CHORD, IfcMemberType_COLLAR, IfcMemberType_MEMBER, IfcMemberType_MULLION, IfcMemberType_PLATE, IfcMemberType_POST, IfcMemberType_PURLIN, IfcMemberType_RAFTER, IfcMemberType_STAY_CABLE, IfcMemberType_STIFFENING_RIB, IfcMemberType_STRINGER, IfcMemberType_STRUCTURALCABLE, IfcMemberType_STRUT, IfcMemberType_STUD, IfcMemberType_SUSPENDER, IfcMemberType_SUSPENSION_CABLE, IfcMemberType_TIEBAR, IfcMemberType_USERDEFINED, IfcMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMemberTypeEnum initialize(Value v); + IfcMemberTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceTypeEnum : public express::DeclaredType { public: - IfcMobileTelecommunicationsApplianceTypeEnum() {} - explicit IfcMobileTelecommunicationsApplianceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMobileTelecommunicationsApplianceType_ACCESSPOINT, IfcMobileTelecommunicationsApplianceType_BASEBANDUNIT, IfcMobileTelecommunicationsApplianceType_BASETRANSCEIVERSTATION, IfcMobileTelecommunicationsApplianceType_E_UTRAN_NODE_B, IfcMobileTelecommunicationsApplianceType_GATEWAY_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_MASTERUNIT, IfcMobileTelecommunicationsApplianceType_MOBILESWITCHINGCENTER, IfcMobileTelecommunicationsApplianceType_MSCSERVER, IfcMobileTelecommunicationsApplianceType_PACKETCONTROLUNIT, IfcMobileTelecommunicationsApplianceType_REMOTERADIOUNIT, IfcMobileTelecommunicationsApplianceType_REMOTEUNIT, IfcMobileTelecommunicationsApplianceType_SERVICE_GPRS_SUPPORT_NODE, IfcMobileTelecommunicationsApplianceType_SUBSCRIBERSERVER, IfcMobileTelecommunicationsApplianceType_USERDEFINED, IfcMobileTelecommunicationsApplianceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(Value v); + IfcMobileTelecommunicationsApplianceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcMooringDeviceTypeEnum : public express::DeclaredType { public: - IfcMooringDeviceTypeEnum() {} - explicit IfcMooringDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMooringDeviceType_BOLLARD, IfcMooringDeviceType_LINETENSIONER, IfcMooringDeviceType_MAGNETICDEVICE, IfcMooringDeviceType_MOORINGHOOKS, IfcMooringDeviceType_VACUUMDEVICE, IfcMooringDeviceType_USERDEFINED, IfcMooringDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMooringDeviceTypeEnum initialize(Value v); + IfcMooringDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcMotorConnectionTypeEnum defines the range of different types of motor connection that can be specified. @@ -8653,31 +8453,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcMotorConnectionTypeEnum : public express::DeclaredType { public: - IfcMotorConnectionTypeEnum() {} - explicit IfcMotorConnectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcMotorConnectionType_BELTDRIVE, IfcMotorConnectionType_COUPLING, IfcMotorConnectionType_DIRECTDRIVE, IfcMotorConnectionType_USERDEFINED, IfcMotorConnectionType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcMotorConnectionTypeEnum initialize(Value v); + IfcMotorConnectionTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcNavigationElementTypeEnum : public express::DeclaredType { public: - IfcNavigationElementTypeEnum() {} - explicit IfcNavigationElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcNavigationElementType_BEACON, IfcNavigationElementType_BUOY, IfcNavigationElementType_USERDEFINED, IfcNavigationElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcNavigationElementTypeEnum initialize(Value v); + IfcNavigationElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcObjectiveEnum is an enumeration used to determine the objective for which purpose the constraint needs to be satisfied. @@ -8711,16 +8509,15 @@ public: /// A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention. class IFC_PARSE_API IfcObjectiveEnum : public express::DeclaredType { public: - IfcObjectiveEnum() {} - explicit IfcObjectiveEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcObjective_CODECOMPLIANCE, IfcObjective_CODEWAIVER, IfcObjective_DESIGNINTENT, IfcObjective_EXTERNAL, IfcObjective_HEALTHANDSAFETY, IfcObjective_MERGECONFLICT, IfcObjective_MODELVIEW, IfcObjective_PARAMETER, IfcObjective_REQUIREMENT, IfcObjective_SPECIFICATION, IfcObjective_TRIGGERCONDITION, IfcObjective_USERDEFINED, IfcObjective_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcObjectiveEnum initialize(Value v); + IfcObjectiveEnum initialize(const std::string& v); operator Value() const; }; /// IfcOccupantTypeEnum defines the types of occupant from which the type required can be selected. @@ -8738,16 +8535,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOccupantTypeEnum : public express::DeclaredType { public: - IfcOccupantTypeEnum() {} - explicit IfcOccupantTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOccupantType_ASSIGNEE, IfcOccupantType_ASSIGNOR, IfcOccupantType_LESSEE, IfcOccupantType_LESSOR, IfcOccupantType_LETTINGAGENT, IfcOccupantType_OWNER, IfcOccupantType_TENANT, IfcOccupantType_USERDEFINED, IfcOccupantType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOccupantTypeEnum initialize(Value v); + IfcOccupantTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -8772,16 +8568,15 @@ public: /// element class IFC_PARSE_API IfcOpeningElementTypeEnum : public express::DeclaredType { public: - IfcOpeningElementTypeEnum() {} - explicit IfcOpeningElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOpeningElementType_OPENING, IfcOpeningElementType_RECESS, IfcOpeningElementType_USERDEFINED, IfcOpeningElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOpeningElementTypeEnum initialize(Value v); + IfcOpeningElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcOutletTypeEnum defines the range of different types of outlet that can be specified. @@ -8799,31 +8594,29 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcOutletTypeEnum : public express::DeclaredType { public: - IfcOutletTypeEnum() {} - explicit IfcOutletTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcOutletType_AUDIOVISUALOUTLET, IfcOutletType_COMMUNICATIONSOUTLET, IfcOutletType_DATAOUTLET, IfcOutletType_POWEROUTLET, IfcOutletType_TELEPHONEOUTLET, IfcOutletType_USERDEFINED, IfcOutletType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcOutletTypeEnum initialize(Value v); + IfcOutletTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPavementTypeEnum : public express::DeclaredType { public: - IfcPavementTypeEnum() {} - explicit IfcPavementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPavementType_FLEXIBLE, IfcPavementType_RIGID, IfcPavementType_USERDEFINED, IfcPavementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPavementTypeEnum initialize(Value v); + IfcPavementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of performance history. The IfcPerformanceHistoryTypeEnum contains the following: @@ -8834,16 +8627,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcPerformanceHistoryTypeEnum : public express::DeclaredType { public: - IfcPerformanceHistoryTypeEnum() {} - explicit IfcPerformanceHistoryTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPerformanceHistoryType_USERDEFINED, IfcPerformanceHistoryType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPerformanceHistoryTypeEnum initialize(Value v); + IfcPerformanceHistoryTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Enumeration defining the valid types of permeable coverings. @@ -8870,16 +8662,15 @@ public: /// HISTORY: New Enumeration in IFC Release 2.0 class IFC_PARSE_API IfcPermeableCoveringOperationEnum : public express::DeclaredType { public: - IfcPermeableCoveringOperationEnum() {} - explicit IfcPermeableCoveringOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermeableCoveringOperation_GRILL, IfcPermeableCoveringOperation_LOUVER, IfcPermeableCoveringOperation_SCREEN, IfcPermeableCoveringOperation_USERDEFINED, IfcPermeableCoveringOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermeableCoveringOperationEnum initialize(Value v); + IfcPermeableCoveringOperationEnum initialize(const std::string& v); operator Value() const; }; /// IfcPermitTypeEnum defines the types of permits that can be granted. @@ -8893,16 +8684,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcPermitTypeEnum : public express::DeclaredType { public: - IfcPermitTypeEnum() {} - explicit IfcPermitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPermitType_ACCESS, IfcPermitType_BUILDING, IfcPermitType_WORK, IfcPermitType_USERDEFINED, IfcPermitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPermitTypeEnum initialize(Value v); + IfcPermitTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -8930,16 +8720,15 @@ public: /// IFC Release 2.0 class IFC_PARSE_API IfcPhysicalOrVirtualEnum : public express::DeclaredType { public: - IfcPhysicalOrVirtualEnum() {} - explicit IfcPhysicalOrVirtualEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPhysicalOrVirtual_PHYSICAL, IfcPhysicalOrVirtual_VIRTUAL, IfcPhysicalOrVirtual_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPhysicalOrVirtualEnum initialize(Value v); + IfcPhysicalOrVirtualEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the construction type @@ -8966,16 +8755,15 @@ public: /// NOTDEFINED The type of pile construction is not defined. class IFC_PARSE_API IfcPileConstructionEnum : public express::DeclaredType { public: - IfcPileConstructionEnum() {} - explicit IfcPileConstructionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileConstruction_CAST_IN_PLACE, IfcPileConstruction_COMPOSITE, IfcPileConstruction_PRECAST_CONCRETE, IfcPileConstruction_PREFAB_STEEL, IfcPileConstruction_USERDEFINED, IfcPileConstruction_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileConstructionEnum initialize(Value v); + IfcPileConstructionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the pile type. @@ -8993,16 +8781,15 @@ public: /// NOTDEFINED The type of pile function is not defined. class IFC_PARSE_API IfcPileTypeEnum : public express::DeclaredType { public: - IfcPileTypeEnum() {} - explicit IfcPileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPileType_BORED, IfcPileType_COHESION, IfcPileType_DRIVEN, IfcPileType_FRICTION, IfcPileType_JETGROUTING, IfcPileType_SUPPORT, IfcPileType_USERDEFINED, IfcPileType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPileTypeEnum initialize(Value v); + IfcPileTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a pipe fitting. This is a very basic categorization mechanism @@ -9038,16 +8825,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeFittingTypeEnum : public express::DeclaredType { public: - IfcPipeFittingTypeEnum() {} - explicit IfcPipeFittingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeFittingType_BEND, IfcPipeFittingType_CONNECTOR, IfcPipeFittingType_ENTRY, IfcPipeFittingType_EXIT, IfcPipeFittingType_JUNCTION, IfcPipeFittingType_OBSTRUCTION, IfcPipeFittingType_TRANSITION, IfcPipeFittingType_USERDEFINED, IfcPipeFittingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeFittingTypeEnum initialize(Value v); + IfcPipeFittingTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a @@ -9067,16 +8853,15 @@ public: /// HISTORY: New enumeration in IFC 2x2 class IFC_PARSE_API IfcPipeSegmentTypeEnum : public express::DeclaredType { public: - IfcPipeSegmentTypeEnum() {} - explicit IfcPipeSegmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPipeSegmentType_CULVERT, IfcPipeSegmentType_FLEXIBLESEGMENT, IfcPipeSegmentType_GUTTER, IfcPipeSegmentType_RIGIDSEGMENT, IfcPipeSegmentType_SPOOL, IfcPipeSegmentType_USERDEFINED, IfcPipeSegmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPipeSegmentTypeEnum initialize(Value v); + IfcPipeSegmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration @@ -9099,31 +8884,29 @@ public: /// added. class IFC_PARSE_API IfcPlateTypeEnum : public express::DeclaredType { public: - IfcPlateTypeEnum() {} - explicit IfcPlateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPlateType_BASE_PLATE, IfcPlateType_COVER_PLATE, IfcPlateType_CURTAIN_PANEL, IfcPlateType_FLANGE_PLATE, IfcPlateType_GUSSET_PLATE, IfcPlateType_SHEET, IfcPlateType_SPLICE_PLATE, IfcPlateType_STIFFENER_PLATE, IfcPlateType_WEB_PLATE, IfcPlateType_USERDEFINED, IfcPlateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPlateTypeEnum initialize(Value v); + IfcPlateTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcPreferredSurfaceCurveRepresentation : public express::DeclaredType { public: - IfcPreferredSurfaceCurveRepresentation() {} - explicit IfcPreferredSurfaceCurveRepresentation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPreferredSurfaceCurveRepresentation_CURVE3D, IfcPreferredSurfaceCurveRepresentation_PCURVE_S1, IfcPreferredSurfaceCurveRepresentation_PCURVE_S2} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPreferredSurfaceCurveRepresentation initialize(Value v); + IfcPreferredSurfaceCurveRepresentation initialize(const std::string& v); operator Value() const; }; /// The IfcProcedureTypeEnum defines the range of different types of procedure that can be specified. @@ -9142,16 +8925,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcProcedureTypeEnum : public express::DeclaredType { public: - IfcProcedureTypeEnum() {} - explicit IfcProcedureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProcedureType_ADVICE_CAUTION, IfcProcedureType_ADVICE_NOTE, IfcProcedureType_ADVICE_WARNING, IfcProcedureType_CALIBRATION, IfcProcedureType_DIAGNOSTIC, IfcProcedureType_SHUTDOWN, IfcProcedureType_STARTUP, IfcProcedureType_USERDEFINED, IfcProcedureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProcedureTypeEnum initialize(Value v); + IfcProcedureTypeEnum initialize(const std::string& v); operator Value() const; }; /// The enumeration defines whether the definition of a profile shape shall be geometrically resolved into a curve or into a surface. @@ -9164,16 +8946,15 @@ public: /// AREA: The resulting geometric item is of type surface. The resulting geometry after applying a sweeping operation is a swept solid with defined volume. class IFC_PARSE_API IfcProfileTypeEnum : public express::DeclaredType { public: - IfcProfileTypeEnum() {} - explicit IfcProfileTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProfileType_AREA, IfcProfileType_CURVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProfileTypeEnum initialize(Value v); + IfcProfileTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcProjectOrderTypeEnum is a list of the types of project order that may be identified. @@ -9189,16 +8970,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProjectOrderTypeEnum : public express::DeclaredType { public: - IfcProjectOrderTypeEnum() {} - explicit IfcProjectOrderTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectOrderType_CHANGEORDER, IfcProjectOrderType_MAINTENANCEWORKORDER, IfcProjectOrderType_MOVEORDER, IfcProjectOrderType_PURCHASEORDER, IfcProjectOrderType_WORKORDER, IfcProjectOrderType_USERDEFINED, IfcProjectOrderType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectOrderTypeEnum initialize(Value v); + IfcProjectOrderTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration type is needed for load definition and is only considered if the load values are given as global actions and if they define linear or planar loads (that is, one- or two-dimensionally distributed loads). @@ -9209,16 +8989,15 @@ public: /// Figure 234 — Projected or true length class IFC_PARSE_API IfcProjectedOrTrueLengthEnum : public express::DeclaredType { public: - IfcProjectedOrTrueLengthEnum() {} - explicit IfcProjectedOrTrueLengthEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectedOrTrueLength_PROJECTED_LENGTH, IfcProjectedOrTrueLength_TRUE_LENGTH} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectedOrTrueLengthEnum initialize(Value v); + IfcProjectedOrTrueLengthEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration defining the basic @@ -9235,16 +9014,15 @@ public: /// element class IFC_PARSE_API IfcProjectionElementTypeEnum : public express::DeclaredType { public: - IfcProjectionElementTypeEnum() {} - explicit IfcProjectionElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProjectionElementType_BLISTER, IfcProjectionElementType_DEVIATOR, IfcProjectionElementType_USERDEFINED, IfcProjectionElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProjectionElementTypeEnum initialize(Value v); + IfcProjectionElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the general @@ -9287,16 +9065,15 @@ public: /// otherwise restricted by the ApplicableEntity attribute. class IFC_PARSE_API IfcPropertySetTemplateTypeEnum : public express::DeclaredType { public: - IfcPropertySetTemplateTypeEnum() {} - explicit IfcPropertySetTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPropertySetTemplateType_PSET_MATERIALDRIVEN, IfcPropertySetTemplateType_PSET_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_PSET_PERFORMANCEDRIVEN, IfcPropertySetTemplateType_PSET_PROFILEDRIVEN, IfcPropertySetTemplateType_PSET_TYPEDRIVENONLY, IfcPropertySetTemplateType_PSET_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_QTO_OCCURRENCEDRIVEN, IfcPropertySetTemplateType_QTO_TYPEDRIVENONLY, IfcPropertySetTemplateType_QTO_TYPEDRIVENOVERRIDE, IfcPropertySetTemplateType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPropertySetTemplateTypeEnum initialize(Value v); + IfcPropertySetTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines the range of different tripping unit types that can be used in conjunction with a protective device. @@ -9308,16 +9085,15 @@ public: /// THERMAL: A tripping unit activated by thermal action. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTrippingUnitTypeEnum() {} - explicit IfcProtectiveDeviceTrippingUnitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceTrippingUnitType_ELECTROMAGNETIC, IfcProtectiveDeviceTrippingUnitType_ELECTRONIC, IfcProtectiveDeviceTrippingUnitType_RESIDUALCURRENT, IfcProtectiveDeviceTrippingUnitType_THERMAL, IfcProtectiveDeviceTrippingUnitType_USERDEFINED, IfcProtectiveDeviceTrippingUnitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(Value v); + IfcProtectiveDeviceTrippingUnitTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcProtectiveDeviceTypeEnum specifically defines the range of different breaker unit types that can be used in conjunction with protective device. Types may also be used as a reference to a complete protective device in circumstances where tripping units are not separately identified (typically expected to be the case during earlier stages of design). @@ -9337,16 +9113,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcProtectiveDeviceTypeEnum : public express::DeclaredType { public: - IfcProtectiveDeviceTypeEnum() {} - explicit IfcProtectiveDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcProtectiveDeviceType_ANTI_ARCING_DEVICE, IfcProtectiveDeviceType_CIRCUITBREAKER, IfcProtectiveDeviceType_EARTHINGSWITCH, IfcProtectiveDeviceType_EARTHLEAKAGECIRCUITBREAKER, IfcProtectiveDeviceType_FUSEDISCONNECTOR, IfcProtectiveDeviceType_RESIDUALCURRENTCIRCUITBREAKER, IfcProtectiveDeviceType_RESIDUALCURRENTSWITCH, IfcProtectiveDeviceType_SPARKGAP, IfcProtectiveDeviceType_VARISTOR, IfcProtectiveDeviceType_VOLTAGELIMITER, IfcProtectiveDeviceType_USERDEFINED, IfcProtectiveDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcProtectiveDeviceTypeEnum initialize(Value v); + IfcProtectiveDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Defines general types of pumps. @@ -9379,31 +9154,29 @@ public: /// HISTORY: New enumeration in IFC R2x. SUBMERSIBLEPUMP and SUMPPUMP added in IFC2x4. class IFC_PARSE_API IfcPumpTypeEnum : public express::DeclaredType { public: - IfcPumpTypeEnum() {} - explicit IfcPumpTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcPumpType_CIRCULATOR, IfcPumpType_ENDSUCTION, IfcPumpType_SPLITCASE, IfcPumpType_SUBMERSIBLEPUMP, IfcPumpType_SUMPPUMP, IfcPumpType_VERTICALINLINE, IfcPumpType_VERTICALTURBINE, IfcPumpType_USERDEFINED, IfcPumpType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcPumpTypeEnum initialize(Value v); + IfcPumpTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailTypeEnum : public express::DeclaredType { public: - IfcRailTypeEnum() {} - explicit IfcRailTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailType_BLADE, IfcRailType_CHECKRAIL, IfcRailType_GUARDRAIL, IfcRailType_RACKRAIL, IfcRailType_RAIL, IfcRailType_STOCKRAIL, IfcRailType_USERDEFINED, IfcRailType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailTypeEnum initialize(Value v); + IfcRailTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid types of @@ -9428,46 +9201,43 @@ public: /// available. class IFC_PARSE_API IfcRailingTypeEnum : public express::DeclaredType { public: - IfcRailingTypeEnum() {} - explicit IfcRailingTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailingType_BALUSTRADE, IfcRailingType_FENCE, IfcRailingType_GUARDRAIL, IfcRailingType_HANDRAIL, IfcRailingType_USERDEFINED, IfcRailingType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailingTypeEnum initialize(Value v); + IfcRailingTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayPartTypeEnum : public express::DeclaredType { public: - IfcRailwayPartTypeEnum() {} - explicit IfcRailwayPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayPartType_DILATATIONSUPERSTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTURE, IfcRailwayPartType_LINESIDESTRUCTUREPART, IfcRailwayPartType_PLAINTRACKSUPERSTRUCTURE, IfcRailwayPartType_SUPERSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTURE, IfcRailwayPartType_TRACKSTRUCTUREPART, IfcRailwayPartType_TURNOUTSUPERSTRUCTURE, IfcRailwayPartType_USERDEFINED, IfcRailwayPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayPartTypeEnum initialize(Value v); + IfcRailwayPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRailwayTypeEnum : public express::DeclaredType { public: - IfcRailwayTypeEnum() {} - explicit IfcRailwayTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRailwayType_USERDEFINED, IfcRailwayType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRailwayTypeEnum initialize(Value v); + IfcRailwayTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -9483,16 +9253,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRampFlightTypeEnum : public express::DeclaredType { public: - IfcRampFlightTypeEnum() {} - explicit IfcRampFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampFlightType_SPIRAL, IfcRampFlightType_STRAIGHT, IfcRampFlightType_USERDEFINED, IfcRampFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampFlightTypeEnum initialize(Value v); + IfcRampFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the ramp type in terms of the number and shape of ramp flights, as shown in Figure 67. The type also distinguished turns by landings. In addition the subdivision of the straight and changing direction ramps is included. The ramp configurations are given for ramps without and with one and two landings. @@ -9545,16 +9314,15 @@ public: /// Figure 67 — Ramp types class IFC_PARSE_API IfcRampTypeEnum : public express::DeclaredType { public: - IfcRampTypeEnum() {} - explicit IfcRampTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRampType_HALF_TURN_RAMP, IfcRampType_QUARTER_TURN_RAMP, IfcRampType_SPIRAL_RAMP, IfcRampType_STRAIGHT_RUN_RAMP, IfcRampType_TWO_QUARTER_TURN_RAMP, IfcRampType_TWO_STRAIGHT_RUN_RAMP, IfcRampType_USERDEFINED, IfcRampType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRampTypeEnum initialize(Value v); + IfcRampTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcRecurrenceTypeEnum enumerates the recurring pattern type. The following @@ -9580,31 +9348,29 @@ public: /// Release 2x4. class IFC_PARSE_API IfcRecurrenceTypeEnum : public express::DeclaredType { public: - IfcRecurrenceTypeEnum() {} - explicit IfcRecurrenceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRecurrenceType_BY_DAY_COUNT, IfcRecurrenceType_BY_WEEKDAY_COUNT, IfcRecurrenceType_DAILY, IfcRecurrenceType_MONTHLY_BY_DAY_OF_MONTH, IfcRecurrenceType_MONTHLY_BY_POSITION, IfcRecurrenceType_WEEKLY, IfcRecurrenceType_YEARLY_BY_DAY_OF_MONTH, IfcRecurrenceType_YEARLY_BY_POSITION} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRecurrenceTypeEnum initialize(Value v); + IfcRecurrenceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReferentTypeEnum : public express::DeclaredType { public: - IfcReferentTypeEnum() {} - explicit IfcReferentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReferentType_BOUNDARY, IfcReferentType_INTERSECTION, IfcReferentType_KILOPOINT, IfcReferentType_LANDMARK, IfcReferentType_MILEPOINT, IfcReferentType_POSITION, IfcReferentType_REFERENCEMARKER, IfcReferentType_STATION, IfcReferentType_USERDEFINED, IfcReferentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReferentTypeEnum initialize(Value v); + IfcReferentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcReflectanceMethodEnum defines the range of different reflectance methods available. @@ -9625,31 +9391,29 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcReflectanceMethodEnum : public express::DeclaredType { public: - IfcReflectanceMethodEnum() {} - explicit IfcReflectanceMethodEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReflectanceMethod_BLINN, IfcReflectanceMethod_FLAT, IfcReflectanceMethod_GLASS, IfcReflectanceMethod_MATT, IfcReflectanceMethod_METAL, IfcReflectanceMethod_MIRROR, IfcReflectanceMethod_PHONG, IfcReflectanceMethod_PHYSICAL, IfcReflectanceMethod_PLASTIC, IfcReflectanceMethod_STRAUSS, IfcReflectanceMethod_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReflectanceMethodEnum initialize(Value v); + IfcReflectanceMethodEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcedSoilTypeEnum : public express::DeclaredType { public: - IfcReinforcedSoilTypeEnum() {} - explicit IfcReinforcedSoilTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcedSoilType_DYNAMICALLYCOMPACTED, IfcReinforcedSoilType_GROUTED, IfcReinforcedSoilType_REPLACED, IfcReinforcedSoilType_ROLLERCOMPACTED, IfcReinforcedSoilType_SURCHARGEPRELOADED, IfcReinforcedSoilType_VERTICALLYDRAINED, IfcReinforcedSoilType_USERDEFINED, IfcReinforcedSoilType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcedSoilTypeEnum initialize(Value v); + IfcReinforcedSoilTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining standard types for the @@ -9673,16 +9437,15 @@ public: /// NOTDEFINED The type of reinforcement is not defined. class IFC_PARSE_API IfcReinforcingBarRoleEnum : public express::DeclaredType { public: - IfcReinforcingBarRoleEnum() {} - explicit IfcReinforcingBarRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarRole_ANCHORING, IfcReinforcingBarRole_EDGE, IfcReinforcingBarRole_LIGATURE, IfcReinforcingBarRole_MAIN, IfcReinforcingBarRole_PUNCHING, IfcReinforcingBarRole_RING, IfcReinforcingBarRole_SHEAR, IfcReinforcingBarRole_STUD, IfcReinforcingBarRole_USERDEFINED, IfcReinforcingBarRole_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarRoleEnum initialize(Value v); + IfcReinforcingBarRoleEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration indicating whether the bar has a @@ -9696,76 +9459,71 @@ public: /// TEXTURED The reinforcing bar surface is textured (ribbed). class IFC_PARSE_API IfcReinforcingBarSurfaceEnum : public express::DeclaredType { public: - IfcReinforcingBarSurfaceEnum() {} - explicit IfcReinforcingBarSurfaceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarSurface_PLAIN, IfcReinforcingBarSurface_TEXTURED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarSurfaceEnum initialize(Value v); + IfcReinforcingBarSurfaceEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingBarTypeEnum : public express::DeclaredType { public: - IfcReinforcingBarTypeEnum() {} - explicit IfcReinforcingBarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingBarType_ANCHORING, IfcReinforcingBarType_EDGE, IfcReinforcingBarType_LIGATURE, IfcReinforcingBarType_MAIN, IfcReinforcingBarType_PUNCHING, IfcReinforcingBarType_RING, IfcReinforcingBarType_SHEAR, IfcReinforcingBarType_SPACEBAR, IfcReinforcingBarType_STUD, IfcReinforcingBarType_USERDEFINED, IfcReinforcingBarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingBarTypeEnum initialize(Value v); + IfcReinforcingBarTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcReinforcingMeshTypeEnum : public express::DeclaredType { public: - IfcReinforcingMeshTypeEnum() {} - explicit IfcReinforcingMeshTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcReinforcingMeshType_USERDEFINED, IfcReinforcingMeshType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcReinforcingMeshTypeEnum initialize(Value v); + IfcReinforcingMeshTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadPartTypeEnum : public express::DeclaredType { public: - IfcRoadPartTypeEnum() {} - explicit IfcRoadPartTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadPartType_BICYCLECROSSING, IfcRoadPartType_BUS_STOP, IfcRoadPartType_CARRIAGEWAY, IfcRoadPartType_CENTRALISLAND, IfcRoadPartType_CENTRALRESERVE, IfcRoadPartType_HARDSHOULDER, IfcRoadPartType_INTERSECTION, IfcRoadPartType_LAYBY, IfcRoadPartType_PARKINGBAY, IfcRoadPartType_PASSINGBAY, IfcRoadPartType_PEDESTRIAN_CROSSING, IfcRoadPartType_RAILWAYCROSSING, IfcRoadPartType_REFUGEISLAND, IfcRoadPartType_ROADSEGMENT, IfcRoadPartType_ROADSIDE, IfcRoadPartType_ROADSIDEPART, IfcRoadPartType_ROADWAYPLATEAU, IfcRoadPartType_ROUNDABOUT, IfcRoadPartType_SHOULDER, IfcRoadPartType_SIDEWALK, IfcRoadPartType_SOFTSHOULDER, IfcRoadPartType_TOLLPLAZA, IfcRoadPartType_TRAFFICISLAND, IfcRoadPartType_TRAFFICLANE, IfcRoadPartType_USERDEFINED, IfcRoadPartType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadPartTypeEnum initialize(Value v); + IfcRoadPartTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcRoadTypeEnum : public express::DeclaredType { public: - IfcRoadTypeEnum() {} - explicit IfcRoadTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoadType_USERDEFINED, IfcRoadType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoadTypeEnum initialize(Value v); + IfcRoadTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition: Roles which may be played by an actor. @@ -9799,16 +9557,15 @@ public: /// USERDEFINED User defined value to be provided. class IFC_PARSE_API IfcRoleEnum : public express::DeclaredType { public: - IfcRoleEnum() {} - explicit IfcRoleEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRole_ARCHITECT, IfcRole_BUILDINGOPERATOR, IfcRole_BUILDINGOWNER, IfcRole_CIVILENGINEER, IfcRole_CLIENT, IfcRole_COMMISSIONINGENGINEER, IfcRole_CONSTRUCTIONMANAGER, IfcRole_CONSULTANT, IfcRole_CONTRACTOR, IfcRole_COSTENGINEER, IfcRole_ELECTRICALENGINEER, IfcRole_ENGINEER, IfcRole_FACILITIESMANAGER, IfcRole_FIELDCONSTRUCTIONMANAGER, IfcRole_MANUFACTURER, IfcRole_MECHANICALENGINEER, IfcRole_OWNER, IfcRole_PROJECTMANAGER, IfcRole_RESELLER, IfcRole_STRUCTURALENGINEER, IfcRole_SUBCONTRACTOR, IfcRole_SUPPLIER, IfcRole_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoleEnum initialize(Value v); + IfcRoleEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the roof in terms of the different roof shapes, as illustrated in Figure 68. @@ -9879,16 +9636,15 @@ public: /// Figure 68 — Roof types class IFC_PARSE_API IfcRoofTypeEnum : public express::DeclaredType { public: - IfcRoofTypeEnum() {} - explicit IfcRoofTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcRoofType_BARREL_ROOF, IfcRoofType_BUTTERFLY_ROOF, IfcRoofType_DOME_ROOF, IfcRoofType_FLAT_ROOF, IfcRoofType_FREEFORM, IfcRoofType_GABLE_ROOF, IfcRoofType_GAMBREL_ROOF, IfcRoofType_HIPPED_GABLE_ROOF, IfcRoofType_HIP_ROOF, IfcRoofType_MANSARD_ROOF, IfcRoofType_PAVILION_ROOF, IfcRoofType_RAINBOW_ROOF, IfcRoofType_SHED_ROOF, IfcRoofType_USERDEFINED, IfcRoofType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcRoofTypeEnum initialize(Value v); + IfcRoofTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI prefix is the name of a prefix that may be associated @@ -9920,16 +9676,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIPrefix : public express::DeclaredType { public: - IfcSIPrefix() {} - explicit IfcSIPrefix (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIPrefix_ATTO, IfcSIPrefix_CENTI, IfcSIPrefix_DECA, IfcSIPrefix_DECI, IfcSIPrefix_EXA, IfcSIPrefix_FEMTO, IfcSIPrefix_GIGA, IfcSIPrefix_HECTO, IfcSIPrefix_KILO, IfcSIPrefix_MEGA, IfcSIPrefix_MICRO, IfcSIPrefix_MILLI, IfcSIPrefix_NANO, IfcSIPrefix_PETA, IfcSIPrefix_PICO, IfcSIPrefix_TERA} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIPrefix initialize(Value v); + IfcSIPrefix initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-41:1992: An SI unit name is the name of an SI unit. The definitions of the @@ -9973,16 +9728,15 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnitName : public express::DeclaredType { public: - IfcSIUnitName() {} - explicit IfcSIUnitName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSIUnitName_AMPERE, IfcSIUnitName_BECQUEREL, IfcSIUnitName_CANDELA, IfcSIUnitName_COULOMB, IfcSIUnitName_CUBIC_METRE, IfcSIUnitName_DEGREE_CELSIUS, IfcSIUnitName_FARAD, IfcSIUnitName_GRAM, IfcSIUnitName_GRAY, IfcSIUnitName_HENRY, IfcSIUnitName_HERTZ, IfcSIUnitName_JOULE, IfcSIUnitName_KELVIN, IfcSIUnitName_LUMEN, IfcSIUnitName_LUX, IfcSIUnitName_METRE, IfcSIUnitName_MOLE, IfcSIUnitName_NEWTON, IfcSIUnitName_OHM, IfcSIUnitName_PASCAL, IfcSIUnitName_RADIAN, IfcSIUnitName_SECOND, IfcSIUnitName_SIEMENS, IfcSIUnitName_SIEVERT, IfcSIUnitName_SQUARE_METRE, IfcSIUnitName_STERADIAN, IfcSIUnitName_TESLA, IfcSIUnitName_VOLT, IfcSIUnitName_WATT, IfcSIUnitName_WEBER} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSIUnitName initialize(Value v); + IfcSIUnitName initialize(const std::string& v); operator Value() const; }; /// The IfcSanitaryTerminalTypeEnum defines the range of different types of sanitary terminal that can be specified. @@ -10006,16 +9760,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSanitaryTerminalTypeEnum : public express::DeclaredType { public: - IfcSanitaryTerminalTypeEnum() {} - explicit IfcSanitaryTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSanitaryTerminalType_BATH, IfcSanitaryTerminalType_BIDET, IfcSanitaryTerminalType_CISTERN, IfcSanitaryTerminalType_SANITARYFOUNTAIN, IfcSanitaryTerminalType_SHOWER, IfcSanitaryTerminalType_SINK, IfcSanitaryTerminalType_TOILETPAN, IfcSanitaryTerminalType_URINAL, IfcSanitaryTerminalType_WASHHANDBASIN, IfcSanitaryTerminalType_WCSEAT, IfcSanitaryTerminalType_USERDEFINED, IfcSanitaryTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSanitaryTerminalTypeEnum initialize(Value v); + IfcSanitaryTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: An enumeration indicating whether a @@ -10030,16 +9783,15 @@ public: /// TAPERED The section is tapered in longitudinal direction. class IFC_PARSE_API IfcSectionTypeEnum : public express::DeclaredType { public: - IfcSectionTypeEnum() {} - explicit IfcSectionTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSectionType_TAPERED, IfcSectionType_UNIFORM} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSectionTypeEnum initialize(Value v); + IfcSectionTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSensorTypeEnum defines the range of different types of sensor that can be specified. @@ -10072,16 +9824,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSensorTypeEnum : public express::DeclaredType { public: - IfcSensorTypeEnum() {} - explicit IfcSensorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_COSENSOR, IfcSensorType_EARTHQUAKESENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FOREIGNOBJECTDETECTIONSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_OBSTACLESENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_RAINSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SNOWDEPTHSENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_TRAINSENSOR, IfcSensorType_TURNOUTCLOSURESENSOR, IfcSensorType_WHEELSENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSensorTypeEnum initialize(Value v); + IfcSensorTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSequenceEnum is an @@ -10091,16 +9842,15 @@ public: /// HISTORY  New entity in IFC 1.0 class IFC_PARSE_API IfcSequenceEnum : public express::DeclaredType { public: - IfcSequenceEnum() {} - explicit IfcSequenceEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSequence_FINISH_FINISH, IfcSequence_FINISH_START, IfcSequence_START_FINISH, IfcSequence_START_START, IfcSequence_USERDEFINED, IfcSequence_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSequenceEnum initialize(Value v); + IfcSequenceEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the valid @@ -10115,46 +9865,43 @@ public: /// in ReleaseIFC2x4 class IFC_PARSE_API IfcShadingDeviceTypeEnum : public express::DeclaredType { public: - IfcShadingDeviceTypeEnum() {} - explicit IfcShadingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcShadingDeviceType_AWNING, IfcShadingDeviceType_JALOUSIE, IfcShadingDeviceType_SHUTTER, IfcShadingDeviceType_USERDEFINED, IfcShadingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcShadingDeviceTypeEnum initialize(Value v); + IfcShadingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignTypeEnum : public express::DeclaredType { public: - IfcSignTypeEnum() {} - explicit IfcSignTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignType_MARKER, IfcSignType_MIRROR, IfcSignType_PICTORAL, IfcSignType_USERDEFINED, IfcSignType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignTypeEnum initialize(Value v); + IfcSignTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcSignalTypeEnum : public express::DeclaredType { public: - IfcSignalTypeEnum() {} - explicit IfcSignalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSignalType_AUDIO, IfcSignalType_MIXED, IfcSignalType_VISUAL, IfcSignalType_USERDEFINED, IfcSignalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSignalTypeEnum initialize(Value v); + IfcSignalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the correct subtype of instances of IfcSimpleProperty or IfcPhysicalSimpleQuantity that are created and are assigned to this IfcSimplePropertyTemplate. It also determines how the attributes of IfcPropertyTemplate, PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, should be used. @@ -10177,16 +9924,15 @@ public: /// Q_TIME: the properties defined by this IfcPropertyTemplate are of type IfcQuantityTime. class IFC_PARSE_API IfcSimplePropertyTemplateTypeEnum : public express::DeclaredType { public: - IfcSimplePropertyTemplateTypeEnum() {} - explicit IfcSimplePropertyTemplateTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSimplePropertyTemplateType_P_BOUNDEDVALUE, IfcSimplePropertyTemplateType_P_ENUMERATEDVALUE, IfcSimplePropertyTemplateType_P_LISTVALUE, IfcSimplePropertyTemplateType_P_REFERENCEVALUE, IfcSimplePropertyTemplateType_P_SINGLEVALUE, IfcSimplePropertyTemplateType_P_TABLEVALUE, IfcSimplePropertyTemplateType_Q_AREA, IfcSimplePropertyTemplateType_Q_COUNT, IfcSimplePropertyTemplateType_Q_LENGTH, IfcSimplePropertyTemplateType_Q_NUMBER, IfcSimplePropertyTemplateType_Q_TIME, IfcSimplePropertyTemplateType_Q_VOLUME, IfcSimplePropertyTemplateType_Q_WEIGHT} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSimplePropertyTemplateTypeEnum initialize(Value v); + IfcSimplePropertyTemplateTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10223,16 +9969,15 @@ public: /// new enumerator added. class IFC_PARSE_API IfcSlabTypeEnum : public express::DeclaredType { public: - IfcSlabTypeEnum() {} - explicit IfcSlabTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSlabType_APPROACH_SLAB, IfcSlabType_BASESLAB, IfcSlabType_FLOOR, IfcSlabType_LANDING, IfcSlabType_PAVING, IfcSlabType_ROOF, IfcSlabType_SIDEWALK, IfcSlabType_TRACKSLAB, IfcSlabType_WEARING, IfcSlabType_USERDEFINED, IfcSlabType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSlabTypeEnum initialize(Value v); + IfcSlabTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcSolarDeviceTypeEnum defines the range of types of solar devices available. @@ -10246,16 +9991,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSolarDeviceTypeEnum : public express::DeclaredType { public: - IfcSolarDeviceTypeEnum() {} - explicit IfcSolarDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSolarDeviceType_SOLARCOLLECTOR, IfcSolarDeviceType_SOLARPANEL, IfcSolarDeviceType_USERDEFINED, IfcSolarDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSolarDeviceTypeEnum initialize(Value v); + IfcSolarDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of space heater. @@ -10272,16 +10016,15 @@ public: /// HISTORY: New enumeration in IFC R2x. class IFC_PARSE_API IfcSpaceHeaterTypeEnum : public express::DeclaredType { public: - IfcSpaceHeaterTypeEnum() {} - explicit IfcSpaceHeaterTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceHeaterType_CONVECTOR, IfcSpaceHeaterType_RADIATOR, IfcSpaceHeaterType_USERDEFINED, IfcSpaceHeaterType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceHeaterTypeEnum initialize(Value v); + IfcSpaceHeaterTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -10321,16 +10064,15 @@ public: /// purposes. class IFC_PARSE_API IfcSpaceTypeEnum : public express::DeclaredType { public: - IfcSpaceTypeEnum() {} - explicit IfcSpaceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpaceType_BERTH, IfcSpaceType_EXTERNAL, IfcSpaceType_GFA, IfcSpaceType_INTERNAL, IfcSpaceType_PARKING, IfcSpaceType_SPACE, IfcSpaceType_USERDEFINED, IfcSpaceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpaceTypeEnum initialize(Value v); + IfcSpaceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the range @@ -10360,16 +10102,15 @@ public: /// zone class IFC_PARSE_API IfcSpatialZoneTypeEnum : public express::DeclaredType { public: - IfcSpatialZoneTypeEnum() {} - explicit IfcSpatialZoneTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSpatialZoneType_CONSTRUCTION, IfcSpatialZoneType_FIRESAFETY, IfcSpatialZoneType_INTERFERENCE, IfcSpatialZoneType_LIGHTING, IfcSpatialZoneType_OCCUPANCY, IfcSpatialZoneType_RESERVATION, IfcSpatialZoneType_SECURITY, IfcSpatialZoneType_THERMAL, IfcSpatialZoneType_TRANSPORT, IfcSpatialZoneType_VENTILATION, IfcSpatialZoneType_USERDEFINED, IfcSpatialZoneType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSpatialZoneTypeEnum initialize(Value v); + IfcSpatialZoneTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcStackTerminalTypeEnum defines the range of different types of stack terminal that can be specified for use at the top of a vertical stack subsystem. @@ -10383,16 +10124,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcStackTerminalTypeEnum : public express::DeclaredType { public: - IfcStackTerminalTypeEnum() {} - explicit IfcStackTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStackTerminalType_BIRDCAGE, IfcStackTerminalType_COWL, IfcStackTerminalType_RAINWATERHOPPER, IfcStackTerminalType_USERDEFINED, IfcStackTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStackTerminalTypeEnum initialize(Value v); + IfcStackTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the different types @@ -10412,16 +10152,15 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcStairFlightTypeEnum : public express::DeclaredType { public: - IfcStairFlightTypeEnum() {} - explicit IfcStairFlightTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairFlightType_CURVED, IfcStairFlightType_FREEFORM, IfcStairFlightType_SPIRAL, IfcStairFlightType_STRAIGHT, IfcStairFlightType_WINDER, IfcStairFlightType_USERDEFINED, IfcStairFlightType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairFlightTypeEnum initialize(Value v); + IfcStairFlightTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the stair type in terms of the number of stair flights and the number of landings, as illustrated in Figure 69. The type also distinguished turns by windings or by landings. In addition the subdivision of the straight and changing direction stairs is included. The stair configurations are given for stairs without and with one, two or three landings. @@ -10519,16 +10258,15 @@ public: /// Figure 69 — Stair types class IFC_PARSE_API IfcStairTypeEnum : public express::DeclaredType { public: - IfcStairTypeEnum() {} - explicit IfcStairTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStairType_CURVED_RUN_STAIR, IfcStairType_DOUBLE_RETURN_STAIR, IfcStairType_HALF_TURN_STAIR, IfcStairType_HALF_WINDING_STAIR, IfcStairType_LADDER, IfcStairType_QUARTER_TURN_STAIR, IfcStairType_QUARTER_WINDING_STAIR, IfcStairType_SPIRAL_STAIR, IfcStairType_STRAIGHT_RUN_STAIR, IfcStairType_THREE_QUARTER_TURN_STAIR, IfcStairType_THREE_QUARTER_WINDING_STAIR, IfcStairType_TWO_CURVED_RUN_STAIR, IfcStairType_TWO_QUARTER_TURN_STAIR, IfcStairType_TWO_QUARTER_WINDING_STAIR, IfcStairType_TWO_STRAIGHT_RUN_STAIR, IfcStairType_USERDEFINED, IfcStairType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStairTypeEnum initialize(Value v); + IfcStairTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcStateEnum enumeration identifies the state or accessibility of the object (for example, read/write, locked). @@ -10546,16 +10284,15 @@ public: /// IFC2x3 CHANGE  This concept was initially introduced in IFC 2.0 as IfcModifiedFlag of type BINARY(3) FIXED and has been modified in R2x to an enumeration. It was initially introduced as a first step towards providing facilities for partial model exchange from a server as requested by the IFC implementers. It is intended for use primarily by a model server so that an application can identify the state of the object. class IFC_PARSE_API IfcStateEnum : public express::DeclaredType { public: - IfcStateEnum() {} - explicit IfcStateEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcState_LOCKED, IfcState_READONLY, IfcState_READONLYLOCKED, IfcState_READWRITE, IfcState_READWRITELOCKED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStateEnum initialize(Value v); + IfcStateEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a curve action or reaction. @@ -10575,16 +10312,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralCurveActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveActivityTypeEnum() {} - explicit IfcStructuralCurveActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveActivityType_CONST, IfcStructuralCurveActivityType_DISCRETE, IfcStructuralCurveActivityType_EQUIDISTANT, IfcStructuralCurveActivityType_LINEAR, IfcStructuralCurveActivityType_PARABOLA, IfcStructuralCurveActivityType_POLYGONAL, IfcStructuralCurveActivityType_SINUS, IfcStructuralCurveActivityType_USERDEFINED, IfcStructuralCurveActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveActivityTypeEnum initialize(Value v); + IfcStructuralCurveActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10607,16 +10343,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralCurveTypeEnum. class IFC_PARSE_API IfcStructuralCurveMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralCurveMemberTypeEnum() {} - explicit IfcStructuralCurveMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralCurveMemberType_CABLE, IfcStructuralCurveMemberType_COMPRESSION_MEMBER, IfcStructuralCurveMemberType_PIN_JOINED_MEMBER, IfcStructuralCurveMemberType_RIGID_JOINED_MEMBER, IfcStructuralCurveMemberType_TENSION_MEMBER, IfcStructuralCurveMemberType_USERDEFINED, IfcStructuralCurveMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralCurveMemberTypeEnum initialize(Value v); + IfcStructuralCurveMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: Enumeration defining the distribution of load values in a surface action or reaction. @@ -10633,16 +10368,15 @@ public: /// NOTDEFINED The load distribution is undefined. class IFC_PARSE_API IfcStructuralSurfaceActivityTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceActivityTypeEnum() {} - explicit IfcStructuralSurfaceActivityTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceActivityType_BILINEAR, IfcStructuralSurfaceActivityType_CONST, IfcStructuralSurfaceActivityType_DISCRETE, IfcStructuralSurfaceActivityType_ISOCONTOUR, IfcStructuralSurfaceActivityType_USERDEFINED, IfcStructuralSurfaceActivityType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceActivityTypeEnum initialize(Value v); + IfcStructuralSurfaceActivityTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This type definition shall be used to @@ -10661,16 +10395,15 @@ public: /// IFC 2x4 change: Renamed from IfcStructuralSurfaceTypeEnum. class IFC_PARSE_API IfcStructuralSurfaceMemberTypeEnum : public express::DeclaredType { public: - IfcStructuralSurfaceMemberTypeEnum() {} - explicit IfcStructuralSurfaceMemberTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcStructuralSurfaceMemberType_BENDING_ELEMENT, IfcStructuralSurfaceMemberType_MEMBRANE_ELEMENT, IfcStructuralSurfaceMemberType_SHELL, IfcStructuralSurfaceMemberType_USERDEFINED, IfcStructuralSurfaceMemberType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcStructuralSurfaceMemberTypeEnum initialize(Value v); + IfcStructuralSurfaceMemberTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration is used to identify the primary purpose of a subcontract resource. The IfcSubContractResourceTypeEnum contains the following: @@ -10683,16 +10416,15 @@ public: /// HISTORY: New enumeration in IFC2x4 class IFC_PARSE_API IfcSubContractResourceTypeEnum : public express::DeclaredType { public: - IfcSubContractResourceTypeEnum() {} - explicit IfcSubContractResourceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSubContractResourceType_PURCHASE, IfcSubContractResourceType_WORK, IfcSubContractResourceType_USERDEFINED, IfcSubContractResourceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSubContractResourceTypeEnum initialize(Value v); + IfcSubContractResourceTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration indicates the type of a surface feature. @@ -10708,16 +10440,15 @@ public: /// NOTDEFINED An undefined type of surface feature. class IFC_PARSE_API IfcSurfaceFeatureTypeEnum : public express::DeclaredType { public: - IfcSurfaceFeatureTypeEnum() {} - explicit IfcSurfaceFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceFeatureType_DEFECT, IfcSurfaceFeatureType_HATCHMARKING, IfcSurfaceFeatureType_LINEMARKING, IfcSurfaceFeatureType_MARK, IfcSurfaceFeatureType_NONSKIDSURFACING, IfcSurfaceFeatureType_PAVEMENTSURFACEMARKING, IfcSurfaceFeatureType_RUMBLESTRIP, IfcSurfaceFeatureType_SYMBOLMARKING, IfcSurfaceFeatureType_TAG, IfcSurfaceFeatureType_TRANSVERSERUMBLESTRIP, IfcSurfaceFeatureType_TREATMENT, IfcSurfaceFeatureType_USERDEFINED, IfcSurfaceFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceFeatureTypeEnum initialize(Value v); + IfcSurfaceFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSurfaceSide is a denotion of whether negative, positive or both sides of a surface are being referenced. @@ -10733,16 +10464,15 @@ public: /// HISTORY: New Enumeration in IFC 2.0 class IFC_PARSE_API IfcSurfaceSide : public express::DeclaredType { public: - IfcSurfaceSide() {} - explicit IfcSurfaceSide (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSurfaceSide_BOTH, IfcSurfaceSide_NEGATIVE, IfcSurfaceSide_POSITIVE} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSurfaceSide initialize(Value v); + IfcSurfaceSide initialize(const std::string& v); operator Value() const; }; /// The IfcSwitchingDeviceTypeEnum defines the range of different types of switch that can be specified. @@ -10763,16 +10493,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSwitchingDeviceTypeEnum : public express::DeclaredType { public: - IfcSwitchingDeviceTypeEnum() {} - explicit IfcSwitchingDeviceTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSwitchingDeviceType_CONTACTOR, IfcSwitchingDeviceType_DIMMERSWITCH, IfcSwitchingDeviceType_EMERGENCYSTOP, IfcSwitchingDeviceType_KEYPAD, IfcSwitchingDeviceType_MOMENTARYSWITCH, IfcSwitchingDeviceType_RELAY, IfcSwitchingDeviceType_SELECTORSWITCH, IfcSwitchingDeviceType_STARTER, IfcSwitchingDeviceType_START_AND_STOP_EQUIPMENT, IfcSwitchingDeviceType_SWITCHDISCONNECTOR, IfcSwitchingDeviceType_TOGGLESWITCH, IfcSwitchingDeviceType_USERDEFINED, IfcSwitchingDeviceType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSwitchingDeviceTypeEnum initialize(Value v); + IfcSwitchingDeviceTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcSystemFurnitureTypeEnum defines the types of system furniture from which the type required can be selected. @@ -10785,16 +10514,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcSystemFurnitureElementTypeEnum : public express::DeclaredType { public: - IfcSystemFurnitureElementTypeEnum() {} - explicit IfcSystemFurnitureElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcSystemFurnitureElementType_PANEL, IfcSystemFurnitureElementType_SUBRACK, IfcSystemFurnitureElementType_WORKSURFACE, IfcSystemFurnitureElementType_USERDEFINED, IfcSystemFurnitureElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcSystemFurnitureElementTypeEnum initialize(Value v); + IfcSystemFurnitureElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tanks. @@ -10822,16 +10550,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. BASIN and VESSEL added in IFC2x4. class IFC_PARSE_API IfcTankTypeEnum : public express::DeclaredType { public: - IfcTankTypeEnum() {} - explicit IfcTankTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTankType_BASIN, IfcTankType_BREAKPRESSURE, IfcTankType_EXPANSION, IfcTankType_FEEDANDEXPANSION, IfcTankType_OILRETENTIONTRAY, IfcTankType_PRESSUREVESSEL, IfcTankType_STORAGE, IfcTankType_VESSEL, IfcTankType_USERDEFINED, IfcTankType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTankTypeEnum initialize(Value v); + IfcTankTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcTaskDurationEnum identifies how a time duration is measured: @@ -10843,16 +10570,15 @@ public: /// HISTORY: New enumeration in IFC2x4. class IFC_PARSE_API IfcTaskDurationEnum : public express::DeclaredType { public: - IfcTaskDurationEnum() {} - explicit IfcTaskDurationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskDuration_ELAPSEDTIME, IfcTaskDuration_WORKTIME, IfcTaskDuration_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskDurationEnum initialize(Value v); + IfcTaskDurationEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTaskTypeEnum defines the range of different types of task that can be specified. @@ -10875,61 +10601,57 @@ public: /// RENOVATION: Bringing something to an 'as-new' state class IFC_PARSE_API IfcTaskTypeEnum : public express::DeclaredType { public: - IfcTaskTypeEnum() {} - explicit IfcTaskTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTaskType_ADJUSTMENT, IfcTaskType_ATTENDANCE, IfcTaskType_CALIBRATION, IfcTaskType_CONSTRUCTION, IfcTaskType_DEMOLITION, IfcTaskType_DISMANTLE, IfcTaskType_DISPOSAL, IfcTaskType_EMERGENCY, IfcTaskType_INSPECTION, IfcTaskType_INSTALLATION, IfcTaskType_LOGISTIC, IfcTaskType_MAINTENANCE, IfcTaskType_MOVE, IfcTaskType_OPERATION, IfcTaskType_REMOVAL, IfcTaskType_RENOVATION, IfcTaskType_SAFETY, IfcTaskType_SHUTDOWN, IfcTaskType_STARTUP, IfcTaskType_TESTING, IfcTaskType_TROUBLESHOOTING, IfcTaskType_USERDEFINED, IfcTaskType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTaskTypeEnum initialize(Value v); + IfcTaskTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonAnchorTypeEnum : public express::DeclaredType { public: - IfcTendonAnchorTypeEnum() {} - explicit IfcTendonAnchorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonAnchorType_COUPLER, IfcTendonAnchorType_FIXED_END, IfcTendonAnchorType_TENSIONING_END, IfcTendonAnchorType_USERDEFINED, IfcTendonAnchorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonAnchorTypeEnum initialize(Value v); + IfcTendonAnchorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonConduitTypeEnum : public express::DeclaredType { public: - IfcTendonConduitTypeEnum() {} - explicit IfcTendonConduitTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonConduitType_COUPLER, IfcTendonConduitType_DIABOLO, IfcTendonConduitType_DUCT, IfcTendonConduitType_GROUTING_DUCT, IfcTendonConduitType_TRUMPET, IfcTendonConduitType_USERDEFINED, IfcTendonConduitType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonConduitTypeEnum initialize(Value v); + IfcTendonConduitTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTendonTypeEnum : public express::DeclaredType { public: - IfcTendonTypeEnum() {} - explicit IfcTendonTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTendonType_BAR, IfcTendonType_COATED, IfcTendonType_STRAND, IfcTendonType_WIRE, IfcTendonType_USERDEFINED, IfcTendonType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTendonTypeEnum initialize(Value v); + IfcTendonTypeEnum initialize(const std::string& v); operator Value() const; }; /// The text path determines the direction of the text characters in respect to each other. @@ -10941,16 +10663,15 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcTextPath : public express::DeclaredType { public: - IfcTextPath() {} - explicit IfcTextPath (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTextPath_DOWN, IfcTextPath_LEFT, IfcTextPath_RIGHT, IfcTextPath_UP} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTextPath initialize(Value v); + IfcTextPath initialize(const std::string& v); operator Value() const; }; /// IfcTimeSeriesDataTypeEnum describes a type of time series data and is used to determine a value during the time series which is not explicitly specified: @@ -10966,31 +10687,29 @@ public: /// HISTORY: New enumeration in IFC2x2. class IFC_PARSE_API IfcTimeSeriesDataTypeEnum : public express::DeclaredType { public: - IfcTimeSeriesDataTypeEnum() {} - explicit IfcTimeSeriesDataTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTimeSeriesDataType_CONTINUOUS, IfcTimeSeriesDataType_DISCRETE, IfcTimeSeriesDataType_DISCRETEBINARY, IfcTimeSeriesDataType_PIECEWISEBINARY, IfcTimeSeriesDataType_PIECEWISECONSTANT, IfcTimeSeriesDataType_PIECEWISECONTINUOUS, IfcTimeSeriesDataType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTimeSeriesDataTypeEnum initialize(Value v); + IfcTimeSeriesDataTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcTrackElementTypeEnum : public express::DeclaredType { public: - IfcTrackElementTypeEnum() {} - explicit IfcTrackElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrackElementType_BLOCKINGDEVICE, IfcTrackElementType_DERAILER, IfcTrackElementType_FROG, IfcTrackElementType_HALF_SET_OF_BLADES, IfcTrackElementType_SLEEPER, IfcTrackElementType_SPEEDREGULATOR, IfcTrackElementType_TRACKENDOFALIGNMENT, IfcTrackElementType_VEHICLESTOP, IfcTrackElementType_USERDEFINED, IfcTrackElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrackElementTypeEnum initialize(Value v); + IfcTrackElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcTransformerTypeEnum defines the range of different types of transformer that can be specified. @@ -11006,16 +10725,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcTransformerTypeEnum : public express::DeclaredType { public: - IfcTransformerTypeEnum() {} - explicit IfcTransformerTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransformerType_CHOPPER, IfcTransformerType_COMBINED, IfcTransformerType_CURRENT, IfcTransformerType_FREQUENCY, IfcTransformerType_INVERTER, IfcTransformerType_RECTIFIER, IfcTransformerType_VOLTAGE, IfcTransformerType_USERDEFINED, IfcTransformerType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransformerTypeEnum initialize(Value v); + IfcTransformerTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type conveys the continuity properties of a composite curve or surface. The continuity referred to is geometric, not parametric continuity. For example, in ContSameGradient the tangent vectors of successive segments will have the same direction, but may have different magnitude. @@ -11036,16 +10754,15 @@ public: /// CONTSAMEGRADIENTSAMECURVATURE: For a curve, the segments join, their tangent vectors are parallel and in the same direction and their curvatures are equal at the joint: equality of derivatives is not required. For a surface this implies that the principle curvatures are the same and the principle directions are coincident along the common boundary. class IFC_PARSE_API IfcTransitionCode : public express::DeclaredType { public: - IfcTransitionCode() {} - explicit IfcTransitionCode (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransitionCode_CONTINUOUS, IfcTransitionCode_CONTSAMEGRADIENT, IfcTransitionCode_CONTSAMEGRADIENTSAMECURVATURE, IfcTransitionCode_DISCONTINUOUS} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransitionCode initialize(Value v); + IfcTransitionCode initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration is used to @@ -11074,16 +10791,15 @@ public: /// IFC2x4. class IFC_PARSE_API IfcTransportElementTypeEnum : public express::DeclaredType { public: - IfcTransportElementTypeEnum() {} - explicit IfcTransportElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTransportElementType_CRANEWAY, IfcTransportElementType_ELEVATOR, IfcTransportElementType_ESCALATOR, IfcTransportElementType_HAULINGGEAR, IfcTransportElementType_LIFTINGGEAR, IfcTransportElementType_MOVINGWALKWAY, IfcTransportElementType_USERDEFINED, IfcTransportElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTransportElementTypeEnum initialize(Value v); + IfcTransportElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from ISO/CD 10303-42:1992: This type is used to describe the preferred way of trimming a parametric curve where the trimming is multiply defined. @@ -11099,16 +10815,15 @@ public: /// UNSPECIFIED: Indicates that no preference is communicated. class IFC_PARSE_API IfcTrimmingPreference : public express::DeclaredType { public: - IfcTrimmingPreference() {} - explicit IfcTrimmingPreference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTrimmingPreference_CARTESIAN, IfcTrimmingPreference_PARAMETER, IfcTrimmingPreference_UNSPECIFIED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTrimmingPreference initialize(Value v); + IfcTrimmingPreference initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of tube bundles. @@ -11121,16 +10836,15 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcTubeBundleTypeEnum : public express::DeclaredType { public: - IfcTubeBundleTypeEnum() {} - explicit IfcTubeBundleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcTubeBundleType_FINNED, IfcTubeBundleType_USERDEFINED, IfcTubeBundleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcTubeBundleTypeEnum initialize(Value v); + IfcTubeBundleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcUnitEnum is an enumeration type for allowed unit types of IfcNamedUnit. @@ -11171,16 +10885,15 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitEnum : public express::DeclaredType { public: - IfcUnitEnum() {} - explicit IfcUnitEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnit_ABSORBEDDOSEUNIT, IfcUnit_AMOUNTOFSUBSTANCEUNIT, IfcUnit_AREAUNIT, IfcUnit_DOSEEQUIVALENTUNIT, IfcUnit_ELECTRICCAPACITANCEUNIT, IfcUnit_ELECTRICCHARGEUNIT, IfcUnit_ELECTRICCONDUCTANCEUNIT, IfcUnit_ELECTRICCURRENTUNIT, IfcUnit_ELECTRICRESISTANCEUNIT, IfcUnit_ELECTRICVOLTAGEUNIT, IfcUnit_ENERGYUNIT, IfcUnit_FORCEUNIT, IfcUnit_FREQUENCYUNIT, IfcUnit_ILLUMINANCEUNIT, IfcUnit_INDUCTANCEUNIT, IfcUnit_LENGTHUNIT, IfcUnit_LUMINOUSFLUXUNIT, IfcUnit_LUMINOUSINTENSITYUNIT, IfcUnit_MAGNETICFLUXDENSITYUNIT, IfcUnit_MAGNETICFLUXUNIT, IfcUnit_MASSUNIT, IfcUnit_PLANEANGLEUNIT, IfcUnit_POWERUNIT, IfcUnit_PRESSUREUNIT, IfcUnit_RADIOACTIVITYUNIT, IfcUnit_SOLIDANGLEUNIT, IfcUnit_THERMODYNAMICTEMPERATUREUNIT, IfcUnit_TIMEUNIT, IfcUnit_VOLUMEUNIT, IfcUnit_USERDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitEnum initialize(Value v); + IfcUnitEnum initialize(const std::string& v); operator Value() const; }; /// The IfcUnitaryControlElementTypeEnum defines the range of different types and/or functions of unitary control elements possible. @@ -11201,16 +10914,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcUnitaryControlElementTypeEnum : public express::DeclaredType { public: - IfcUnitaryControlElementTypeEnum() {} - explicit IfcUnitaryControlElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryControlElementType_ALARMPANEL, IfcUnitaryControlElementType_BASESTATIONCONTROLLER, IfcUnitaryControlElementType_COMBINED, IfcUnitaryControlElementType_CONTROLPANEL, IfcUnitaryControlElementType_GASDETECTIONPANEL, IfcUnitaryControlElementType_HUMIDISTAT, IfcUnitaryControlElementType_INDICATORPANEL, IfcUnitaryControlElementType_MIMICPANEL, IfcUnitaryControlElementType_THERMOSTAT, IfcUnitaryControlElementType_WEATHERSTATION, IfcUnitaryControlElementType_USERDEFINED, IfcUnitaryControlElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryControlElementTypeEnum initialize(Value v); + IfcUnitaryControlElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the functional type of unitary equipment. @@ -11227,16 +10939,15 @@ public: /// HISTORY: New enumeration in IFC R2x. DEHUMIDIFIER added in IFC 2x4 class IFC_PARSE_API IfcUnitaryEquipmentTypeEnum : public express::DeclaredType { public: - IfcUnitaryEquipmentTypeEnum() {} - explicit IfcUnitaryEquipmentTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcUnitaryEquipmentType_AIRCONDITIONINGUNIT, IfcUnitaryEquipmentType_AIRHANDLER, IfcUnitaryEquipmentType_DEHUMIDIFIER, IfcUnitaryEquipmentType_ROOFTOPUNIT, IfcUnitaryEquipmentType_SPLITSYSTEM, IfcUnitaryEquipmentType_USERDEFINED, IfcUnitaryEquipmentType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcUnitaryEquipmentTypeEnum initialize(Value v); + IfcUnitaryEquipmentTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcValveTypeEnum defines the @@ -11284,46 +10995,43 @@ public: /// HISTORY: New type in IFC R2.0 class IFC_PARSE_API IfcValveTypeEnum : public express::DeclaredType { public: - IfcValveTypeEnum() {} - explicit IfcValveTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcValveType_AIRRELEASE, IfcValveType_ANTIVACUUM, IfcValveType_CHANGEOVER, IfcValveType_CHECK, IfcValveType_COMMISSIONING, IfcValveType_DIVERTING, IfcValveType_DOUBLECHECK, IfcValveType_DOUBLEREGULATING, IfcValveType_DRAWOFFCOCK, IfcValveType_FAUCET, IfcValveType_FLUSHING, IfcValveType_GASCOCK, IfcValveType_GASTAP, IfcValveType_ISOLATING, IfcValveType_MIXING, IfcValveType_PRESSUREREDUCING, IfcValveType_PRESSURERELIEF, IfcValveType_REGULATING, IfcValveType_SAFETYCUTOFF, IfcValveType_STEAMTRAP, IfcValveType_STOPCOCK, IfcValveType_USERDEFINED, IfcValveType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcValveTypeEnum initialize(Value v); + IfcValveTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVehicleTypeEnum : public express::DeclaredType { public: - IfcVehicleTypeEnum() {} - explicit IfcVehicleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVehicleType_CARGO, IfcVehicleType_ROLLINGSTOCK, IfcVehicleType_VEHICLE, IfcVehicleType_VEHICLEAIR, IfcVehicleType_VEHICLEMARINE, IfcVehicleType_VEHICLETRACKED, IfcVehicleType_VEHICLEWHEELED, IfcVehicleType_USERDEFINED, IfcVehicleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVehicleTypeEnum initialize(Value v); + IfcVehicleTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVibrationDamperTypeEnum : public express::DeclaredType { public: - IfcVibrationDamperTypeEnum() {} - explicit IfcVibrationDamperTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationDamperType_AXIAL_YIELD, IfcVibrationDamperType_BENDING_YIELD, IfcVibrationDamperType_FRICTION, IfcVibrationDamperType_RUBBER, IfcVibrationDamperType_SHEAR_YIELD, IfcVibrationDamperType_VISCOUS, IfcVibrationDamperType_USERDEFINED, IfcVibrationDamperType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationDamperTypeEnum initialize(Value v); + IfcVibrationDamperTypeEnum initialize(const std::string& v); operator Value() const; }; /// Enumeration defining the typical types of vibration isolators. @@ -11337,31 +11045,29 @@ public: /// HISTORY: New enumeration in IFC 2x2. class IFC_PARSE_API IfcVibrationIsolatorTypeEnum : public express::DeclaredType { public: - IfcVibrationIsolatorTypeEnum() {} - explicit IfcVibrationIsolatorTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVibrationIsolatorType_BASE, IfcVibrationIsolatorType_COMPRESSION, IfcVibrationIsolatorType_SPRING, IfcVibrationIsolatorType_USERDEFINED, IfcVibrationIsolatorType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVibrationIsolatorTypeEnum initialize(Value v); + IfcVibrationIsolatorTypeEnum initialize(const std::string& v); operator Value() const; }; class IFC_PARSE_API IfcVirtualElementTypeEnum : public express::DeclaredType { public: - IfcVirtualElementTypeEnum() {} - explicit IfcVirtualElementTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVirtualElementType_BOUNDARY, IfcVirtualElementType_CLEARANCE, IfcVirtualElementType_PROVISIONFORVOID, IfcVirtualElementType_USERDEFINED, IfcVirtualElementType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVirtualElementTypeEnum initialize(Value v); + IfcVirtualElementTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration qualifies a voiding feature regarding its shape and configuration relative to the voided element. @@ -11380,16 +11086,15 @@ public: /// NOTDEFINED An undefined type of voiding feature. class IFC_PARSE_API IfcVoidingFeatureTypeEnum : public express::DeclaredType { public: - IfcVoidingFeatureTypeEnum() {} - explicit IfcVoidingFeatureTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcVoidingFeatureType_CHAMFER, IfcVoidingFeatureType_CUTOUT, IfcVoidingFeatureType_EDGE, IfcVoidingFeatureType_HOLE, IfcVoidingFeatureType_MITER, IfcVoidingFeatureType_NOTCH, IfcVoidingFeatureType_USERDEFINED, IfcVoidingFeatureType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcVoidingFeatureTypeEnum initialize(Value v); + IfcVoidingFeatureTypeEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11431,16 +11136,15 @@ public: /// MOVABLE has been added. class IFC_PARSE_API IfcWallTypeEnum : public express::DeclaredType { public: - IfcWallTypeEnum() {} - explicit IfcWallTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWallType_ELEMENTEDWALL, IfcWallType_MOVABLE, IfcWallType_PARAPET, IfcWallType_PARTITIONING, IfcWallType_PLUMBINGWALL, IfcWallType_POLYGONAL, IfcWallType_RETAININGWALL, IfcWallType_SHEAR, IfcWallType_SOLIDWALL, IfcWallType_STANDARD, IfcWallType_WAVEWALL, IfcWallType_USERDEFINED, IfcWallType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWallTypeEnum initialize(Value v); + IfcWallTypeEnum initialize(const std::string& v); operator Value() const; }; /// The IfcWasteTerminalTypeEnum defines the range of different types of waste terminal that can be specified. @@ -11459,16 +11163,15 @@ public: /// NOTDEFINED: Undefined type. class IFC_PARSE_API IfcWasteTerminalTypeEnum : public express::DeclaredType { public: - IfcWasteTerminalTypeEnum() {} - explicit IfcWasteTerminalTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWasteTerminalType_FLOORTRAP, IfcWasteTerminalType_FLOORWASTE, IfcWasteTerminalType_GULLYSUMP, IfcWasteTerminalType_GULLYTRAP, IfcWasteTerminalType_ROOFDRAIN, IfcWasteTerminalType_WASTEDISPOSALUNIT, IfcWasteTerminalType_WASTETRAP, IfcWasteTerminalType_USERDEFINED, IfcWasteTerminalType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWasteTerminalTypeEnum initialize(Value v); + IfcWasteTerminalTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic ways to describe how window panels operate, as shown in Figure 168. @@ -11557,16 +11260,15 @@ public: /// Figure 169 — Window panel directions class IFC_PARSE_API IfcWindowPanelOperationEnum : public express::DeclaredType { public: - IfcWindowPanelOperationEnum() {} - explicit IfcWindowPanelOperationEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelOperation_BOTTOMHUNG, IfcWindowPanelOperation_FIXEDCASEMENT, IfcWindowPanelOperation_OTHEROPERATION, IfcWindowPanelOperation_PIVOTHORIZONTAL, IfcWindowPanelOperation_PIVOTVERTICAL, IfcWindowPanelOperation_REMOVABLECASEMENT, IfcWindowPanelOperation_SIDEHUNGLEFTHAND, IfcWindowPanelOperation_SIDEHUNGRIGHTHAND, IfcWindowPanelOperation_SLIDINGHORIZONTAL, IfcWindowPanelOperation_SLIDINGVERTICAL, IfcWindowPanelOperation_TILTANDTURNLEFTHAND, IfcWindowPanelOperation_TILTANDTURNRIGHTHAND, IfcWindowPanelOperation_TOPHUNG, IfcWindowPanelOperation_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelOperationEnum initialize(Value v); + IfcWindowPanelOperationEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the location of window panels. The window configurations are given for windows with one, two or three panels (including fixed panels) as shown in Figure 170. It corresponds to the OperationType of the IfcWindowStyle definition, which references the IfcWindowPanelProperties. @@ -11635,16 +11337,15 @@ public: /// These figures are only shown as illustrations. class IFC_PARSE_API IfcWindowPanelPositionEnum : public express::DeclaredType { public: - IfcWindowPanelPositionEnum() {} - explicit IfcWindowPanelPositionEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowPanelPosition_BOTTOM, IfcWindowPanelPosition_LEFT, IfcWindowPanelPosition_MIDDLE, IfcWindowPanelPosition_RIGHT, IfcWindowPanelPosition_TOP, IfcWindowPanelPosition_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowPanelPositionEnum initialize(Value v); + IfcWindowPanelPositionEnum initialize(const std::string& v); operator Value() const; }; /// Definition from IAI: This enumeration defines the @@ -11665,16 +11366,15 @@ public: /// in IFC2x4. class IFC_PARSE_API IfcWindowTypeEnum : public express::DeclaredType { public: - IfcWindowTypeEnum() {} - explicit IfcWindowTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowType_LIGHTDOME, IfcWindowType_SKYLIGHT, IfcWindowType_WINDOW, IfcWindowType_USERDEFINED, IfcWindowType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypeEnum initialize(Value v); + IfcWindowTypeEnum initialize(const std::string& v); operator Value() const; }; /// This enumeration defines the basic configuration of the window type in terms of the number of window panels and the subdivision of the total window as shown in Figure 70. The window configurations are given for windows with one, two or three panels (including fixed panels). @@ -11750,16 +11450,15 @@ public: /// These figures are only shown as illustrations class IFC_PARSE_API IfcWindowTypePartitioningEnum : public express::DeclaredType { public: - IfcWindowTypePartitioningEnum() {} - explicit IfcWindowTypePartitioningEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWindowTypePartitioning_DOUBLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_DOUBLE_PANEL_VERTICAL, IfcWindowTypePartitioning_SINGLE_PANEL, IfcWindowTypePartitioning_TRIPLE_PANEL_BOTTOM, IfcWindowTypePartitioning_TRIPLE_PANEL_HORIZONTAL, IfcWindowTypePartitioning_TRIPLE_PANEL_LEFT, IfcWindowTypePartitioning_TRIPLE_PANEL_RIGHT, IfcWindowTypePartitioning_TRIPLE_PANEL_TOP, IfcWindowTypePartitioning_TRIPLE_PANEL_VERTICAL, IfcWindowTypePartitioning_USERDEFINED, IfcWindowTypePartitioning_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWindowTypePartitioningEnum initialize(Value v); + IfcWindowTypePartitioningEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkCalendarTypeEnum is an enumeration data type that specifies the types of work calendar from which the relevant control can be selected. If given it should help to identify base calendars. @@ -11775,16 +11474,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkCalendarTypeEnum : public express::DeclaredType { public: - IfcWorkCalendarTypeEnum() {} - explicit IfcWorkCalendarTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkCalendarType_FIRSTSHIFT, IfcWorkCalendarType_SECONDSHIFT, IfcWorkCalendarType_THIRDSHIFT, IfcWorkCalendarType_USERDEFINED, IfcWorkCalendarType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkCalendarTypeEnum initialize(Value v); + IfcWorkCalendarTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkPlanTypeEnum is an enumeration data type that specifies the types of work plan from which the relevant control can be selected. @@ -11800,16 +11498,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkPlanTypeEnum : public express::DeclaredType { public: - IfcWorkPlanTypeEnum() {} - explicit IfcWorkPlanTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkPlanType_ACTUAL, IfcWorkPlanType_BASELINE, IfcWorkPlanType_PLANNED, IfcWorkPlanType_USERDEFINED, IfcWorkPlanType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkPlanTypeEnum initialize(Value v); + IfcWorkPlanTypeEnum initialize(const std::string& v); operator Value() const; }; /// An IfcWorkScheduleTypeEnum is an enumeration data type that specifies the types of work schedule from which the relevant control can be selected. @@ -11825,16 +11522,15 @@ public: /// NOTDEFINED class IFC_PARSE_API IfcWorkScheduleTypeEnum : public express::DeclaredType { public: - IfcWorkScheduleTypeEnum() {} - explicit IfcWorkScheduleTypeEnum (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkScheduleType_PLANNED, IfcWorkScheduleType_USERDEFINED, IfcWorkScheduleType_NOTDEFINED} Value; static const char* ToString(Value v); static Value FromString(const std::string& s); static const ifcopenshell::enumeration_type& Class(); - void initialize(Value v); - void initialize(const std::string& v); + IfcWorkScheduleTypeEnum initialize(Value v); + IfcWorkScheduleTypeEnum initialize(const std::string& v); operator Value() const; }; /// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. @@ -11844,11 +11540,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAbsorbedDoseMeasure : public express::DeclaredType { public: - IfcAbsorbedDoseMeasure() {} - explicit IfcAbsorbedDoseMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAbsorbedDoseMeasure initialize(double v); operator double() const; }; /// IfcAccelerationMeasure is a measure of acceleration. @@ -11858,11 +11553,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcAccelerationMeasure : public express::DeclaredType { public: - IfcAccelerationMeasure() {} - explicit IfcAccelerationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAccelerationMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. @@ -11875,11 +11569,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAmountOfSubstanceMeasure : public express::DeclaredType { public: - IfcAmountOfSubstanceMeasure() {} - explicit IfcAmountOfSubstanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAmountOfSubstanceMeasure initialize(double v); operator double() const; }; /// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. @@ -11889,31 +11582,28 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcAngularVelocityMeasure : public express::DeclaredType { public: - IfcAngularVelocityMeasure() {} - explicit IfcAngularVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAngularVelocityMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcArcIndex : public express::DeclaredType { public: - IfcArcIndex() {} - explicit IfcArcIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:3]*/ v); + IfcArcIndex initialize(std::vector< int > /*[3:3]*/ v); operator std::vector< int > /*[3:3]*/() const; }; class IFC_PARSE_API IfcAreaDensityMeasure : public express::DeclaredType { public: - IfcAreaDensityMeasure() {} - explicit IfcAreaDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaDensityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. @@ -11925,21 +11615,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcAreaMeasure : public express::DeclaredType { public: - IfcAreaMeasure() {} - explicit IfcAreaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcAreaMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcBinary : public express::DeclaredType { public: - IfcBinary() {} - explicit IfcBinary (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::dynamic_bitset<> v); + IfcBinary initialize(boost::dynamic_bitset<> v); operator boost::dynamic_bitset<>() const; }; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. @@ -11949,11 +11637,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcBoolean : public express::DeclaredType { public: - IfcBoolean() {} - explicit IfcBoolean (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcBoolean initialize(bool v); operator bool() const; }; /// An IfcCardinalPointReference is an index reference to @@ -12001,11 +11688,10 @@ public: /// Figure 284 — Cardinal point extrusion class IFC_PARSE_API IfcCardinalPointReference : public express::DeclaredType { public: - IfcCardinalPointReference() {} - explicit IfcCardinalPointReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCardinalPointReference initialize(int v); operator int() const; }; /// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. @@ -12021,11 +11707,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcComplexNumber : public express::DeclaredType { public: - IfcComplexNumber() {} - explicit IfcComplexNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< double > /*[1:2]*/ v); + IfcComplexNumber initialize(std::vector< double > /*[1:2]*/ v); operator std::vector< double > /*[1:2]*/() const; }; /// IfcCompoundPlaneAngleMeasure is a compound measure of plane angle in degrees, minutes, seconds, and optionally millionth-seconds of arc. @@ -12078,11 +11763,10 @@ public: /// Another often encountered display format of latitudes and longitudes is to omit the signs and print N, S, E, W indicators instead, for example, 50°58'33"S. When stored as IfcCompoundPlaneAngleMeasure however, a compound plane angle measure is always signed, with same sign of all components. class IFC_PARSE_API IfcCompoundPlaneAngleMeasure : public express::DeclaredType { public: - IfcCompoundPlaneAngleMeasure() {} - explicit IfcCompoundPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[3:4]*/ v); + IfcCompoundPlaneAngleMeasure initialize(std::vector< int > /*[3:4]*/ v); operator std::vector< int > /*[3:4]*/() const; }; /// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. @@ -12093,11 +11777,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentMeasure : public express::DeclaredType { public: - IfcContextDependentMeasure() {} - explicit IfcContextDependentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcContextDependentMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. @@ -12108,11 +11791,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcCountMeasure : public express::DeclaredType { public: - IfcCountMeasure() {} - explicit IfcCountMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcCountMeasure initialize(int v); operator int() const; }; /// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. @@ -12124,11 +11806,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcCurvatureMeasure : public express::DeclaredType { public: - IfcCurvatureMeasure() {} - explicit IfcCurvatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcCurvatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. @@ -12139,11 +11820,10 @@ public: /// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. class IFC_PARSE_API IfcDate : public express::DeclaredType { public: - IfcDate() {} - explicit IfcDate (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDate initialize(std::string v); operator std::string() const; }; /// This lexical representation is the [ISO 8601] extended @@ -12166,11 +11846,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDateTime : public express::DeclaredType { public: - IfcDateTime() {} - explicit IfcDateTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDateTime initialize(std::string v); operator std::string() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -12187,11 +11866,10 @@ public: /// ValidRange added. class IFC_PARSE_API IfcDayInMonthNumber : public express::DeclaredType { public: - IfcDayInMonthNumber() {} - explicit IfcDayInMonthNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInMonthNumber initialize(int v); operator int() const; }; /// Definition from IAI: The IfcDayInWeekNumber is @@ -12230,11 +11908,10 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDayInWeekNumber : public express::DeclaredType { public: - IfcDayInWeekNumber() {} - explicit IfcDayInWeekNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDayInWeekNumber initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. @@ -12245,11 +11922,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcDescriptiveMeasure : public express::DeclaredType { public: - IfcDescriptiveMeasure() {} - explicit IfcDescriptiveMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDescriptiveMeasure initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. @@ -12261,11 +11937,10 @@ public: /// HISTORY New Type in IFC Release 1.5 class IFC_PARSE_API IfcDimensionCount : public express::DeclaredType { public: - IfcDimensionCount() {} - explicit IfcDimensionCount (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcDimensionCount initialize(int v); operator int() const; }; /// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. @@ -12275,11 +11950,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcDoseEquivalentMeasure : public express::DeclaredType { public: - IfcDoseEquivalentMeasure() {} - explicit IfcDoseEquivalentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDoseEquivalentMeasure initialize(double v); operator double() const; }; /// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". @@ -12289,11 +11963,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcDuration : public express::DeclaredType { public: - IfcDuration() {} - explicit IfcDuration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcDuration initialize(std::string v); operator std::string() const; }; /// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. @@ -12304,11 +11977,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcDynamicViscosityMeasure : public express::DeclaredType { public: - IfcDynamicViscosityMeasure() {} - explicit IfcDynamicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcDynamicViscosityMeasure initialize(double v); operator double() const; }; /// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. @@ -12318,11 +11990,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricCapacitanceMeasure : public express::DeclaredType { public: - IfcElectricCapacitanceMeasure() {} - explicit IfcElectricCapacitanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCapacitanceMeasure initialize(double v); operator double() const; }; /// IfcElectricChargeMeasure is a measure of the electric charge. @@ -12332,11 +12003,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricChargeMeasure : public express::DeclaredType { public: - IfcElectricChargeMeasure() {} - explicit IfcElectricChargeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricChargeMeasure initialize(double v); operator double() const; }; /// IfcElectricConductanceMeasure is a measure of the electric conductance. @@ -12346,11 +12016,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricConductanceMeasure : public express::DeclaredType { public: - IfcElectricConductanceMeasure() {} - explicit IfcElectricConductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricConductanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. @@ -12362,11 +12031,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcElectricCurrentMeasure : public express::DeclaredType { public: - IfcElectricCurrentMeasure() {} - explicit IfcElectricCurrentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricCurrentMeasure initialize(double v); operator double() const; }; /// IfcElectricResistanceMeasure is a measure of the electric resistance. @@ -12376,11 +12044,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcElectricResistanceMeasure : public express::DeclaredType { public: - IfcElectricResistanceMeasure() {} - explicit IfcElectricResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricResistanceMeasure initialize(double v); operator double() const; }; /// IfcElectricVoltageMeasure is a measure of electromotive force. @@ -12390,11 +12057,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcElectricVoltageMeasure : public express::DeclaredType { public: - IfcElectricVoltageMeasure() {} - explicit IfcElectricVoltageMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcElectricVoltageMeasure initialize(double v); operator double() const; }; /// IfcEnergyMeasure is a measure of energy required or used. @@ -12404,11 +12070,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcEnergyMeasure : public express::DeclaredType { public: - IfcEnergyMeasure() {} - explicit IfcEnergyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcEnergyMeasure initialize(double v); operator double() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes @@ -12427,11 +12092,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontStyle : public express::DeclaredType { public: - IfcFontStyle() {} - explicit IfcFontStyle (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontStyle initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: @@ -12448,11 +12112,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcFontVariant : public express::DeclaredType { public: - IfcFontVariant() {} - explicit IfcFontVariant (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontVariant initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The 'font-weight' property selects the weight of the font. The values '100' to '900' form an ordered sequence, where each number indicates a weight that is at least as dark as its predecessor. The keyword 'normal' is synonymous with '400', and 'bold' is synonymous with '700'. Keywords other than 'normal' and 'bold' have been shown to be often confused with font names and a numerical scale was therefore chosen for the 9-value list. Values are: @@ -12480,11 +12143,10 @@ public: /// HISTORY  New type in IFC2x2 Addendum 2. class IFC_PARSE_API IfcFontWeight : public express::DeclaredType { public: - IfcFontWeight() {} - explicit IfcFontWeight (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcFontWeight initialize(std::string v); operator std::string() const; }; /// IfcForceMeasure is a measure of the force. @@ -12494,11 +12156,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcForceMeasure : public express::DeclaredType { public: - IfcForceMeasure() {} - explicit IfcForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcForceMeasure initialize(double v); operator double() const; }; /// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. @@ -12508,11 +12169,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcFrequencyMeasure : public express::DeclaredType { public: - IfcFrequencyMeasure() {} - explicit IfcFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcFrequencyMeasure initialize(double v); operator double() const; }; /// An IfcGloballyUniqueId holds an encoded string identifier that is used to uniquely identify an IFC object. An IfcGloballyUniqueId is a Globally @@ -12530,11 +12190,10 @@ public: /// HISTORY  New type in IFC R1.5.1. class IFC_PARSE_API IfcGloballyUniqueId : public express::DeclaredType { public: - IfcGloballyUniqueId() {} - explicit IfcGloballyUniqueId (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcGloballyUniqueId initialize(std::string v); operator std::string() const; }; /// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. @@ -12544,11 +12203,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcHeatFluxDensityMeasure : public express::DeclaredType { public: - IfcHeatFluxDensityMeasure() {} - explicit IfcHeatFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. @@ -12556,11 +12214,10 @@ public: /// HISTORY: This is new type in IFC2x2. class IFC_PARSE_API IfcHeatingValueMeasure : public express::DeclaredType { public: - IfcHeatingValueMeasure() {} - explicit IfcHeatingValueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcHeatingValueMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. @@ -12579,11 +12236,10 @@ public: /// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. class IFC_PARSE_API IfcIdentifier : public express::DeclaredType { public: - IfcIdentifier() {} - explicit IfcIdentifier (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcIdentifier initialize(std::string v); operator std::string() const; }; /// IfcIlluminanceMeasure is a measure of the illuminance. @@ -12593,11 +12249,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIlluminanceMeasure : public express::DeclaredType { public: - IfcIlluminanceMeasure() {} - explicit IfcIlluminanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIlluminanceMeasure initialize(double v); operator double() const; }; /// IfcInductanceMeasure is a measure of the inductance. @@ -12607,11 +12262,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcInductanceMeasure : public express::DeclaredType { public: - IfcInductanceMeasure() {} - explicit IfcInductanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcInductanceMeasure initialize(double v); operator double() const; }; /// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. @@ -12623,11 +12277,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcInteger : public express::DeclaredType { public: - IfcInteger() {} - explicit IfcInteger (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcInteger initialize(int v); operator int() const; }; /// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. @@ -12639,11 +12292,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcIntegerCountRateMeasure : public express::DeclaredType { public: - IfcIntegerCountRateMeasure() {} - explicit IfcIntegerCountRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcIntegerCountRateMeasure initialize(int v); operator int() const; }; /// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. @@ -12651,11 +12303,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcIonConcentrationMeasure : public express::DeclaredType { public: - IfcIonConcentrationMeasure() {} - explicit IfcIonConcentrationMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIonConcentrationMeasure initialize(double v); operator double() const; }; /// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. @@ -12665,11 +12316,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcIsothermalMoistureCapacityMeasure : public express::DeclaredType { public: - IfcIsothermalMoistureCapacityMeasure() {} - explicit IfcIsothermalMoistureCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcIsothermalMoistureCapacityMeasure initialize(double v); operator double() const; }; /// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. @@ -12679,11 +12329,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcKinematicViscosityMeasure : public express::DeclaredType { public: - IfcKinematicViscosityMeasure() {} - explicit IfcKinematicViscosityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcKinematicViscosityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. @@ -12702,11 +12351,10 @@ public: /// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. class IFC_PARSE_API IfcLabel : public express::DeclaredType { public: - IfcLabel() {} - explicit IfcLabel (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLabel initialize(std::string v); operator std::string() const; }; /// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. @@ -12721,11 +12369,10 @@ public: /// HISTORY  New defined datatype in IFC2x4. class IFC_PARSE_API IfcLanguageId : public IfcIdentifier { public: - IfcLanguageId() {} - explicit IfcLanguageId (const std::weak_ptr& data) : IfcIdentifier(data) {} + using IfcIdentifier::IfcIdentifier; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcLanguageId initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. @@ -12737,21 +12384,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLengthMeasure : public express::DeclaredType { public: - IfcLengthMeasure() {} - explicit IfcLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLengthMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcLineIndex : public express::DeclaredType { public: - IfcLineIndex() {} - explicit IfcLineIndex (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< int > /*[2:?]*/ v); + IfcLineIndex initialize(std::vector< int > /*[2:?]*/ v); operator std::vector< int > /*[2:?]*/() const; }; /// IfcLinearForceMeasure is a measure of linear force. @@ -12761,11 +12406,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearForceMeasure : public express::DeclaredType { public: - IfcLinearForceMeasure() {} - explicit IfcLinearForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearForceMeasure initialize(double v); operator double() const; }; /// IfcLinearMomentMeasure is a measure of linear moment. @@ -12775,11 +12419,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearMomentMeasure : public express::DeclaredType { public: - IfcLinearMomentMeasure() {} - explicit IfcLinearMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearMomentMeasure initialize(double v); operator double() const; }; /// IfcLinearStiffnessMeasureA measure of linear stiffness. @@ -12789,11 +12432,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLinearStiffnessMeasure : public express::DeclaredType { public: - IfcLinearStiffnessMeasure() {} - explicit IfcLinearStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearStiffnessMeasure initialize(double v); operator double() const; }; /// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. @@ -12803,11 +12445,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcLinearVelocityMeasure : public express::DeclaredType { public: - IfcLinearVelocityMeasure() {} - explicit IfcLinearVelocityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLinearVelocityMeasure initialize(double v); operator double() const; }; /// IfcLogical& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(boost::logic::tribool v); + IfcLogical initialize(boost::logic::tribool v); operator boost::logic::tribool() const; }; /// IfcLuminousFluxMeasure is a measure of the luminous flux. @@ -12831,11 +12471,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcLuminousFluxMeasure : public express::DeclaredType { public: - IfcLuminousFluxMeasure() {} - explicit IfcLuminousFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousFluxMeasure initialize(double v); operator double() const; }; /// IfcLuminousIntensityDistributionMeasure is a measure of the luminous intensity of a light source that changes according to the direction of the ray. It is normally based on some standardized distribution light distribution curves. @@ -12847,11 +12486,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcLuminousIntensityDistributionMeasure : public express::DeclaredType { public: - IfcLuminousIntensityDistributionMeasure() {} - explicit IfcLuminousIntensityDistributionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityDistributionMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A luminous intensity measure is the value for the brightness of a body. @@ -12863,11 +12501,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcLuminousIntensityMeasure : public express::DeclaredType { public: - IfcLuminousIntensityMeasure() {} - explicit IfcLuminousIntensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcLuminousIntensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxDensityMeasure is a measure of the magnetic flux density. @@ -12877,11 +12514,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxDensityMeasure : public express::DeclaredType { public: - IfcMagneticFluxDensityMeasure() {} - explicit IfcMagneticFluxDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxDensityMeasure initialize(double v); operator double() const; }; /// IfcMagneticFluxMeasure is a measure of the magnetic flux. @@ -12891,11 +12527,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMagneticFluxMeasure : public express::DeclaredType { public: - IfcMagneticFluxMeasure() {} - explicit IfcMagneticFluxMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMagneticFluxMeasure initialize(double v); operator double() const; }; /// IfcMassDensityMeasure is a measure of the density of a medium. @@ -12905,11 +12540,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassDensityMeasure : public express::DeclaredType { public: - IfcMassDensityMeasure() {} - explicit IfcMassDensityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassDensityMeasure initialize(double v); operator double() const; }; /// IfcMassFlowRateMeasure is a measure of the mass of a medium flowing per unit time. @@ -12919,11 +12553,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMassFlowRateMeasure : public express::DeclaredType { public: - IfcMassFlowRateMeasure() {} - explicit IfcMassFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassFlowRateMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A mass measure is the value of the amount of matter that a body contains. @@ -12935,11 +12568,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcMassMeasure : public express::DeclaredType { public: - IfcMassMeasure() {} - explicit IfcMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassMeasure initialize(double v); operator double() const; }; /// IfcMassPerLengthMeasure is a measure for mass per length. For example for rolled steel profiles the weight of @@ -12951,11 +12583,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcMassPerLengthMeasure : public express::DeclaredType { public: - IfcMassPerLengthMeasure() {} - explicit IfcMassPerLengthMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMassPerLengthMeasure initialize(double v); operator double() const; }; /// IfcModulusOfElasticityMeasure is a measure of modulus of elasticity. @@ -12965,11 +12596,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcModulusOfElasticityMeasure : public express::DeclaredType { public: - IfcModulusOfElasticityMeasure() {} - explicit IfcModulusOfElasticityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfElasticityMeasure initialize(double v); operator double() const; }; /// IfcModulusOfLinearSubgradeReactionMeasure is a measure for modulus of linear subgrade reaction, which expresses the elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in N/m^2. @@ -12979,11 +12609,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcModulusOfLinearSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfLinearSubgradeReactionMeasure() {} - explicit IfcModulusOfLinearSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfLinearSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfRotationalSubgradeReactionMeasure is a measure for modulus of rotational subgrade reaction, which expresses the rotational elastic bedding of a linear structural element per length, such as for a beam. It is typically measured in Nm/(m*rad). @@ -12993,11 +12622,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfRotationalSubgradeReactionMeasure() {} - explicit IfcModulusOfRotationalSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfRotationalSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcModulusOfSubgradeReactionMeasure is a geotechnical measure describing interaction between foundation structures and the soil. May also be known as bedding measure. @@ -13011,11 +12639,10 @@ public: /// Figure 290 — Modulus of subgrade reaction measure class IFC_PARSE_API IfcModulusOfSubgradeReactionMeasure : public express::DeclaredType { public: - IfcModulusOfSubgradeReactionMeasure() {} - explicit IfcModulusOfSubgradeReactionMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcModulusOfSubgradeReactionMeasure initialize(double v); operator double() const; }; /// IfcMoistureDiffusivityMeasure is a measure of moisture diffusivity. @@ -13025,11 +12652,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMoistureDiffusivityMeasure : public express::DeclaredType { public: - IfcMoistureDiffusivityMeasure() {} - explicit IfcMoistureDiffusivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMoistureDiffusivityMeasure initialize(double v); operator double() const; }; /// IfcMolecularWeightMeasure is a measure of molecular weight of material (typically gas). @@ -13039,11 +12665,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMolecularWeightMeasure : public express::DeclaredType { public: - IfcMolecularWeightMeasure() {} - explicit IfcMolecularWeightMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMolecularWeightMeasure initialize(double v); operator double() const; }; /// IfcMomentOfInertiaMeasure is a measure of moment of inertia. @@ -13053,11 +12678,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcMomentOfInertiaMeasure : public express::DeclaredType { public: - IfcMomentOfInertiaMeasure() {} - explicit IfcMomentOfInertiaMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMomentOfInertiaMeasure initialize(double v); operator double() const; }; /// A monetary measure is the value of an amount of money without regard to its currency. @@ -13066,11 +12690,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcMonetaryMeasure : public express::DeclaredType { public: - IfcMonetaryMeasure() {} - explicit IfcMonetaryMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcMonetaryMeasure initialize(double v); operator double() const; }; /// Definition from IAI: The IfcDayInMonthNumber is @@ -13131,11 +12754,10 @@ public: /// Release 1.5.1. class IFC_PARSE_API IfcMonthInYearNumber : public express::DeclaredType { public: - IfcMonthInYearNumber() {} - explicit IfcMonthInYearNumber (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcMonthInYearNumber initialize(int v); operator int() const; }; /// A non-negative length measure is a length measure that is greater than or equal to zero. @@ -13145,11 +12767,10 @@ public: /// HISTORY New type in IFC Release 2x4. class IFC_PARSE_API IfcNonNegativeLengthMeasure : public IfcLengthMeasure { public: - IfcNonNegativeLengthMeasure() {} - explicit IfcNonNegativeLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNonNegativeLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A numeric measure is the numeric value of a physical quantity. @@ -13160,11 +12781,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNumericMeasure : public express::DeclaredType { public: - IfcNumericMeasure() {} - explicit IfcNumericMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNumericMeasure initialize(double v); operator double() const; }; /// IfcPHMeasure is a measure of the molar hydrogen ion concentration in a liquid (usually defined as the measure of acidity) in a range from 0 to 14. @@ -13172,11 +12792,10 @@ public: /// HISTORY: New type in IFC 2x2. class IFC_PARSE_API IfcPHMeasure : public express::DeclaredType { public: - IfcPHMeasure() {} - explicit IfcPHMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPHMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A parameter value is the value which specifies the amount of a @@ -13188,11 +12807,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcParameterValue : public express::DeclaredType { public: - IfcParameterValue() {} - explicit IfcParameterValue (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcParameterValue initialize(double v); operator double() const; }; /// IfcPlanarForceMeasure is a measure of force on an area. @@ -13202,11 +12820,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcPlanarForceMeasure : public express::DeclaredType { public: - IfcPlanarForceMeasure() {} - explicit IfcPlanarForceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlanarForceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A plane angle measure is the value of an angle in a plane. @@ -13222,21 +12839,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPlaneAngleMeasure : public express::DeclaredType { public: - IfcPlaneAngleMeasure() {} - explicit IfcPlaneAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPlaneAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPositiveInteger : public IfcInteger { public: - IfcPositiveInteger() {} - explicit IfcPositiveInteger (const std::weak_ptr& data) : IfcInteger(data) {} + using IfcInteger::IfcInteger; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcPositiveInteger initialize(int v); operator int() const; }; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. @@ -13247,11 +12862,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveLengthMeasure : public IfcLengthMeasure { public: - IfcPositiveLengthMeasure() {} - explicit IfcPositiveLengthMeasure (const std::weak_ptr& data) : IfcLengthMeasure(data) {} + using IfcLengthMeasure::IfcLengthMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveLengthMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: Positive plane angle measure is a plane angle measure that is greater than zero. @@ -13262,11 +12876,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositivePlaneAngleMeasure : public IfcPlaneAngleMeasure { public: - IfcPositivePlaneAngleMeasure() {} - explicit IfcPositivePlaneAngleMeasure (const std::weak_ptr& data) : IfcPlaneAngleMeasure(data) {} + using IfcPlaneAngleMeasure::IfcPlaneAngleMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositivePlaneAngleMeasure initialize(double v); operator double() const; }; /// IfcPowerMeasure is a measure of power required or used. @@ -13276,11 +12889,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPowerMeasure : public express::DeclaredType { public: - IfcPowerMeasure() {} - explicit IfcPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPowerMeasure initialize(double v); operator double() const; }; /// IfcPresentableText is a text string used to capture the content of a text literal for the purpose of presentation. The IfcPresentableText can include multiple lines of text, for which the line feed character LF, 0x0A, should be used to separate lines. @@ -13294,11 +12906,10 @@ public: /// HISTORY  New type in IFC2x2. class IFC_PARSE_API IfcPresentableText : public express::DeclaredType { public: - IfcPresentableText() {} - explicit IfcPresentableText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcPresentableText initialize(std::string v); operator std::string() const; }; /// IfcPressureMeasure is a measure of the quantity of a medium acting on a unit area. @@ -13308,21 +12919,19 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcPressureMeasure : public express::DeclaredType { public: - IfcPressureMeasure() {} - explicit IfcPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPressureMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcPropertySetDefinitionSet : public express::DeclaredType { public: - IfcPropertySetDefinitionSet() {} - explicit IfcPropertySetDefinitionSet (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v); + IfcPropertySetDefinitionSet initialize(std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v); operator std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition >() const; }; /// IfcRadioActivityMeasure is a measure of activity of radionuclide. @@ -13332,11 +12941,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRadioActivityMeasure : public express::DeclaredType { public: - IfcRadioActivityMeasure() {} - explicit IfcRadioActivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRadioActivityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two @@ -13351,11 +12959,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcRatioMeasure : public express::DeclaredType { public: - IfcRatioMeasure() {} - explicit IfcRatioMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRatioMeasure initialize(double v); operator double() const; }; /// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. @@ -13367,11 +12974,10 @@ public: /// HISTORY: New type in IFC Release 1.5.1. class IFC_PARSE_API IfcReal : public express::DeclaredType { public: - IfcReal() {} - explicit IfcReal (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcReal initialize(double v); operator double() const; }; /// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. @@ -13381,11 +12987,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalFrequencyMeasure : public express::DeclaredType { public: - IfcRotationalFrequencyMeasure() {} - explicit IfcRotationalFrequencyMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalFrequencyMeasure initialize(double v); operator double() const; }; /// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. @@ -13396,11 +13001,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcRotationalMassMeasure : public express::DeclaredType { public: - IfcRotationalMassMeasure() {} - explicit IfcRotationalMassMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalMassMeasure initialize(double v); operator double() const; }; /// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. @@ -13410,11 +13014,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcRotationalStiffnessMeasure : public express::DeclaredType { public: - IfcRotationalStiffnessMeasure() {} - explicit IfcRotationalStiffnessMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcRotationalStiffnessMeasure initialize(double v); operator double() const; }; /// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. @@ -13424,11 +13027,10 @@ public: /// HISTORY New type in IFC Release 2x2. class IFC_PARSE_API IfcSectionModulusMeasure : public express::DeclaredType { public: - IfcSectionModulusMeasure() {} - explicit IfcSectionModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionModulusMeasure initialize(double v); operator double() const; }; /// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. @@ -13438,11 +13040,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSectionalAreaIntegralMeasure : public express::DeclaredType { public: - IfcSectionalAreaIntegralMeasure() {} - explicit IfcSectionalAreaIntegralMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSectionalAreaIntegralMeasure initialize(double v); operator double() const; }; /// IfcShearModulusMeasure is a measure of shear modulus. @@ -13452,11 +13053,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcShearModulusMeasure : public express::DeclaredType { public: - IfcShearModulusMeasure() {} - explicit IfcShearModulusMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcShearModulusMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. @@ -13468,21 +13068,19 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcSolidAngleMeasure : public express::DeclaredType { public: - IfcSolidAngleMeasure() {} - explicit IfcSolidAngleMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSolidAngleMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPowerLevelMeasure : public express::DeclaredType { public: - IfcSoundPowerLevelMeasure() {} - explicit IfcSoundPowerLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerLevelMeasure initialize(double v); operator double() const; }; /// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. @@ -13492,21 +13090,19 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPowerMeasure : public express::DeclaredType { public: - IfcSoundPowerMeasure() {} - explicit IfcSoundPowerMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPowerMeasure initialize(double v); operator double() const; }; class IFC_PARSE_API IfcSoundPressureLevelMeasure : public express::DeclaredType { public: - IfcSoundPressureLevelMeasure() {} - explicit IfcSoundPressureLevelMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureLevelMeasure initialize(double v); operator double() const; }; /// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. @@ -13516,11 +13112,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcSoundPressureMeasure : public express::DeclaredType { public: - IfcSoundPressureMeasure() {} - explicit IfcSoundPressureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSoundPressureMeasure initialize(double v); operator double() const; }; /// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. @@ -13530,11 +13125,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcSpecificHeatCapacityMeasure : public express::DeclaredType { public: - IfcSpecificHeatCapacityMeasure() {} - explicit IfcSpecificHeatCapacityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecificHeatCapacityMeasure initialize(double v); operator double() const; }; /// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. @@ -13546,11 +13140,10 @@ public: /// HISTORY: New type in IFC2x2. class IFC_PARSE_API IfcSpecularExponent : public express::DeclaredType { public: - IfcSpecularExponent() {} - explicit IfcSpecularExponent (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularExponent initialize(double v); operator double() const; }; /// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. @@ -13564,21 +13157,19 @@ public: /// HISTORY: New type in Release IFC2x2. class IFC_PARSE_API IfcSpecularRoughness : public express::DeclaredType { public: - IfcSpecularRoughness() {} - explicit IfcSpecularRoughness (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcSpecularRoughness initialize(double v); operator double() const; }; class IFC_PARSE_API IfcStrippedOptional : public express::DeclaredType { public: - IfcStrippedOptional() {} - explicit IfcStrippedOptional (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(bool v); + IfcStrippedOptional initialize(bool v); operator bool() const; }; /// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. @@ -13588,11 +13179,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcTemperatureGradientMeasure : public express::DeclaredType { public: - IfcTemperatureGradientMeasure() {} - explicit IfcTemperatureGradientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureGradientMeasure initialize(double v); operator double() const; }; /// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). @@ -13602,11 +13192,10 @@ public: /// HISTORY  New type in IFC2x4. class IFC_PARSE_API IfcTemperatureRateOfChangeMeasure : public express::DeclaredType { public: - IfcTemperatureRateOfChangeMeasure() {} - explicit IfcTemperatureRateOfChangeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTemperatureRateOfChangeMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. @@ -13622,11 +13211,10 @@ public: /// Note that while IfcText is not formally restricted in length, the size of a string in ISO 10303-21:2002 conforming exchange files must not exceed 32767 octets after encoding and escaping. class IFC_PARSE_API IfcText : public express::DeclaredType { public: - IfcText() {} - explicit IfcText (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcText initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how text is aligned within the element. The actual justification algorithm used is user agent and human language dependent. If 'justify' is not supported, the user agent will supply a replacement. Typically, this will be 'left' for western languages. Values are: @@ -13641,11 +13229,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextAlignment : public express::DeclaredType { public: - IfcTextAlignment() {} - explicit IfcTextAlignment (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextAlignment initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes decorations that are added to the text of an element. A value of 'blink' causes the text to blink.. Values are: @@ -13663,11 +13250,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextDecoration : public express::DeclaredType { public: - IfcTextDecoration() {} - explicit IfcTextDecoration (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextDecoration initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: @@ -13691,11 +13277,10 @@ public: /// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. class IFC_PARSE_API IfcTextFontName : public express::DeclaredType { public: - IfcTextFontName() {} - explicit IfcTextFontName (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextFontName initialize(std::string v); operator std::string() const; }; /// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: @@ -13710,11 +13295,10 @@ public: /// HISTORY  New type in IFC2x3. class IFC_PARSE_API IfcTextTransformation : public express::DeclaredType { public: - IfcTextTransformation() {} - explicit IfcTextTransformation (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTextTransformation initialize(std::string v); operator std::string() const; }; /// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. @@ -13724,11 +13308,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalAdmittanceMeasure : public express::DeclaredType { public: - IfcThermalAdmittanceMeasure() {} - explicit IfcThermalAdmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalAdmittanceMeasure initialize(double v); operator double() const; }; /// IfcThermalConductivityMeasure is a measure of thermal conductivity. @@ -13738,11 +13321,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcThermalConductivityMeasure : public express::DeclaredType { public: - IfcThermalConductivityMeasure() {} - explicit IfcThermalConductivityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalConductivityMeasure initialize(double v); operator double() const; }; /// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. @@ -13751,11 +13333,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcThermalExpansionCoefficientMeasure : public express::DeclaredType { public: - IfcThermalExpansionCoefficientMeasure() {} - explicit IfcThermalExpansionCoefficientMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalExpansionCoefficientMeasure initialize(double v); operator double() const; }; /// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. @@ -13764,11 +13345,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalResistanceMeasure : public express::DeclaredType { public: - IfcThermalResistanceMeasure() {} - explicit IfcThermalResistanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalResistanceMeasure initialize(double v); operator double() const; }; /// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. @@ -13778,11 +13358,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcThermalTransmittanceMeasure : public express::DeclaredType { public: - IfcThermalTransmittanceMeasure() {} - explicit IfcThermalTransmittanceMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermalTransmittanceMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. @@ -13794,11 +13373,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcThermodynamicTemperatureMeasure : public express::DeclaredType { public: - IfcThermodynamicTemperatureMeasure() {} - explicit IfcThermodynamicTemperatureMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcThermodynamicTemperatureMeasure initialize(double v); operator double() const; }; /// The lexical representation for time is the left truncated @@ -13811,11 +13389,10 @@ public: /// HISTORY: New type in IFC2x4 class IFC_PARSE_API IfcTime : public express::DeclaredType { public: - IfcTime() {} - explicit IfcTime (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcTime initialize(std::string v); operator std::string() const; }; /// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. @@ -13827,11 +13404,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeMeasure : public express::DeclaredType { public: - IfcTimeMeasure() {} - explicit IfcTimeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTimeMeasure initialize(double v); operator double() const; }; /// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. @@ -13840,11 +13416,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcTimeStamp : public express::DeclaredType { public: - IfcTimeStamp() {} - explicit IfcTimeStamp (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(int v); + IfcTimeStamp initialize(int v); operator int() const; }; /// IfcTorqueMeasure is a measure of the torque or moment of a couple. @@ -13854,11 +13429,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcTorqueMeasure : public express::DeclaredType { public: - IfcTorqueMeasure() {} - explicit IfcTorqueMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcTorqueMeasure initialize(double v); operator double() const; }; /// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). @@ -13870,11 +13444,10 @@ public: /// HISTORY New defined datatype in IFC 2x4. class IFC_PARSE_API IfcURIReference : public express::DeclaredType { public: - IfcURIReference() {} - explicit IfcURIReference (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcURIReference initialize(std::string v); operator std::string() const; }; /// IfcVaporPermeabilityMeasure is a measure of vapor permeability. @@ -13884,11 +13457,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcVaporPermeabilityMeasure : public express::DeclaredType { public: - IfcVaporPermeabilityMeasure() {} - explicit IfcVaporPermeabilityMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVaporPermeabilityMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. @@ -13900,11 +13472,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcVolumeMeasure : public express::DeclaredType { public: - IfcVolumeMeasure() {} - explicit IfcVolumeMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumeMeasure initialize(double v); operator double() const; }; /// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. @@ -13914,11 +13485,10 @@ public: /// HISTORY New type in IFC Release 2.0. class IFC_PARSE_API IfcVolumetricFlowRateMeasure : public express::DeclaredType { public: - IfcVolumetricFlowRateMeasure() {} - explicit IfcVolumetricFlowRateMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcVolumetricFlowRateMeasure initialize(double v); operator double() const; }; /// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. @@ -13928,11 +13498,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingConstantMeasure : public express::DeclaredType { public: - IfcWarpingConstantMeasure() {} - explicit IfcWarpingConstantMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingConstantMeasure initialize(double v); operator double() const; }; /// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. @@ -13942,11 +13511,10 @@ public: /// HISTORY New type in IFC2x2. class IFC_PARSE_API IfcWarpingMomentMeasure : public express::DeclaredType { public: - IfcWarpingMomentMeasure() {} - explicit IfcWarpingMomentMeasure (const std::weak_ptr& data) : express::DeclaredType(data) {} + using express::DeclaredType::DeclaredType; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcWarpingMomentMeasure initialize(double v); operator double() const; }; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: @@ -13976,11 +13544,10 @@ public: /// IFC2x3 CHANGE  The IfcBoxAlignment has been added. class IFC_PARSE_API IfcBoxAlignment : public IfcLabel { public: - IfcBoxAlignment() {} - explicit IfcBoxAlignment (const std::weak_ptr& data) : IfcLabel(data) {} + using IfcLabel::IfcLabel; static const ifcopenshell::type_declaration& Class(); - void initialize(std::string v); + IfcBoxAlignment initialize(std::string v); operator std::string() const; }; /// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. @@ -13990,11 +13557,10 @@ public: /// HISTORY New type in IFC Release 2x. class IFC_PARSE_API IfcNormalisedRatioMeasure : public IfcRatioMeasure { public: - IfcNormalisedRatioMeasure() {} - explicit IfcNormalisedRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcNormalisedRatioMeasure initialize(double v); operator double() const; }; /// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. @@ -14005,11 +13571,10 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcPositiveRatioMeasure : public IfcRatioMeasure { public: - IfcPositiveRatioMeasure() {} - explicit IfcPositiveRatioMeasure (const std::weak_ptr& data) : IfcRatioMeasure(data) {} + using IfcRatioMeasure::IfcRatioMeasure; static const ifcopenshell::type_declaration& Class(); - void initialize(double v); + IfcPositiveRatioMeasure initialize(double v); operator double() const; }; @@ -14026,8 +13591,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcActorRole : public express::Entity { public: - IfcActorRole() {} - explicit IfcActorRole (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. @@ -14045,7 +13609,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); + IfcActorRole initialize(::Ifc4x3_tc1::IfcRoleEnum::Value v1_Role, std::optional< std::string > v2_UserDefinedRole, std::optional< std::string > v3_Description); }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -14054,8 +13618,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcAddress : public express::Entity { public: - IfcAddress() {} - explicit IfcAddress (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identifies the logical location of the address. std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > Purpose() const; @@ -14073,13 +13636,12 @@ public: std::vector< IfcOrganization > OfOrganization() const; // INVERSE IfcOrganization::Addresses static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); + IfcAddress initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose); }; class IFC_PARSE_API IfcAlignmentParameterSegment : public express::Entity { public: - IfcAlignmentParameterSegment() {} - explicit IfcAlignmentParameterSegment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > StartTag() const; void setStartTag(const std::optional< std::string >& v); @@ -14087,13 +13649,12 @@ public: void setEndTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); + IfcAlignmentParameterSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag); }; class IFC_PARSE_API IfcAlignmentVerticalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentVerticalSegment() {} - explicit IfcAlignmentVerticalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -14111,15 +13672,14 @@ public: void setPredefinedType(const ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentVerticalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartHeight, double v6_StartGradient, double v7_EndGradient, std::optional< double > v8_RadiusOfCurvature, ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType); }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcApplication : public express::Entity { public: - IfcApplication() {} - explicit IfcApplication (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the application developer, being requested to be member of the IAI. ::Ifc4x3_tc1::IfcOrganization ApplicationDeveloper() const; @@ -14135,7 +13695,7 @@ public: void setApplicationIdentifier(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); + IfcApplication initialize(::Ifc4x3_tc1::IfcOrganization v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -14153,8 +13713,7 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IFC_PARSE_API IfcAppliedValue : public express::Entity { public: - IfcAppliedValue() {} - explicit IfcAppliedValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name or additional clarification given to a cost value. std::optional< std::string > Name() const; @@ -14193,7 +13752,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components); + IfcAppliedValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components); }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -14202,8 +13761,7 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IFC_PARSE_API IfcApproval : public express::Entity { public: - IfcApproval() {} - explicit IfcApproval (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A computer interpretable identifier by which the approval is known. std::optional< std::string > Identifier() const; @@ -14245,7 +13803,7 @@ public: std::vector< IfcApprovalRelationship > Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_tc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_tc1::IfcActorSelect v9_GivingApproval); + IfcApproval initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_TimeOfApproval, std::optional< std::string > v5_Status, std::optional< std::string > v6_Level, std::optional< std::string > v7_Qualifier, ::Ifc4x3_tc1::IfcActorSelect v8_RequestingApproval, ::Ifc4x3_tc1::IfcActorSelect v9_GivingApproval); }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -14264,15 +13822,14 @@ public: /// 2. class IFC_PARSE_API IfcBoundaryCondition : public express::Entity { public: - IfcBoundaryCondition() {} - explicit IfcBoundaryCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this boundary condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcBoundaryCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14286,8 +13843,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - IfcBoundaryEdgeCondition() {} - explicit IfcBoundaryEdgeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; @@ -14309,7 +13865,7 @@ public: void setRotationalStiffnessByLengthZ(const ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v2_TranslationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v3_TranslationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v5_RotationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v6_RotationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect v7_RotationalStiffnessByLengthZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14323,8 +13879,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - IfcBoundaryFaceCondition() {} - explicit IfcBoundaryFaceCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; @@ -14337,7 +13892,7 @@ public: void setTranslationalStiffnessByAreaZ(const ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v2_TranslationalStiffnessByAreaX, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v3_TranslationalStiffnessByAreaY, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect v4_TranslationalStiffnessByAreaZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -14351,8 +13906,7 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - IfcBoundaryNodeCondition() {} - explicit IfcBoundaryNodeCondition (const std::weak_ptr& data) : IfcBoundaryCondition(data) {} + using IfcBoundaryCondition::IfcBoundaryCondition; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; @@ -14374,7 +13928,7 @@ public: void setRotationalStiffnessZ(const ::Ifc4x3_tc1::IfcRotationalStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ); }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -14387,15 +13941,14 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IFC_PARSE_API IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - IfcBoundaryNodeConditionWarping() {} - explicit IfcBoundaryNodeConditionWarping (const std::weak_ptr& data) : IfcBoundaryNodeCondition(data) {} + using IfcBoundaryNodeCondition::IfcBoundaryNodeCondition; /// Defines the warping stiffness value. ::Ifc4x3_tc1::IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(const ::Ifc4x3_tc1::IfcWarpingStiffnessSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_tc1::IfcWarpingStiffnessSelect v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect v7_RotationalStiffnessZ, ::Ifc4x3_tc1::IfcWarpingStiffnessSelect v8_WarpingStiffness); }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -14413,12 +13966,11 @@ public: /// IFC2x Edition 3 CHANGE  The definition of the subtypes has been enhanced by allowing either geometric representation items (point | curve | surface) or topological representation items with associated geometry (vertex point | edge curve | face  surface). class IFC_PARSE_API IfcConnectionGeometry : public express::Entity { public: - IfcConnectionGeometry() {} - explicit IfcConnectionGeometry (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcConnectionGeometry initialize(); }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -14438,8 +13990,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connect. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute. If both point coordinates are not identical within a common parent coordinate system (ultimately within the world coordinate system), the subtype IfcConnectionPointEccentricity shall be used. class IFC_PARSE_API IfcConnectionPointGeometry : public IfcConnectionGeometry { public: - IfcConnectionPointGeometry() {} - explicit IfcConnectionPointGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_tc1::IfcPointOrVertexPoint PointOnRelatingElement() const; @@ -14449,7 +14000,7 @@ public: void setPointOnRelatedElement(const ::Ifc4x3_tc1::IfcPointOrVertexPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement); + IfcConnectionPointGeometry initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement); }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -14461,8 +14012,7 @@ public: /// The IfcSurface (or the IfcFaceSurface with an associated IfcSurface) at the SurfaceOnRelatingElement attribute defines the surface where the basic geometry items of the connected elements connects. The surface geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnectsSubtype that utilizes the IfcConnectionSurfaceGeometry. Optionally, the same surface geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the SurfaceOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: - IfcConnectionSurfaceGeometry() {} - explicit IfcConnectionSurfaceGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; @@ -14472,7 +14022,7 @@ public: void setSurfaceOnRelatedElement(const ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry initialize(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface v2_SurfaceOnRelatedElement); }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. /// @@ -14482,8 +14032,7 @@ public: /// The IfcSolidModel (or the IfcClosedShell) at the VolumeOnRelatingElement attribute defines the volume where the basic geometry items of the interfering elements overlap. The volume geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the subtypes of the relationship IfcRelConnects that utilizes the IfcConnectionSurfaceGeometry. Optionally, the samevolume geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the VolumeOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: - IfcConnectionVolumeGeometry() {} - explicit IfcConnectionVolumeGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. ::Ifc4x3_tc1::IfcSolidOrShell VolumeOnRelatingElement() const; @@ -14493,7 +14042,7 @@ public: void setVolumeOnRelatedElement(const ::Ifc4x3_tc1::IfcSolidOrShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_tc1::IfcSolidOrShell v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry initialize(::Ifc4x3_tc1::IfcSolidOrShell v1_VolumeOnRelatingElement, ::Ifc4x3_tc1::IfcSolidOrShell v2_VolumeOnRelatedElement); }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. /// @@ -14509,8 +14058,7 @@ public: /// A constraint may also have additional external information (such as classification or document information) associated to it by IfcExternalReferenceRelationship, accessible through inverse attribute IfcConstraint.HasExternalReferences class IFC_PARSE_API IfcConstraint : public express::Entity { public: - IfcConstraint() {} - explicit IfcConstraint (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; @@ -14540,7 +14088,7 @@ public: std::vector< IfcResourceConstraintRelationship > PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); + IfcConstraint initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -14590,8 +14138,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateOperation : public express::Entity { public: - IfcCoordinateOperation() {} - explicit IfcCoordinateOperation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Source coordinate reference system for the operation. ::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect SourceCRS() const; @@ -14601,7 +14148,7 @@ public: void setTargetCRS(const ::Ifc4x3_tc1::IfcCoordinateReferenceSystem& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS); + IfcCoordinateOperation initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS); }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -14627,8 +14174,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcCoordinateReferenceSystem : public express::Entity { public: - IfcCoordinateReferenceSystem() {} - explicit IfcCoordinateReferenceSystem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. @@ -14653,7 +14199,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum); }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -14699,12 +14245,11 @@ public: /// In the absence of any well-defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. class IFC_PARSE_API IfcCostValue : public IfcAppliedValue { public: - IfcCostValue() {} - explicit IfcCostValue (const std::weak_ptr& data) : IfcAppliedValue(data) {} + using IfcAppliedValue::IfcAppliedValue; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components); + IfcCostValue initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect v3_AppliedValue, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_UnitBasis, std::optional< std::string > v5_ApplicableDate, std::optional< std::string > v6_FixedUntilDate, std::optional< std::string > v7_Category, std::optional< std::string > v8_Condition, std::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_Components); }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -14715,8 +14260,7 @@ public: /// HISTORY: New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnit : public express::Entity { public: - IfcDerivedUnit() {} - explicit IfcDerivedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The group of units and their exponents that define the derived unit. std::vector< ::Ifc4x3_tc1::IfcDerivedUnitElement > Elements() const; @@ -14730,7 +14274,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); + IfcDerivedUnit initialize(std::vector< ::Ifc4x3_tc1::IfcDerivedUnitElement > v1_Elements, ::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v2_UnitType, std::optional< std::string > v3_UserDefinedType, std::optional< std::string > v4_Name); }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -14743,8 +14287,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDerivedUnitElement : public express::Entity { public: - IfcDerivedUnitElement() {} - explicit IfcDerivedUnitElement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The fixed quantity which is used as the mathematical factor. ::Ifc4x3_tc1::IfcNamedUnit Unit() const; @@ -14754,7 +14297,7 @@ public: void setExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcNamedUnit v1_Unit, int v2_Exponent); + IfcDerivedUnitElement initialize(::Ifc4x3_tc1::IfcNamedUnit v1_Unit, int v2_Exponent); }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -14775,8 +14318,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcDimensionalExponents : public express::Entity { public: - IfcDimensionalExponents() {} - explicit IfcDimensionalExponents (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The power of the length base quantity. int LengthExponent() const; @@ -14801,7 +14343,7 @@ public: void setLuminousIntensityExponent(const int& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); + IfcDimensionalExponents initialize(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -14811,12 +14353,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcExternalInformation : public express::Entity { public: - IfcExternalInformation() {} - explicit IfcExternalInformation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcExternalInformation initialize(); }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a /// dictionary entry, a classification notation, or a document reference within the external source. @@ -14829,8 +14370,7 @@ public: /// HISTORY New entity in IFC2x. class IFC_PARSE_API IfcExternalReference : public express::Entity { public: - IfcExternalReference() {} - explicit IfcExternalReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// @@ -14854,7 +14394,7 @@ public: std::vector< IfcExternalReferenceRelationship > ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternalReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -14866,12 +14406,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedHatchStyle : public IfcExternalReference { public: - IfcExternallyDefinedHatchStyle() {} - explicit IfcExternallyDefinedHatchStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedHatchStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -14882,12 +14421,11 @@ public: /// IFC2x3 CHANGE  The spelling has been corrected from IfcExternallyDefinedSufaceStyle with no upward compatibility. class IFC_PARSE_API IfcExternallyDefinedSurfaceStyle : public IfcExternalReference { public: - IfcExternallyDefinedSurfaceStyle() {} - explicit IfcExternallyDefinedSurfaceStyle (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedSurfaceStyle initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -14898,12 +14436,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcExternallyDefinedTextFont : public IfcExternalReference { public: - IfcExternallyDefinedTextFont() {} - explicit IfcExternallyDefinedTextFont (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); + IfcExternallyDefinedTextFont initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name); }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -14930,8 +14467,7 @@ public: /// Figure 242 — Grid axis class IFC_PARSE_API IfcGridAxis : public express::Entity { public: - IfcGridAxis() {} - explicit IfcGridAxis (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The tag or name for this grid axis. std::optional< std::string > AxisTag() const; @@ -14948,15 +14484,14 @@ public: std::vector< IfcVirtualGridIntersection > HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_tc1::IfcCurve v2_AxisCurve, bool v3_SameSense); + IfcGridAxis initialize(std::optional< std::string > v1_AxisTag, ::Ifc4x3_tc1::IfcCurve v2_AxisCurve, bool v3_SameSense); }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeriesValue : public express::Entity { public: - IfcIrregularTimeSeriesValue() {} - explicit IfcIrregularTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The specification of the time point. std::string TimeStamp() const; @@ -14966,7 +14501,7 @@ public: void setListValues(const std::vector< ::Ifc4x3_tc1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_tc1::IfcValue > v2_ListValues); + IfcIrregularTimeSeriesValue initialize(std::string v1_TimeStamp, std::vector< ::Ifc4x3_tc1::IfcValue > v2_ListValues); }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -14978,8 +14513,7 @@ public: /// IFC2x4 CHANGE  Location attribute added, HasLibraryReferences inverse attribute added (previous LibraryReference changed to inverse). class IFC_PARSE_API IfcLibraryInformation : public IfcExternalInformation { public: - IfcLibraryInformation() {} - explicit IfcLibraryInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// The name which is used to identify the library. std::string Name() const; @@ -15006,7 +14540,7 @@ public: std::vector< IfcLibraryReference > HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_tc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); + IfcLibraryInformation initialize(std::string v1_Name, std::optional< std::string > v2_Version, ::Ifc4x3_tc1::IfcActorSelect v3_Publisher, std::optional< std::string > v4_VersionDate, std::optional< std::string > v5_Location, std::optional< std::string > v6_Description); }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. /// @@ -15017,8 +14551,7 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IFC_PARSE_API IfcLibraryReference : public IfcExternalReference { public: - IfcLibraryReference() {} - explicit IfcLibraryReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Additional description provided for the library reference. /// @@ -15036,7 +14569,7 @@ public: std::vector< IfcRelAssociatesLibrary > LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_tc1::IfcLibraryInformation v6_ReferencedLibrary); + IfcLibraryReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_Language, ::Ifc4x3_tc1::IfcLibraryInformation v6_ReferencedLibrary); }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the /// @@ -15055,8 +14588,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightDistributionData : public express::Entity { public: - IfcLightDistributionData() {} - explicit IfcLightDistributionData (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; @@ -15071,15 +14603,14 @@ public: void setLuminousIntensity(const std::vector< double > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData initialize(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// /// New entity in IFC2x2. class IFC_PARSE_API IfcLightIntensityDistribution : public express::Entity { public: - IfcLightIntensityDistribution() {} - explicit IfcLightIntensityDistribution (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. ::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value LightDistributionCurve() const; @@ -15089,7 +14620,7 @@ public: void setDistributionData(const std::vector< ::Ifc4x3_tc1::IfcLightDistributionData >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_tc1::IfcLightDistributionData > v2_DistributionData); + IfcLightIntensityDistribution initialize(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, std::vector< ::Ifc4x3_tc1::IfcLightDistributionData > v2_DistributionData); }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -15104,8 +14635,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMapConversion : public IfcCoordinateOperation { public: - IfcMapConversion() {} - explicit IfcMapConversion (const std::weak_ptr& data) : IfcCoordinateOperation(data) {} + using IfcCoordinateOperation::IfcCoordinateOperation; /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis @@ -15138,7 +14668,7 @@ public: void setScaleZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); + IfcMapConversion initialize(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, std::optional< double > v6_XAxisAbscissa, std::optional< double > v7_XAxisOrdinate, std::optional< double > v8_Scale, std::optional< double > v9_ScaleY, std::optional< double > v10_ScaleZ); }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -15147,8 +14677,7 @@ public: /// IFC2x4 CHANGE The entity IfcMaterialClassificationRelationship is deprecated since IFC2x4 and shall no longer be used. Use IfcExternalReferenceRelationship instead. class IFC_PARSE_API IfcMaterialClassificationRelationship : public express::Entity { public: - IfcMaterialClassificationRelationship() {} - explicit IfcMaterialClassificationRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The material classifications identifying the type of material. std::vector< ::Ifc4x3_tc1::IfcClassificationSelect > MaterialClassifications() const; @@ -15158,7 +14687,7 @@ public: void setClassifiedMaterial(const ::Ifc4x3_tc1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial v2_ClassifiedMaterial); + IfcMaterialClassificationRelationship initialize(std::vector< ::Ifc4x3_tc1::IfcClassificationSelect > v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial v2_ClassifiedMaterial); }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -15186,15 +14715,14 @@ public: /// HISTORY New entity in IFC2x4 class IFC_PARSE_API IfcMaterialDefinition : public express::Entity { public: - IfcMaterialDefinition() {} - explicit IfcMaterialDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects std::vector< IfcMaterialProperties > HasProperties() const; // INVERSE IfcMaterialProperties::Material static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialDefinition initialize(); }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -15221,8 +14749,7 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IFC_PARSE_API IfcMaterialLayer : public IfcMaterialDefinition { public: - IfcMaterialLayer() {} - explicit IfcMaterialLayer (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. ::Ifc4x3_tc1::IfcMaterial Material() const; @@ -15256,7 +14783,7 @@ public: std::vector< IfcMaterialLayerSet > ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); + IfcMaterialLayer initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority); }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. /// @@ -15293,8 +14820,7 @@ public: /// Figure 285 — Material layer set class IFC_PARSE_API IfcMaterialLayerSet : public IfcMaterialDefinition { public: - IfcMaterialLayerSet() {} - explicit IfcMaterialLayerSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Identification of the layers from which the material layer set is composed. std::vector< ::Ifc4x3_tc1::IfcMaterialLayer > MaterialLayers() const; @@ -15309,7 +14835,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); + IfcMaterialLayerSet initialize(std::vector< ::Ifc4x3_tc1::IfcMaterialLayer > v1_MaterialLayers, std::optional< std::string > v2_LayerSetName, std::optional< std::string > v3_Description); }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -15356,8 +14882,7 @@ public: /// Figure 289 — Material layer with offsets class IFC_PARSE_API IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: - IfcMaterialLayerWithOffsets() {} - explicit IfcMaterialLayerWithOffsets (const std::weak_ptr& data) : IfcMaterialLayer(data) {} + using IfcMaterialLayer::IfcMaterialLayer; /// Orientation of the offset; shall be perpendicular to the parent layer set direction. ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value OffsetDirection() const; @@ -15367,7 +14892,7 @@ public: void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets initialize(::Ifc4x3_tc1::IfcMaterial v1_Material, double v2_LayerThickness, std::optional< boost::logic::tribool > v3_IsVentilated, std::optional< std::string > v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Category, std::optional< int > v7_Priority, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -15388,15 +14913,14 @@ public: /// be used. Use IfcMaterialConstituentSet instead. class IFC_PARSE_API IfcMaterialList : public express::Entity { public: - IfcMaterialList() {} - explicit IfcMaterialList (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Materials used in a composition of substances. std::vector< ::Ifc4x3_tc1::IfcMaterial > Materials() const; void setMaterials(const std::vector< ::Ifc4x3_tc1::IfcMaterial >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcMaterial > v1_Materials); + IfcMaterialList initialize(std::vector< ::Ifc4x3_tc1::IfcMaterial > v1_Materials); }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -15405,8 +14929,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialProfile : public IfcMaterialDefinition { public: - IfcMaterialProfile() {} - explicit IfcMaterialProfile (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile is known. std::optional< std::string > Name() const; @@ -15429,7 +14952,7 @@ public: std::vector< IfcMaterialProfileSet > ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); + IfcMaterialProfile initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category); }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. /// @@ -15438,8 +14961,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSet : public IfcMaterialDefinition { public: - IfcMaterialProfileSet() {} - explicit IfcMaterialProfileSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material profile set is known. std::optional< std::string > Name() const; @@ -15458,7 +14980,7 @@ public: void setCompositeProfile(const ::Ifc4x3_tc1::IfcCompositeProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_tc1::IfcCompositeProfileDef v4_CompositeProfile); + IfcMaterialProfileSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcMaterialProfile > v3_MaterialProfiles, ::Ifc4x3_tc1::IfcCompositeProfileDef v4_CompositeProfile); }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -15467,15 +14989,14 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: - IfcMaterialProfileWithOffsets() {} - explicit IfcMaterialProfileWithOffsets (const std::weak_ptr& data) : IfcMaterialProfile(data) {} + using IfcMaterialProfile::IfcMaterialProfile; /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; void setOffsetValues(const std::vector< double > /*[1:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, ::Ifc4x3_tc1::IfcProfileDef v4_Profile, std::optional< int > v5_Priority, std::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -15510,13 +15031,12 @@ public: /// occurrence. class IFC_PARSE_API IfcMaterialUsageDefinition : public express::Entity { public: - IfcMaterialUsageDefinition() {} - explicit IfcMaterialUsageDefinition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcRelAssociatesMaterial > AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(); + IfcMaterialUsageDefinition initialize(); }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -15530,8 +15050,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcMeasureWithUnit : public express::Entity { public: - IfcMeasureWithUnit() {} - explicit IfcMeasureWithUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The value of the physical quantity when expressed in the specified units. ::Ifc4x3_tc1::IfcValue ValueComponent() const; @@ -15541,7 +15060,7 @@ public: void setUnitComponent(const ::Ifc4x3_tc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcValue v1_ValueComponent, ::Ifc4x3_tc1::IfcUnit v2_UnitComponent); + IfcMeasureWithUnit initialize(::Ifc4x3_tc1::IfcValue v1_ValueComponent, ::Ifc4x3_tc1::IfcUnit v2_UnitComponent); }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -15597,8 +15116,7 @@ public: /// This constraint (instantiated as IfcMetric) uses a Date/Time value in IfcMetric.DataValue through IfcMetricValueSelect. An appropriate benchmark is applied according to the requirement of the constraint (as indicated) by IfcMetric.Benchmark. The grade of the constraint (hard, soft, advisory) must be specified through IfcConstraint.ConstraintGrade whilst the time at which the constraint is created may be optionally asserted through IfcConstraint.CreationTime. class IFC_PARSE_API IfcMetric : public IfcConstraint { public: - IfcMetric() {} - explicit IfcMetric (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// Enumeration that identifies the type of benchmark data. ::Ifc4x3_tc1::IfcBenchmarkEnum::Value Benchmark() const; @@ -15613,7 +15131,7 @@ public: void setReferencePath(const ::Ifc4x3_tc1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_tc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_tc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_tc1::IfcReference v11_ReferencePath); + IfcMetric initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_tc1::IfcBenchmarkEnum::Value v8_Benchmark, std::optional< std::string > v9_ValueSource, ::Ifc4x3_tc1::IfcMetricValueSelect v10_DataValue, ::Ifc4x3_tc1::IfcReference v11_ReferencePath); }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -15622,15 +15140,14 @@ public: /// IFC2x4 CHANGE: Type of the attribute Currency changed. class IFC_PARSE_API IfcMonetaryUnit : public express::Entity { public: - IfcMonetaryUnit() {} - explicit IfcMonetaryUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; void setCurrency(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Currency); + IfcMonetaryUnit initialize(std::string v1_Currency); }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -15639,8 +15156,7 @@ public: /// HISTORY New type in IFC Release 1.5.1. class IFC_PARSE_API IfcNamedUnit : public express::Entity { public: - IfcNamedUnit() {} - explicit IfcNamedUnit (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The dimensional exponents of the SI base units by which the named unit is defined. ::Ifc4x3_tc1::IfcDimensionalExponents Dimensions() const; @@ -15650,7 +15166,7 @@ public: void setUnitType(const ::Ifc4x3_tc1::IfcUnitEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType); + IfcNamedUnit initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType); }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -15665,8 +15181,7 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcObjectPlacement : public express::Entity { public: - IfcObjectPlacement() {} - explicit IfcObjectPlacement (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; ::Ifc4x3_tc1::IfcObjectPlacement PlacementRelTo() const; void setPlacementRelTo(const ::Ifc4x3_tc1::IfcObjectPlacement& v); @@ -15674,7 +15189,7 @@ public: std::vector< IfcObjectPlacement > ReferencedByPlacements() const; // INVERSE IfcObjectPlacement::PlacementRelTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo); + IfcObjectPlacement initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo); }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -15687,8 +15202,7 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IFC_PARSE_API IfcObjective : public IfcConstraint { public: - IfcObjective() {} - explicit IfcObjective (const std::weak_ptr& data) : IfcConstraint(data) {} + using IfcConstraint::IfcConstraint; /// A list of any benchmark values used for comparison purposes. std::optional< std::vector< ::Ifc4x3_tc1::IfcConstraint > > BenchmarkValues() const; @@ -15703,7 +15217,7 @@ public: void setUserDefinedQualifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_tc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_tc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); + IfcObjective initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, std::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect v5_CreatingActor, std::optional< std::string > v6_CreationTime, std::optional< std::string > v7_UserDefinedGrade, std::optional< std::vector< ::Ifc4x3_tc1::IfcConstraint > > v8_BenchmarkValues, std::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_tc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, std::optional< std::string > v11_UserDefinedQualifier); }; /// A named and structured grouping with a corporate identity. /// @@ -15715,8 +15229,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IFC_PARSE_API IfcOrganization : public express::Entity { public: - IfcOrganization() {} - explicit IfcOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the organization. std::optional< std::string > Identification() const; @@ -15739,7 +15252,7 @@ public: std::vector< IfcPersonAndOrganization > Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v5_Addresses); + IfcOrganization initialize(std::optional< std::string > v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v4_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v5_Addresses); }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -15753,8 +15266,7 @@ public: /// If both LastModifiedDate and ChangeAction are asserted, then the state of ChangeAction applies to the value asserted in LastModifiedDate. class IFC_PARSE_API IfcOwnerHistory : public express::Entity { public: - IfcOwnerHistory() {} - explicit IfcOwnerHistory (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. ::Ifc4x3_tc1::IfcPersonAndOrganization OwningUser() const; @@ -15782,7 +15294,7 @@ public: void setCreationDate(const int& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_tc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_tc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_tc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory initialize(::Ifc4x3_tc1::IfcPersonAndOrganization v1_OwningUser, ::Ifc4x3_tc1::IfcApplication v2_OwningApplication, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v3_State, std::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v4_ChangeAction, std::optional< int > v5_LastModifiedDate, ::Ifc4x3_tc1::IfcPersonAndOrganization v6_LastModifyingUser, ::Ifc4x3_tc1::IfcApplication v7_LastModifyingApplication, int v8_CreationDate); }; /// Definition: an individual human being. /// @@ -15795,8 +15307,7 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IFC_PARSE_API IfcPerson : public express::Entity { public: - IfcPerson() {} - explicit IfcPerson (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Identification of the person. std::optional< std::string > Identification() const; @@ -15831,7 +15342,7 @@ public: std::vector< IfcPersonAndOrganization > EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v8_Addresses); + IfcPerson initialize(std::optional< std::string > v1_Identification, std::optional< std::string > v2_FamilyName, std::optional< std::string > v3_GivenName, std::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, std::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, std::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v7_Roles, std::optional< std::vector< ::Ifc4x3_tc1::IfcAddress > > v8_Addresses); }; /// Definition: Identification of a person within an organization. /// @@ -15840,8 +15351,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1 class IFC_PARSE_API IfcPersonAndOrganization : public express::Entity { public: - IfcPersonAndOrganization() {} - explicit IfcPersonAndOrganization (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The person who is related to the organization. ::Ifc4x3_tc1::IfcPerson ThePerson() const; @@ -15854,7 +15364,7 @@ public: void setRoles(const std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPerson v1_ThePerson, ::Ifc4x3_tc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v3_Roles); + IfcPersonAndOrganization initialize(::Ifc4x3_tc1::IfcPerson v1_ThePerson, ::Ifc4x3_tc1::IfcOrganization v2_TheOrganization, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorRole > > v3_Roles); }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -15863,8 +15373,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcPhysicalQuantity : public express::Entity { public: - IfcPhysicalQuantity() {} - explicit IfcPhysicalQuantity (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; @@ -15876,7 +15385,7 @@ public: std::vector< IfcPhysicalComplexQuantity > PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description); + IfcPhysicalQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description); }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -15889,23 +15398,21 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalSimpleQuantity() {} - explicit IfcPhysicalSimpleQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. ::Ifc4x3_tc1::IfcNamedUnit Unit() const; void setUnit(const ::Ifc4x3_tc1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit); + IfcPhysicalSimpleQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit); }; /// Definition: The address for delivery of paper based mail. /// /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcPostalAddress : public IfcAddress { public: - IfcPostalAddress() {} - explicit IfcPostalAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// An organization defined address for internal mail delivery. std::optional< std::string > InternalLocation() const; @@ -15936,17 +15443,16 @@ public: void setCountry(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); + IfcPostalAddress initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::string > v4_InternalLocation, std::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, std::optional< std::string > v6_PostalBox, std::optional< std::string > v7_Town, std::optional< std::string > v8_Region, std::optional< std::string > v9_PostalCode, std::optional< std::string > v10_Country); }; class IFC_PARSE_API IfcPresentationItem : public express::Entity { public: - IfcPresentationItem() {} - explicit IfcPresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPresentationItem initialize(); }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -15965,8 +15471,7 @@ public: /// Figure 305 — Presentation layer assignment class IFC_PARSE_API IfcPresentationLayerAssignment : public express::Entity { public: - IfcPresentationLayerAssignment() {} - explicit IfcPresentationLayerAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the layer. std::string Name() const; @@ -15982,7 +15487,7 @@ public: void setIdentifier(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); + IfcPresentationLayerAssignment initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier); }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -15999,8 +15504,7 @@ public: /// IFC2x3 CHANGE  The attributes have been modified without upward compatibility. class IFC_PARSE_API IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: - IfcPresentationLayerWithStyle() {} - explicit IfcPresentationLayerWithStyle (const std::weak_ptr& data) : IfcPresentationLayerAssignment(data) {} + using IfcPresentationLayerAssignment::IfcPresentationLayerAssignment; /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. boost::logic::tribool LayerOn() const; @@ -16020,7 +15524,7 @@ public: void setLayerStyles(const std::vector< ::Ifc4x3_tc1::IfcPresentationStyle >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v8_LayerStyles); + IfcPresentationLayerWithStyle initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcLayeredItem > v3_AssignedItems, std::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v8_LayerStyles); }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -16029,15 +15533,14 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcPresentationStyle : public express::Entity { public: - IfcPresentationStyle() {} - explicit IfcPresentationStyle (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Name of the presentation style. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcPresentationStyle initialize(std::optional< std::string > v1_Name); }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -16058,8 +15561,7 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IFC_PARSE_API IfcProductRepresentation : public express::Entity { public: - IfcProductRepresentation() {} - explicit IfcProductRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The word or group of words by which the product representation is known. std::optional< std::string > Name() const; @@ -16072,7 +15574,7 @@ public: void setRepresentations(const std::vector< ::Ifc4x3_tc1::IfcRepresentation >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations); + IfcProductRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations); }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -16246,8 +15748,7 @@ public: /// are tracked by the inverse attribute HasProperties. class IFC_PARSE_API IfcProfileDef : public express::Entity { public: - IfcProfileDef() {} - explicit IfcProfileDef (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. ::Ifc4x3_tc1::IfcProfileTypeEnum::Value ProfileType() const; @@ -16259,7 +15760,7 @@ public: std::vector< IfcProfileProperties > HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); + IfcProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName); }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -16286,8 +15787,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - IfcProjectedCRS() {} - explicit IfcProjectedCRS (const std::weak_ptr& data) : IfcCoordinateReferenceSystem(data) {} + using IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem; /// Name by which the map projection is identified. /// @@ -16307,18 +15807,17 @@ public: void setMapUnit(const ::Ifc4x3_tc1::IfcNamedUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_tc1::IfcNamedUnit v7_MapUnit); + IfcProjectedCRS initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_GeodeticDatum, std::optional< std::string > v4_VerticalDatum, std::optional< std::string > v5_MapProjection, std::optional< std::string > v6_MapZone, ::Ifc4x3_tc1::IfcNamedUnit v7_MapUnit); }; class IFC_PARSE_API IfcPropertyAbstraction : public express::Entity { public: - IfcPropertyAbstraction() {} - explicit IfcPropertyAbstraction (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(); + IfcPropertyAbstraction initialize(); }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -16368,8 +15867,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. Entity has been renamed from IfcEnumeration in IFC Release 2x. class IFC_PARSE_API IfcPropertyEnumeration : public IfcPropertyAbstraction { public: - IfcPropertyEnumeration() {} - explicit IfcPropertyEnumeration (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name of this enumeration. std::string Name() const; @@ -16382,7 +15880,7 @@ public: void setUnit(const ::Ifc4x3_tc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< ::Ifc4x3_tc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit v3_Unit); + IfcPropertyEnumeration initialize(std::string v1_Name, std::vector< ::Ifc4x3_tc1::IfcValue > v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit v3_Unit); }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16391,8 +15889,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: - IfcQuantityArea() {} - explicit IfcQuantityArea (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Area measure value of this quantity. double AreaValue() const; @@ -16404,7 +15901,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); + IfcQuantityArea initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_AreaValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16413,8 +15910,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: - IfcQuantityCount() {} - explicit IfcQuantityCount (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Count measure value of this quantity. int CountValue() const; @@ -16426,7 +15922,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); + IfcQuantityCount initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, int v4_CountValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16435,8 +15931,7 @@ public: /// HISTORY  New entity in IFC Release 2.x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: - IfcQuantityLength() {} - explicit IfcQuantityLength (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Length measure value of this quantity. double LengthValue() const; @@ -16448,13 +15943,12 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); + IfcQuantityLength initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_LengthValue, std::optional< std::string > v5_Formula); }; class IFC_PARSE_API IfcQuantityNumber : public IfcPhysicalSimpleQuantity { public: - IfcQuantityNumber() {} - explicit IfcQuantityNumber (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; double NumberValue() const; void setNumberValue(const double& v); @@ -16462,7 +15956,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); + IfcQuantityNumber initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_NumberValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. /// @@ -16471,8 +15965,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: - IfcQuantityTime() {} - explicit IfcQuantityTime (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Time measure value of this quantity. double TimeValue() const; @@ -16484,7 +15977,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); + IfcQuantityTime initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_TimeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16493,8 +15986,7 @@ public: /// HISTORY New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: - IfcQuantityVolume() {} - explicit IfcQuantityVolume (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Volume measure value of this quantity. double VolumeValue() const; @@ -16506,7 +15998,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); + IfcQuantityVolume initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_VolumeValue, std::optional< std::string > v5_Formula); }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. /// @@ -16515,8 +16007,7 @@ public: /// HISTORY  New entity in IFC2x. It replaces the calcXxx attributes used in previous IFC Releases. class IFC_PARSE_API IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: - IfcQuantityWeight() {} - explicit IfcQuantityWeight (const std::weak_ptr& data) : IfcPhysicalSimpleQuantity(data) {} + using IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity; /// Mass measure value of this quantity. double WeightValue() const; @@ -16528,7 +16019,7 @@ public: void setFormula(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); + IfcQuantityWeight initialize(std::string v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit v3_Unit, double v4_WeightValue, std::optional< std::string > v5_Formula); }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. /// @@ -16538,8 +16029,7 @@ public: /// IfcRecurrencePattern supports various recurrence patterns that are differentiated by a type definition (IfcRecurrencePattern.RecurrenceType), which is required to provide the meaning of the given values. It can be further constrained by applicable times through specified IfcTimePeriod instances, thus enabling time periods such as between 7:00 and 12:00 and between 13:00 and 17:00 for each of the applicable days, weeks or months. class IFC_PARSE_API IfcRecurrencePattern : public express::Entity { public: - IfcRecurrencePattern() {} - explicit IfcRecurrencePattern (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Defines the recurrence type that gives meaning to the used /// attributes and decides about possible attribute @@ -16580,13 +16070,12 @@ public: void setTimePeriods(const std::optional< std::vector< ::Ifc4x3_tc1::IfcTimePeriod > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_tc1::IfcTimePeriod > > v8_TimePeriods); + IfcRecurrencePattern initialize(::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value v1_RecurrenceType, std::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, std::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, std::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, std::optional< int > v5_Position, std::optional< int > v6_Interval, std::optional< int > v7_Occurrences, std::optional< std::vector< ::Ifc4x3_tc1::IfcTimePeriod > > v8_TimePeriods); }; class IFC_PARSE_API IfcReference : public express::Entity { public: - IfcReference() {} - explicit IfcReference (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::optional< std::string > TypeIdentifier() const; void setTypeIdentifier(const std::optional< std::string >& v); @@ -16600,7 +16089,7 @@ public: void setInnerReference(const ::Ifc4x3_tc1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_tc1::IfcReference v5_InnerReference); + IfcReference initialize(std::optional< std::string > v1_TypeIdentifier, std::optional< std::string > v2_AttributeIdentifier, std::optional< std::string > v3_InstanceName, std::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, ::Ifc4x3_tc1::IfcReference v5_InnerReference); }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -16650,8 +16139,7 @@ public: /// supertype. class IFC_PARSE_API IfcRepresentation : public express::Entity { public: - IfcRepresentation() {} - explicit IfcRepresentation (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Definition of the representation context for which the different subtypes of representation are valid. ::Ifc4x3_tc1::IfcRepresentationContext ContextOfItems() const; @@ -16671,7 +16159,7 @@ public: std::vector< IfcProductRepresentation > OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); + IfcRepresentation initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -16685,8 +16173,7 @@ public: /// IFC2x2. class IFC_PARSE_API IfcRepresentationContext : public express::Entity { public: - IfcRepresentationContext() {} - explicit IfcRepresentationContext (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The optional identifier of the representation context as used within a project. std::optional< std::string > ContextIdentifier() const; @@ -16697,7 +16184,7 @@ public: std::vector< IfcRepresentation > RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); + IfcRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType); }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -16733,14 +16220,13 @@ public: /// IFC2x3 CHANGE  The inverse attributes StyledByItem and LayerAssignments have been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcRepresentationItem : public express::Entity { public: - IfcRepresentationItem() {} - explicit IfcRepresentationItem (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< IfcPresentationLayerAssignment > LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems std::vector< IfcStyledItem > StyledByItem() const; // INVERSE IfcStyledItem::Item static const ifcopenshell::entity& Class(); - void initialize(); + IfcRepresentationItem initialize(); }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -16755,8 +16241,7 @@ public: /// HISTORY  New entity in IFC Release 2x. class IFC_PARSE_API IfcRepresentationMap : public express::Entity { public: - IfcRepresentationMap() {} - explicit IfcRepresentationMap (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An axis2 placement that defines the position about which the mapped /// representation is mapped. @@ -16769,15 +16254,14 @@ public: std::vector< IfcMappedItem > MapUsage() const; // INVERSE IfcMappedItem::MappingSource static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_tc1::IfcRepresentation v2_MappedRepresentation); + IfcRepresentationMap initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_MappingOrigin, ::Ifc4x3_tc1::IfcRepresentation v2_MappedRepresentation); }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcResourceLevelRelationship : public express::Entity { public: - IfcResourceLevelRelationship() {} - explicit IfcResourceLevelRelationship (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A name used to identify or qualify the relationship. std::optional< std::string > Name() const; @@ -16787,7 +16271,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); + IfcResourceLevelRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description); }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -16800,8 +16284,7 @@ public: /// IFC2x4 CHANGE The attribute OwnerHistory has been made OPTIONAL. class IFC_PARSE_API IfcRoot : public express::Entity { public: - IfcRoot() {} - explicit IfcRoot (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; @@ -16821,7 +16304,7 @@ public: void setDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRoot initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). /// @@ -16832,8 +16315,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcSIUnit : public IfcNamedUnit { public: - IfcSIUnit() {} - explicit IfcSIUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The SI Prefix for defining decimal multiples and submultiples of the unit. std::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > Prefix() const; @@ -16845,15 +16327,14 @@ public: void setName(const ::Ifc4x3_tc1::IfcSIUnitName::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_tc1::IfcSIUnitName::Value v4_Name); + IfcSIUnit initialize(::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_tc1::IfcSIUnitName::Value v4_Name); }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcSchedulingTime : public express::Entity { public: - IfcSchedulingTime() {} - explicit IfcSchedulingTime (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optional name for the time definition. std::optional< std::string > Name() const; @@ -16867,7 +16348,7 @@ public: void setUserDefinedDataOrigin(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); + IfcSchedulingTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin); }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -16908,8 +16389,7 @@ public: /// RepresentationMaps attribute. class IFC_PARSE_API IfcShapeAspect : public express::Entity { public: - IfcShapeAspect() {} - explicit IfcShapeAspect (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility @@ -16933,7 +16413,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_tc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); + IfcShapeAspect initialize(std::vector< ::Ifc4x3_tc1::IfcShapeModel > v1_ShapeRepresentations, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_tc1::IfcProductRepresentationSelect v5_PartOfProductDefinitionShape); }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -16955,13 +16435,12 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcShapeModel : public IfcRepresentation { public: - IfcShapeModel() {} - explicit IfcShapeModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; std::vector< IfcShapeAspect > OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); + IfcShapeModel initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -17100,42 +16579,39 @@ public: /// IFC2x4 CHANGE  The RepresentationType's 'Curve3D', 'Surface2D', 'Surface3D', 'AdvancedBrep', 'LightSource', and the RepresentationIdentifier 'Lighting' have been added. class IFC_PARSE_API IfcShapeRepresentation : public IfcShapeModel { public: - IfcShapeRepresentation() {} - explicit IfcShapeRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); + IfcShapeRepresentation initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describe more rarely needed connection properties. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnectionCondition : public express::Entity { public: - IfcStructuralConnectionCondition() {} - explicit IfcStructuralConnectionCondition (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this connection condition. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralConnectionCondition initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoad : public express::Entity { public: - IfcStructuralLoad() {} - explicit IfcStructuralLoad (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Optionally defines a name for this load. std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoad initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -17150,8 +16626,7 @@ public: /// NOTE  There are no ordering requirements in the 2-dimensional case, but the 1-dimensional case shall be spatially ordered for simplicity. class IFC_PARSE_API IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: - IfcStructuralLoadConfiguration() {} - explicit IfcStructuralLoadConfiguration (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; /// List of load or result values. std::vector< ::Ifc4x3_tc1::IfcStructuralLoadOrResult > Values() const; @@ -17161,31 +16636,29 @@ public: void setLocations(const std::optional< std::vector< std::vector< double > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); + IfcStructuralLoadConfiguration initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcStructuralLoadOrResult > v2_Values, std::optional< std::vector< std::vector< double > > > v3_Locations); }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// /// HISTORY: New abstract superclass in IFC 2x4, upwards compatibility of all subtypes is preserved. class IFC_PARSE_API IfcStructuralLoadOrResult : public IfcStructuralLoad { public: - IfcStructuralLoadOrResult() {} - explicit IfcStructuralLoadOrResult (const std::weak_ptr& data) : IfcStructuralLoad(data) {} + using IfcStructuralLoad::IfcStructuralLoad; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadOrResult initialize(std::optional< std::string > v1_Name); }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadStatic : public IfcStructuralLoadOrResult { public: - IfcStructuralLoadStatic() {} - explicit IfcStructuralLoadStatic (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcStructuralLoadStatic initialize(std::optional< std::string > v1_Name); }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -17194,8 +16667,7 @@ public: /// Figure 332 — Structural load temperature class IFC_PARSE_API IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - IfcStructuralLoadTemperature() {} - explicit IfcStructuralLoadTemperature (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// @@ -17214,7 +16686,7 @@ public: void setDeltaTZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); + IfcStructuralLoadTemperature initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DeltaTConstant, std::optional< double > v3_DeltaTY, std::optional< double > v4_DeltaTZ); }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -17223,12 +16695,11 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcStyleModel : public IfcRepresentation { public: - IfcStyleModel() {} - explicit IfcStyleModel (const std::weak_ptr& data) : IfcRepresentation(data) {} + using IfcRepresentation::IfcRepresentation; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); + IfcStyleModel initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -17260,8 +16731,7 @@ public: /// Figure 293 — Styled item class IFC_PARSE_API IfcStyledItem : public IfcRepresentationItem { public: - IfcStyledItem() {} - explicit IfcStyledItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A geometric representation item to which the style is assigned. /// @@ -17281,7 +16751,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); + IfcStyledItem initialize(::Ifc4x3_tc1::IfcRepresentationItem v1_Item, std::vector< ::Ifc4x3_tc1::IfcPresentationStyle > v2_Styles, std::optional< std::string > v3_Name); }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. /// @@ -17292,12 +16762,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcStyledRepresentation : public IfcStyleModel { public: - IfcStyledRepresentation() {} - explicit IfcStyledRepresentation (const std::weak_ptr& data) : IfcStyleModel(data) {} + using IfcStyleModel::IfcStyleModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); + IfcStyledRepresentation initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -17306,8 +16775,7 @@ public: /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - IfcSurfaceReinforcementArea() {} - explicit IfcSurfaceReinforcementArea (const std::weak_ptr& data) : IfcStructuralLoadOrResult(data) {} + using IfcStructuralLoadOrResult::IfcStructuralLoadOrResult; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. std::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; @@ -17320,7 +16788,7 @@ public: void setShearReinforcement(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); + IfcSurfaceReinforcementArea initialize(std::optional< std::string > v1_Name, std::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, std::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, std::optional< double > v4_ShearReinforcement); }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -17331,8 +16799,7 @@ public: /// HISTORY New Entity in IFC 2.x. class IFC_PARSE_API IfcSurfaceStyle : public IfcPresentationStyle { public: - IfcSurfaceStyle() {} - explicit IfcSurfaceStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// An indication of which side of the surface to apply the style. ::Ifc4x3_tc1::IfcSurfaceSide::Value Side() const; @@ -17342,7 +16809,7 @@ public: void setStyles(const std::vector< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect > v3_Styles); + IfcSurfaceStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, std::vector< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect > v3_Styles); }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -17357,8 +16824,7 @@ public: /// HISTORY  New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleLighting : public IfcPresentationItem { public: - IfcSurfaceStyleLighting() {} - explicit IfcSurfaceStyleLighting (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. @@ -17378,7 +16844,7 @@ public: void setReflectanceColour(const ::Ifc4x3_tc1::IfcColourRgb& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_tc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v4_ReflectanceColour); + IfcSurfaceStyleLighting initialize(::Ifc4x3_tc1::IfcColourRgb v1_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v2_DiffuseReflectionColour, ::Ifc4x3_tc1::IfcColourRgb v3_TransmissionColour, ::Ifc4x3_tc1::IfcColourRgb v4_ReflectanceColour); }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -17387,8 +16853,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - IfcSurfaceStyleRefraction() {} - explicit IfcSurfaceStyleRefraction (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 std::optional< double > RefractionIndex() const; @@ -17398,7 +16863,7 @@ public: void setDispersionFactor(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); + IfcSurfaceStyleRefraction initialize(std::optional< double > v1_RefractionIndex, std::optional< double > v2_DispersionFactor); }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -17409,8 +16874,7 @@ public: /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleShading : public IfcPresentationItem { public: - IfcSurfaceStyleShading() {} - explicit IfcSurfaceStyleShading (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. ::Ifc4x3_tc1::IfcColourRgb SurfaceColour() const; @@ -17419,7 +16883,7 @@ public: void setTransparency(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); + IfcSurfaceStyleShading initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency); }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -17441,15 +16905,14 @@ public: /// IFC2x3 CHANGE  inverse attribute HasTextureCoordinates deleted. class IFC_PARSE_API IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: - IfcSurfaceStyleWithTextures() {} - explicit IfcSurfaceStyleWithTextures (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > Textures() const; void setTextures(const std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Textures); + IfcSurfaceStyleWithTextures initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Textures); }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -17545,8 +17008,7 @@ public: /// IFC2x4 CHANGE  Attribute TextureType replaces by Mode, attributes Parameter and MapsTo aded, new inverse attribute UsedInStyle. class IFC_PARSE_API IfcSurfaceTexture : public IfcPresentationItem { public: - IfcSurfaceTexture() {} - explicit IfcSurfaceTexture (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; @@ -17578,7 +17040,7 @@ public: std::vector< IfcSurfaceStyleWithTextures > UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -17597,8 +17059,7 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IFC_PARSE_API IfcTable : public express::Entity { public: - IfcTable() {} - explicit IfcTable (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A unique name which is intended to describe the usage of the Table. std::optional< std::string > Name() const; @@ -17611,7 +17072,7 @@ public: void setColumns(const std::optional< std::vector< ::Ifc4x3_tc1::IfcTableColumn > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableColumn > > v3_Columns); + IfcTable initialize(std::optional< std::string > v1_Name, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableRow > > v2_Rows, std::optional< std::vector< ::Ifc4x3_tc1::IfcTableColumn > > v3_Columns); }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -17620,8 +17081,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcTableColumn : public express::Entity { public: - IfcTableColumn() {} - explicit IfcTableColumn (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Table column identifier. std::optional< std::string > Identifier() const; @@ -17639,7 +17099,7 @@ public: void setReferencePath(const ::Ifc4x3_tc1::IfcReference& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit v4_Unit, ::Ifc4x3_tc1::IfcReference v5_ReferencePath); + IfcTableColumn initialize(std::optional< std::string > v1_Identifier, std::optional< std::string > v2_Name, std::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit v4_Unit, ::Ifc4x3_tc1::IfcReference v5_ReferencePath); }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -17656,8 +17116,7 @@ public: /// HISTORY  New entity in IFC R1.5. class IFC_PARSE_API IfcTableRow : public express::Entity { public: - IfcTableRow() {} - explicit IfcTableRow (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// The data value of the table cell.. std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > RowCells() const; @@ -17667,7 +17126,7 @@ public: void setIsHeading(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); + IfcTableRow initialize(std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v1_RowCells, std::optional< bool > v2_IsHeading); }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -17679,8 +17138,7 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IFC_PARSE_API IfcTaskTime : public IfcSchedulingTime { public: - IfcTaskTime() {} - explicit IfcTaskTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. @@ -17789,21 +17247,20 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); + IfcTaskTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion); }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcTaskTimeRecurring() {} - explicit IfcTaskTimeRecurring (const std::weak_ptr& data) : IfcTaskTime(data) {} + using IfcTaskTime::IfcTaskTime; ::Ifc4x3_tc1::IfcRecurrencePattern Recurrence() const; void setRecurrence(const ::Ifc4x3_tc1::IfcRecurrencePattern& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_tc1::IfcRecurrencePattern v21_Recurrence); + IfcTaskTimeRecurring initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v4_DurationType, std::optional< std::string > v5_ScheduleDuration, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_EarlyStart, std::optional< std::string > v9_EarlyFinish, std::optional< std::string > v10_LateStart, std::optional< std::string > v11_LateFinish, std::optional< std::string > v12_FreeFloat, std::optional< std::string > v13_TotalFloat, std::optional< bool > v14_IsCritical, std::optional< std::string > v15_StatusTime, std::optional< std::string > v16_ActualDuration, std::optional< std::string > v17_ActualStart, std::optional< std::string > v18_ActualFinish, std::optional< std::string > v19_RemainingTime, std::optional< double > v20_Completion, ::Ifc4x3_tc1::IfcRecurrencePattern v21_Recurrence); }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -17813,8 +17270,7 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IFC_PARSE_API IfcTelecomAddress : public IfcAddress { public: - IfcTelecomAddress() {} - explicit IfcTelecomAddress (const std::weak_ptr& data) : IfcAddress(data) {} + using IfcAddress::IfcAddress; /// The list of telephone numbers at which telephone messages may be received. std::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; @@ -17839,7 +17295,7 @@ public: void setMessagingIDs(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress initialize(std::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, std::optional< std::string > v2_Description, std::optional< std::string > v3_UserDefinedPurpose, std::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, std::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, std::optional< std::string > v6_PagerNumber, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, std::optional< std::string > v8_WWWHomePageURL, std::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -17871,8 +17327,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyle : public IfcPresentationStyle { public: - IfcTextStyle() {} - explicit IfcTextStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A character style to be used for presented text. ::Ifc4x3_tc1::IfcTextStyleForDefinedFont TextCharacterAppearance() const; @@ -17893,7 +17348,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_tc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_tc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); + IfcTextStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTextStyleForDefinedFont v2_TextCharacterAppearance, ::Ifc4x3_tc1::IfcTextStyleTextModel v3_TextStyle, ::Ifc4x3_tc1::IfcTextFontSelect v4_TextFontStyle, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -17914,8 +17369,7 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleForDefinedFont has been added and replaces IfcColour at the IfcCharacterStyleSelect. class IFC_PARSE_API IfcTextStyleForDefinedFont : public IfcPresentationItem { public: - IfcTextStyleForDefinedFont() {} - explicit IfcTextStyleForDefinedFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// This property describes the text color of an element (often referred to as the foreground color). ::Ifc4x3_tc1::IfcColour Colour() const; @@ -17925,7 +17379,7 @@ public: void setBackgroundColour(const ::Ifc4x3_tc1::IfcColour& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcColour v1_Colour, ::Ifc4x3_tc1::IfcColour v2_BackgroundColour); + IfcTextStyleForDefinedFont initialize(::Ifc4x3_tc1::IfcColour v1_Colour, ::Ifc4x3_tc1::IfcColour v2_BackgroundColour); }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. /// @@ -17936,8 +17390,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleTextModel : public IfcPresentationItem { public: - IfcTextStyleTextModel() {} - explicit IfcTextStyleTextModel (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. @@ -17969,7 +17422,7 @@ public: void setLineHeight(const ::Ifc4x3_tc1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_tc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_tc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_tc1::IfcSizeSelect v7_LineHeight); + IfcTextStyleTextModel initialize(::Ifc4x3_tc1::IfcSizeSelect v1_TextIndent, std::optional< std::string > v2_TextAlign, std::optional< std::string > v3_TextDecoration, ::Ifc4x3_tc1::IfcSizeSelect v4_LetterSpacing, ::Ifc4x3_tc1::IfcSizeSelect v5_WordSpacing, std::optional< std::string > v6_TextTransform, ::Ifc4x3_tc1::IfcSizeSelect v7_LineHeight); }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. /// @@ -17984,14 +17437,13 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IFC_PARSE_API IfcTextureCoordinate : public IfcPresentationItem { public: - IfcTextureCoordinate() {} - explicit IfcTextureCoordinate (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > Maps() const; void setMaps(const std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps); + IfcTextureCoordinate initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps); }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -18021,8 +17473,7 @@ public: /// IFC2x2 Addendum 2 CHANGE  The attribute Texturehas been deleted. class IFC_PARSE_API IfcTextureCoordinateGenerator : public IfcTextureCoordinate { public: - IfcTextureCoordinateGenerator() {} - explicit IfcTextureCoordinateGenerator (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// The Mode attribute describes the algorithm used to compute texture coordinates. /// @@ -18036,13 +17487,12 @@ public: void setParameter(const std::optional< std::vector< double > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::string v2_Mode, std::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); }; class IFC_PARSE_API IfcTextureCoordinateIndices : public express::Entity { public: - IfcTextureCoordinateIndices() {} - explicit IfcTextureCoordinateIndices (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; std::vector< int > /*[3:?]*/ TexCoordIndex() const; void setTexCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -18051,19 +17501,18 @@ public: std::vector< IfcIndexedPolygonalTextureMap > ToTexMap() const; // INVERSE IfcIndexedPolygonalTextureMap::TexCoordIndices static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf); + IfcTextureCoordinateIndices initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf); }; class IFC_PARSE_API IfcTextureCoordinateIndicesWithVoids : public IfcTextureCoordinateIndices { public: - IfcTextureCoordinateIndicesWithVoids() {} - explicit IfcTextureCoordinateIndicesWithVoids (const std::weak_ptr& data) : IfcTextureCoordinateIndices(data) {} + using IfcTextureCoordinateIndices::IfcTextureCoordinateIndices; std::vector< std::vector< int > > InnerTexCoordIndices() const; void setInnerTexCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); + IfcTextureCoordinateIndicesWithVoids initialize(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices); }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -18118,8 +17567,7 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IFC_PARSE_API IfcTextureMap : public IfcTextureCoordinate { public: - IfcTextureMap() {} - explicit IfcTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// @@ -18130,7 +17578,7 @@ public: void setMappedTo(const ::Ifc4x3_tc1::IfcFace& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_tc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_tc1::IfcFace v3_MappedTo); + IfcTextureMap initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, std::vector< ::Ifc4x3_tc1::IfcTextureVertex > v2_Vertices, ::Ifc4x3_tc1::IfcFace v3_MappedTo); }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -18161,27 +17609,25 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTextureVertex : public IfcPresentationItem { public: - IfcTextureVertex() {} - explicit IfcTextureVertex (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[2:2]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex initialize(std::vector< double > /*[2:2]*/ v1_Coordinates); }; class IFC_PARSE_API IfcTextureVertexList : public IfcPresentationItem { public: - IfcTextureVertexList() {} - explicit IfcTextureVertexList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > TexCoordsList() const; void setTexCoordsList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_TexCoordsList); + IfcTextureVertexList initialize(std::vector< std::vector< double > > v1_TexCoordsList); }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -18191,8 +17637,7 @@ public: /// A time period is defined by a start and an end time, which is defined by IfcTime. The given time period should be within reasonable values (for example, the start time must be before the end time). It is furthermore expected that both time definitions use the same time zone and, if given, the same daylight saving offset. class IFC_PARSE_API IfcTimePeriod : public express::Entity { public: - IfcTimePeriod() {} - explicit IfcTimePeriod (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Start time of the time period. std::string StartTime() const; @@ -18202,7 +17647,7 @@ public: void setEndTime(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_StartTime, std::string v2_EndTime); + IfcTimePeriod initialize(std::string v1_StartTime, std::string v2_EndTime); }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -18211,8 +17656,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTimeSeries : public express::Entity { public: - IfcTimeSeries() {} - explicit IfcTimeSeries (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// An unique name for the time series. std::string Name() const; @@ -18241,7 +17685,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit); + IfcTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit); }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -18254,15 +17698,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcTimeSeriesValue : public express::Entity { public: - IfcTimeSeriesValue() {} - explicit IfcTimeSeriesValue (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// A list of time-series values. At least one value is required. std::vector< ::Ifc4x3_tc1::IfcValue > ListValues() const; void setListValues(const std::vector< ::Ifc4x3_tc1::IfcValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcValue > v1_ListValues); + IfcTimeSeriesValue initialize(std::vector< ::Ifc4x3_tc1::IfcValue > v1_ListValues); }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -18271,12 +17714,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcTopologicalRepresentationItem : public IfcRepresentationItem { public: - IfcTopologicalRepresentationItem() {} - explicit IfcTopologicalRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTopologicalRepresentationItem initialize(); }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -18314,12 +17756,11 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcTopologyRepresentation : public IfcShapeModel { public: - IfcTopologyRepresentation() {} - explicit IfcTopologyRepresentation (const std::weak_ptr& data) : IfcShapeModel(data) {} + using IfcShapeModel::IfcShapeModel; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); + IfcTopologyRepresentation initialize(::Ifc4x3_tc1::IfcRepresentationContext v1_ContextOfItems, std::optional< std::string > v2_RepresentationIdentifier, std::optional< std::string > v3_RepresentationType, std::vector< ::Ifc4x3_tc1::IfcRepresentationItem > v4_Items); }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -18328,15 +17769,14 @@ public: /// HISTORY  New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcUnitAssignment : public express::Entity { public: - IfcUnitAssignment() {} - explicit IfcUnitAssignment (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Units to be included within a unit assignment. std::vector< ::Ifc4x3_tc1::IfcUnit > Units() const; void setUnits(const std::vector< ::Ifc4x3_tc1::IfcUnit >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcUnit > v1_Units); + IfcUnitAssignment initialize(std::vector< ::Ifc4x3_tc1::IfcUnit > v1_Units); }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -18350,12 +17790,11 @@ public: /// The extent of a vertex is defined to be zero. class IFC_PARSE_API IfcVertex : public IfcTopologicalRepresentationItem { public: - IfcVertex() {} - explicit IfcVertex (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcVertex initialize(); }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -18368,15 +17807,14 @@ public: /// The domain of the vertex is formally defined to be the domain of its vertex point. class IFC_PARSE_API IfcVertexPoint : public IfcVertex { public: - IfcVertexPoint() {} - explicit IfcVertexPoint (const std::weak_ptr& data) : IfcVertex(data) {} + using IfcVertex::IfcVertex; /// The geometric point, which defines the position in geometric space of the vertex. ::Ifc4x3_tc1::IfcPoint VertexGeometry() const; void setVertexGeometry(const ::Ifc4x3_tc1::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPoint v1_VertexGeometry); + IfcVertexPoint initialize(::Ifc4x3_tc1::IfcPoint v1_VertexGeometry); }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -18439,8 +17877,7 @@ public: /// Figure 248 — Virtual grid intersection negative offset class IFC_PARSE_API IfcVirtualGridIntersection : public express::Entity { public: - IfcVirtualGridIntersection() {} - explicit IfcVirtualGridIntersection (const std::weak_ptr& data) : express::Entity(data) {} + using express::Entity::Entity; /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. std::vector< ::Ifc4x3_tc1::IfcGridAxis > IntersectingAxes() const; @@ -18450,7 +17887,7 @@ public: void setOffsetDistances(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection initialize(std::vector< ::Ifc4x3_tc1::IfcGridAxis > v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -18462,8 +17899,7 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IFC_PARSE_API IfcWorkTime : public IfcSchedulingTime { public: - IfcWorkTime() {} - explicit IfcWorkTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by @@ -18476,13 +17912,12 @@ public: void setFinishDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); + IfcWorkTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcRecurrencePattern v4_RecurrencePattern, std::optional< std::string > v5_StartDate, std::optional< std::string > v6_FinishDate); }; class IFC_PARSE_API IfcAlignmentCantSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentCantSegment() {} - explicit IfcAlignmentCantSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; double StartDistAlong() const; void setStartDistAlong(const double& v); @@ -18500,13 +17935,12 @@ public: void setPredefinedType(const ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentCantSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, std::optional< double > v6_EndCantLeft, double v7_StartCantRight, std::optional< double > v8_EndCantRight, ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType); }; class IFC_PARSE_API IfcAlignmentHorizontalSegment : public IfcAlignmentParameterSegment { public: - IfcAlignmentHorizontalSegment() {} - explicit IfcAlignmentHorizontalSegment (const std::weak_ptr& data) : IfcAlignmentParameterSegment(data) {} + using IfcAlignmentParameterSegment::IfcAlignmentParameterSegment; ::Ifc4x3_tc1::IfcCartesianPoint StartPoint() const; void setStartPoint(const ::Ifc4x3_tc1::IfcCartesianPoint& v); @@ -18524,7 +17958,7 @@ public: void setPredefinedType(const ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_tc1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); + IfcAlignmentHorizontalSegment initialize(std::optional< std::string > v1_StartTag, std::optional< std::string > v2_EndTag, ::Ifc4x3_tc1::IfcCartesianPoint v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, std::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType); }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -18535,8 +17969,7 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IFC_PARSE_API IfcApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcApprovalRelationship() {} - explicit IfcApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The approval that other approval is related to. ::Ifc4x3_tc1::IfcApproval RelatingApproval() const; @@ -18546,7 +17979,7 @@ public: void setRelatedApprovals(const std::vector< ::Ifc4x3_tc1::IfcApproval >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_tc1::IfcApproval > v4_RelatedApprovals); + IfcApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcApproval v3_RelatingApproval, std::vector< ::Ifc4x3_tc1::IfcApproval > v4_RelatedApprovals); }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -18568,15 +18001,14 @@ public: /// Figure 307 — Arbitrary closed profile class IFC_PARSE_API IfcArbitraryClosedProfileDef : public IfcProfileDef { public: - IfcArbitraryClosedProfileDef() {} - explicit IfcArbitraryClosedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Bounded curve, defining the outer boundaries of the arbitrary profile. ::Ifc4x3_tc1::IfcCurve OuterCurve() const; void setOuterCurve(const ::Ifc4x3_tc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve); + IfcArbitraryClosedProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve); }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -18595,15 +18027,14 @@ public: /// Figure 308 — Arbitrary open profile class IFC_PARSE_API IfcArbitraryOpenProfileDef : public IfcProfileDef { public: - IfcArbitraryOpenProfileDef() {} - explicit IfcArbitraryOpenProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Open bounded curve defining the profile. ::Ifc4x3_tc1::IfcBoundedCurve Curve() const; void setCurve(const ::Ifc4x3_tc1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve); + IfcArbitraryOpenProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve); }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -18626,15 +18057,14 @@ public: /// Figure 309 — Arbitrary profile with voids class IFC_PARSE_API IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: - IfcArbitraryProfileDefWithVoids() {} - explicit IfcArbitraryProfileDefWithVoids (const std::weak_ptr& data) : IfcArbitraryClosedProfileDef(data) {} + using IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef; /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. std::vector< ::Ifc4x3_tc1::IfcCurve > InnerCurves() const; void setInnerCurves(const std::vector< ::Ifc4x3_tc1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_tc1::IfcCurve > v4_InnerCurves); + IfcArbitraryProfileDefWithVoids initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve v3_OuterCurve, std::vector< ::Ifc4x3_tc1::IfcCurve > v4_InnerCurves); }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -18647,8 +18077,7 @@ public: /// IFC2x4 CHANGE  Data type of RasterCode has been corrected to BINARY. class IFC_PARSE_API IfcBlobTexture : public IfcSurfaceTexture { public: - IfcBlobTexture() {} - explicit IfcBlobTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The format of the RasterCode often using a compression. std::string RasterFormat() const; @@ -18658,7 +18087,7 @@ public: void setRasterCode(const boost::dynamic_bitset<>& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); + IfcBlobTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode); }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. /// @@ -18691,15 +18120,14 @@ public: /// Figure 311 — Centerline profile class IFC_PARSE_API IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: - IfcCenterLineProfileDef() {} - explicit IfcCenterLineProfileDef (const std::weak_ptr& data) : IfcArbitraryOpenProfileDef(data) {} + using IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef; /// Constant thickness applied along the center line. double Thickness() const; void setThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve, double v4_Thickness); + IfcCenterLineProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve v3_Curve, double v4_Thickness); }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -18718,8 +18146,7 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IFC_PARSE_API IfcClassification : public IfcExternalInformation { public: - IfcClassification() {} - explicit IfcClassification (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; /// Source (or publisher) for this classification. /// @@ -18770,7 +18197,7 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification initialize(std::optional< std::string > v1_Source, std::optional< std::string > v2_Edition, std::optional< std::string > v3_EditionDate, std::string v4_Name, std::optional< std::string > v5_Description, std::optional< std::string > v6_Specification, std::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -18795,8 +18222,7 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IFC_PARSE_API IfcClassificationReference : public IfcExternalReference { public: - IfcClassificationReference() {} - explicit IfcClassificationReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// The classification system or source that is referenced. ::Ifc4x3_tc1::IfcClassificationReferenceSelect ReferencedSource() const; @@ -18812,19 +18238,18 @@ public: std::vector< IfcClassificationReference > HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_tc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); + IfcClassificationReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, ::Ifc4x3_tc1::IfcClassificationReferenceSelect v4_ReferencedSource, std::optional< std::string > v5_Description, std::optional< std::string > v6_Sort); }; class IFC_PARSE_API IfcColourRgbList : public IfcPresentationItem { public: - IfcColourRgbList() {} - explicit IfcColourRgbList (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; std::vector< std::vector< double > > ColourList() const; void setColourList(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_ColourList); + IfcColourRgbList initialize(std::vector< std::vector< double > > v1_ColourList); }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -18833,8 +18258,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourSpecification : public IfcPresentationItem { public: - IfcColourSpecification() {} - explicit IfcColourSpecification (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// @@ -18844,7 +18268,7 @@ public: void setName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name); + IfcColourSpecification initialize(std::optional< std::string > v1_Name); }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -18884,8 +18308,7 @@ public: ///     (single_L, IfcMirroredProfileDef(AREA, ?, single_L, ?)), 'twin profile'); class IFC_PARSE_API IfcCompositeProfileDef : public IfcProfileDef { public: - IfcCompositeProfileDef() {} - explicit IfcCompositeProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The profiles which are used to define the composite profile. std::vector< ::Ifc4x3_tc1::IfcProfileDef > Profiles() const; @@ -18895,7 +18318,7 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); + IfcCompositeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_Profiles, std::optional< std::string > v4_Label); }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -18908,15 +18331,14 @@ public: /// The union of the domains of the faces and their bounding loops shall be arcwise connected. class IFC_PARSE_API IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: - IfcConnectedFaceSet() {} - explicit IfcConnectedFaceSet (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The set of faces arcwise connected along common edges or vertices. std::vector< ::Ifc4x3_tc1::IfcFace > CfsFaces() const; void setCfsFaces(const std::vector< ::Ifc4x3_tc1::IfcFace >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces); + IfcConnectedFaceSet initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces); }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -18933,8 +18355,7 @@ public: /// The IfcCurve (or the IfcEdgeCurve with an associated IfcCurve) at the CurveOnRelatingElement attribute defines the curve where the basic geometry items of the connected elements connects. The curve geometry and coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects Subtype that utilizes the IfcConnectionCurveGeometry. Optionally, the same curve geometry and coordinates can also be provided within the local coordinate system of the RelatedElement by using the CurveOnRelatedElement attribute. class IFC_PARSE_API IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: - IfcConnectionCurveGeometry() {} - explicit IfcConnectionCurveGeometry (const std::weak_ptr& data) : IfcConnectionGeometry(data) {} + using IfcConnectionGeometry::IfcConnectionGeometry; /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. ::Ifc4x3_tc1::IfcCurveOrEdgeCurve CurveOnRelatingElement() const; @@ -18944,7 +18365,7 @@ public: void setCurveOnRelatedElement(const ::Ifc4x3_tc1::IfcCurveOrEdgeCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_tc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry initialize(::Ifc4x3_tc1::IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, ::Ifc4x3_tc1::IfcCurveOrEdgeCurve v2_CurveOnRelatedElement); }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: /// @@ -18967,8 +18388,7 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IFC_PARSE_API IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - IfcConnectionPointEccentricity() {} - explicit IfcConnectionPointEccentricity (const std::weak_ptr& data) : IfcConnectionPointGeometry(data) {} + using IfcConnectionPointGeometry::IfcConnectionPointGeometry; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. std::optional< double > EccentricityInX() const; @@ -18981,7 +18401,7 @@ public: void setEccentricityInZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity initialize(::Ifc4x3_tc1::IfcPointOrVertexPoint v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint v2_PointOnRelatedElement, std::optional< double > v3_EccentricityInX, std::optional< double > v4_EccentricityInY, std::optional< double > v5_EccentricityInZ); }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. /// @@ -18992,8 +18412,7 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IFC_PARSE_API IfcContextDependentUnit : public IfcNamedUnit { public: - IfcContextDependentUnit() {} - explicit IfcContextDependentUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; @@ -19001,7 +18420,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); + IfcContextDependentUnit initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name); }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -19052,8 +18471,7 @@ public: /// 'btu' Energy measure equal to 1055.056 J, British Thermal Unit class IFC_PARSE_API IfcConversionBasedUnit : public IfcNamedUnit { public: - IfcConversionBasedUnit() {} - explicit IfcConversionBasedUnit (const std::weak_ptr& data) : IfcNamedUnit(data) {} + using IfcNamedUnit::IfcNamedUnit; /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; @@ -19064,7 +18482,7 @@ public: std::vector< IfcExternalReferenceRelationship > HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor); + IfcConversionBasedUnit initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor); }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -19086,15 +18504,14 @@ public: ///     -459.67); class IFC_PARSE_API IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: - IfcConversionBasedUnitWithOffset() {} - explicit IfcConversionBasedUnitWithOffset (const std::weak_ptr& data) : IfcConversionBasedUnit(data) {} + using IfcConversionBasedUnit::IfcConversionBasedUnit; /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; void setConversionOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); + IfcConversionBasedUnitWithOffset initialize(::Ifc4x3_tc1::IfcDimensionalExponents v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit v4_ConversionFactor, double v5_ConversionOffset); }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -19109,8 +18526,7 @@ public: /// The source for the currency exchange is defined as an instance of IfcLibraryInformation that includes a name and a URL. class IFC_PARSE_API IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: - IfcCurrencyRelationship() {} - explicit IfcCurrencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. ::Ifc4x3_tc1::IfcMonetaryUnit RelatingMonetaryUnit() const; @@ -19131,7 +18547,7 @@ public: void setRateSource(const ::Ifc4x3_tc1::IfcLibraryInformation& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_tc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_tc1::IfcLibraryInformation v7_RateSource); + IfcCurrencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMonetaryUnit v3_RelatingMonetaryUnit, ::Ifc4x3_tc1::IfcMonetaryUnit v4_RelatedMonetaryUnit, double v5_ExchangeRate, std::optional< std::string > v6_RateDateTime, ::Ifc4x3_tc1::IfcLibraryInformation v7_RateSource); }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -19152,8 +18568,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyle : public IfcPresentationStyle { public: - IfcCurveStyle() {} - explicit IfcCurveStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect CurveFont() const; @@ -19168,7 +18583,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_tc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_tc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect v2_CurveFont, ::Ifc4x3_tc1::IfcSizeSelect v3_CurveWidth, ::Ifc4x3_tc1::IfcColour v4_CurveColour, std::optional< bool > v5_ModelOrDraughting); }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. /// @@ -19177,8 +18592,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFont : public IfcPresentationItem { public: - IfcCurveStyleFont() {} - explicit IfcCurveStyleFont (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the curve font. std::optional< std::string > Name() const; @@ -19188,7 +18602,7 @@ public: void setPatternList(const std::vector< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcCurveStyleFontPattern > v2_PatternList); + IfcCurveStyleFont initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcCurveStyleFontPattern > v2_PatternList); }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -19203,8 +18617,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - IfcCurveStyleFontAndScaling() {} - explicit IfcCurveStyleFontAndScaling (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// Name that may be assigned with the scaling of a curve font. std::optional< std::string > Name() const; @@ -19216,7 +18629,7 @@ public: void setCurveFontScaling(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); + IfcCurveStyleFontAndScaling initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveStyleFontSelect v2_CurveStyleFont, double v3_CurveFontScaling); }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -19225,8 +18638,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcCurveStyleFontPattern : public IfcPresentationItem { public: - IfcCurveStyleFontPattern() {} - explicit IfcCurveStyleFontPattern (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The length of the visible segment in the pattern definition. /// @@ -19240,7 +18652,7 @@ public: void setInvisibleSegmentLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern initialize(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -19328,8 +18740,7 @@ public: /// Figure 316 — Derived profile class IFC_PARSE_API IfcDerivedProfileDef : public IfcProfileDef { public: - IfcDerivedProfileDef() {} - explicit IfcDerivedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// The parent profile provides the origin of the transformation. ::Ifc4x3_tc1::IfcProfileDef ParentProfile() const; @@ -19342,15 +18753,14 @@ public: void setLabel(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); + IfcDerivedProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_Operator, std::optional< std::string > v5_Label); }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IFC_PARSE_API IfcDocumentInformation : public IfcExternalInformation { public: - IfcDocumentInformation() {} - explicit IfcDocumentInformation (const std::weak_ptr& data) : IfcExternalInformation(data) {} + using IfcExternalInformation::IfcExternalInformation; std::string Identification() const; void setIdentification(const std::string& v); @@ -19422,7 +18832,7 @@ public: std::vector< IfcDocumentInformationRelationship > IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_tc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status); + IfcDocumentInformation initialize(std::string v1_Identification, std::string v2_Name, std::optional< std::string > v3_Description, std::optional< std::string > v4_Location, std::optional< std::string > v5_Purpose, std::optional< std::string > v6_IntendedUse, std::optional< std::string > v7_Scope, std::optional< std::string > v8_Revision, ::Ifc4x3_tc1::IfcActorSelect v9_DocumentOwner, std::optional< std::vector< ::Ifc4x3_tc1::IfcActorSelect > > v10_Editors, std::optional< std::string > v11_CreationTime, std::optional< std::string > v12_LastRevisionTime, std::optional< std::string > v13_ElectronicFormat, std::optional< std::string > v14_ValidFrom, std::optional< std::string > v15_ValidUntil, std::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, std::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status); }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -19434,8 +18844,7 @@ public: /// This class can be used to describe relationships in which one document may reference one or more other sub documents or where a document is used as a replacement for another document (but where both the original and the replacing document need to be retained). class IFC_PARSE_API IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: - IfcDocumentInformationRelationship() {} - explicit IfcDocumentInformationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The document that acts as the parent, referencing or original document in a relationship. ::Ifc4x3_tc1::IfcDocumentInformation RelatingDocument() const; @@ -19448,7 +18857,7 @@ public: void setRelationshipType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_tc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); + IfcDocumentInformationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcDocumentInformation v3_RelatingDocument, std::vector< ::Ifc4x3_tc1::IfcDocumentInformation > v4_RelatedDocuments, std::optional< std::string > v5_RelationshipType); }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -19463,8 +18872,7 @@ public: /// Modified in IFC 2x. class IFC_PARSE_API IfcDocumentReference : public IfcExternalReference { public: - IfcDocumentReference() {} - explicit IfcDocumentReference (const std::weak_ptr& data) : IfcExternalReference(data) {} + using IfcExternalReference::IfcExternalReference; /// Description of the document reference for informational purposes. /// @@ -19477,7 +18885,7 @@ public: std::vector< IfcRelAssociatesDocument > DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcDocumentInformation v5_ReferencedDocument); + IfcDocumentReference initialize(std::optional< std::string > v1_Location, std::optional< std::string > v2_Identification, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcDocumentInformation v5_ReferencedDocument); }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -19530,8 +18938,7 @@ public: /// The extend of an edge shall be finite and nonzero. class IFC_PARSE_API IfcEdge : public IfcTopologicalRepresentationItem { public: - IfcEdge() {} - explicit IfcEdge (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Start point (vertex) of the edge. ::Ifc4x3_tc1::IfcVertex EdgeStart() const; @@ -19541,7 +18948,7 @@ public: void setEdgeEnd(const ::Ifc4x3_tc1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd); + IfcEdge initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd); }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -19578,8 +18985,7 @@ public: /// Vertex geometry shall be consistent with edge geometry. class IFC_PARSE_API IfcEdgeCurve : public IfcEdge { public: - IfcEdgeCurve() {} - explicit IfcEdgeCurve (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. ::Ifc4x3_tc1::IfcCurve EdgeGeometry() const; @@ -19589,7 +18995,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); + IfcEdgeCurve initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcCurve v3_EdgeGeometry, bool v4_SameSense); }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -19616,8 +19022,7 @@ public: /// of IfcEventTime. class IFC_PARSE_API IfcEventTime : public IfcSchedulingTime { public: - IfcEventTime() {} - explicit IfcEventTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// The date on which an event actually occurs. It is a measured value. std::optional< std::string > ActualDate() const; @@ -19635,13 +19040,12 @@ public: void setScheduleDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); + IfcEventTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ActualDate, std::optional< std::string > v5_EarlyDate, std::optional< std::string > v6_LateDate, std::optional< std::string > v7_ScheduleDate); }; class IFC_PARSE_API IfcExtendedProperties : public IfcPropertyAbstraction { public: - IfcExtendedProperties() {} - explicit IfcExtendedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; std::optional< std::string > Name() const; void setName(const std::optional< std::string >& v); @@ -19651,7 +19055,7 @@ public: void setProperties(const std::vector< ::Ifc4x3_tc1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties); + IfcExtendedProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties); }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -19662,8 +19066,7 @@ public: /// HISTORY New Entity in IFC 2x4 class IFC_PARSE_API IfcExternalReferenceRelationship : public IfcResourceLevelRelationship { public: - IfcExternalReferenceRelationship() {} - explicit IfcExternalReferenceRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// @@ -19675,7 +19078,7 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcExternalReferenceRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference v3_RelatingReference, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -19723,8 +19126,7 @@ public: /// (number of edges) - (number of loops) + (sum of genus for loops) = 0. class IFC_PARSE_API IfcFace : public IfcTopologicalRepresentationItem { public: - IfcFace() {} - explicit IfcFace (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// Boundaries of the face. std::vector< ::Ifc4x3_tc1::IfcFaceBound > Bounds() const; @@ -19732,7 +19134,7 @@ public: std::vector< IfcTextureMap > HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds); + IfcFace initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds); }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -19741,8 +19143,7 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceBound : public IfcTopologicalRepresentationItem { public: - IfcFaceBound() {} - explicit IfcFaceBound (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The loop which will be used as a face boundary. ::Ifc4x3_tc1::IfcLoop Bound() const; @@ -19752,7 +19153,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceBound initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -19761,12 +19162,11 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcFaceOuterBound : public IfcFaceBound { public: - IfcFaceOuterBound() {} - explicit IfcFaceOuterBound (const std::weak_ptr& data) : IfcFaceBound(data) {} + using IfcFaceBound::IfcFaceBound; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation); + IfcFaceOuterBound initialize(::Ifc4x3_tc1::IfcLoop v1_Bound, bool v2_Orientation); }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -19806,8 +19206,7 @@ public: /// The loops of the face shall not intersect. class IFC_PARSE_API IfcFaceSurface : public IfcFace { public: - IfcFaceSurface() {} - explicit IfcFaceSurface (const std::weak_ptr& data) : IfcFace(data) {} + using IfcFace::IfcFace; /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. ::Ifc4x3_tc1::IfcSurface FaceSurface() const; @@ -19817,7 +19216,7 @@ public: void setSameSense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcFaceSurface initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -19828,8 +19227,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcFailureConnectionCondition() {} - explicit IfcFailureConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Tension force in x-direction leading to failure of the connection. std::optional< double > TensionFailureX() const; @@ -19851,7 +19249,7 @@ public: void setCompressionFailureZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); + IfcFailureConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_TensionFailureX, std::optional< double > v3_TensionFailureY, std::optional< double > v4_TensionFailureZ, std::optional< double > v5_CompressionFailureX, std::optional< double > v6_CompressionFailureY, std::optional< double > v7_CompressionFailureZ); }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -19889,8 +19287,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyle : public IfcPresentationStyle { public: - IfcFillAreaStyle() {} - explicit IfcFillAreaStyle (const std::weak_ptr& data) : IfcPresentationStyle(data) {} + using IfcPresentationStyle::IfcPresentationStyle; /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. std::vector< ::Ifc4x3_tc1::IfcFillStyleSelect > FillStyles() const; @@ -19899,7 +19296,7 @@ public: void setModelOrDraughting(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); + IfcFillAreaStyle initialize(std::optional< std::string > v1_Name, std::vector< ::Ifc4x3_tc1::IfcFillStyleSelect > v2_FillStyles, std::optional< bool > v3_ModelOrDraughting); }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -19950,8 +19347,7 @@ public: /// IFC2x3 CHANGE Applicable values for ContextType are only 'Model', 'Plan', and'NotDefined'. All other sub contexts are now handled by the new subtype in IFC2x Edition 2 IfcGeometricRepresentationSubContext. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcGeometricRepresentationContext : public IfcRepresentationContext { public: - IfcGeometricRepresentationContext() {} - explicit IfcGeometricRepresentationContext (const std::weak_ptr& data) : IfcRepresentationContext(data) {} + using IfcRepresentationContext::IfcRepresentationContext; /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; @@ -19971,7 +19367,7 @@ public: std::vector< IfcCoordinateOperation > HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_tc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_tc1::IfcDirection v6_TrueNorth); + IfcGeometricRepresentationContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, std::optional< double > v4_Precision, ::Ifc4x3_tc1::IfcAxis2Placement v5_WorldCoordinateSystem, ::Ifc4x3_tc1::IfcDirection v6_TrueNorth); }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: /// @@ -19994,12 +19390,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcGeometricRepresentationItem : public IfcRepresentationItem { public: - IfcGeometricRepresentationItem() {} - explicit IfcGeometricRepresentationItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcGeometricRepresentationItem initialize(); }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -20016,8 +19411,7 @@ public: /// HISTORY  New entity in Release IFC 2x2. class IFC_PARSE_API IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: - IfcGeometricRepresentationSubContext() {} - explicit IfcGeometricRepresentationSubContext (const std::weak_ptr& data) : IfcGeometricRepresentationContext(data) {} + using IfcGeometricRepresentationContext::IfcGeometricRepresentationContext; /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. ::Ifc4x3_tc1::IfcGeometricRepresentationContext ParentContext() const; @@ -20043,7 +19437,7 @@ public: void setUserDefinedTargetView(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext initialize(std::optional< std::string > v1_ContextIdentifier, std::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext v7_ParentContext, std::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, std::optional< std::string > v10_UserDefinedTargetView); }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -20054,15 +19448,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcGeometricSet : public IfcGeometricRepresentationItem { public: - IfcGeometricSet() {} - explicit IfcGeometricSet (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > Elements() const; void setElements(const std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricSet initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements); }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -20111,8 +19504,7 @@ public: /// Figure 245 — Grid placement with intersection class IFC_PARSE_API IfcGridPlacement : public IfcObjectPlacement { public: - IfcGridPlacement() {} - explicit IfcGridPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Placement of the object coordinate system defined by the intersection of two grid axes. ::Ifc4x3_tc1::IfcVirtualGridIntersection PlacementLocation() const; @@ -20124,7 +19516,7 @@ public: void setPlacementRefDirection(const ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); + IfcGridPlacement initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcVirtualGridIntersection v2_PlacementLocation, ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect v3_PlacementRefDirection); }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. /// @@ -20143,8 +19535,7 @@ public: /// Figure 258 — Half space solid geometry class IFC_PARSE_API IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: - IfcHalfSpaceSolid() {} - explicit IfcHalfSpaceSolid (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Surface defining side of half space. ::Ifc4x3_tc1::IfcSurface BaseSurface() const; @@ -20154,7 +19545,7 @@ public: void setAgreementFlag(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); + IfcHalfSpaceSolid initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag); }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -20193,21 +19584,19 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcImageTexture : public IfcSurfaceTexture { public: - IfcImageTexture() {} - explicit IfcImageTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; void setURLReference(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); }; class IFC_PARSE_API IfcIndexedColourMap : public IfcPresentationItem { public: - IfcIndexedColourMap() {} - explicit IfcIndexedColourMap (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; ::Ifc4x3_tc1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_tc1::IfcTessellatedFaceSet& v); @@ -20219,13 +19608,12 @@ public: void setColourIndex(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_tc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap initialize(::Ifc4x3_tc1::IfcTessellatedFaceSet v1_MappedTo, std::optional< double > v2_Opacity, ::Ifc4x3_tc1::IfcColourRgbList v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); }; class IFC_PARSE_API IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcIndexedTextureMap() {} - explicit IfcIndexedTextureMap (const std::weak_ptr& data) : IfcTextureCoordinate(data) {} + using IfcTextureCoordinate::IfcTextureCoordinate; ::Ifc4x3_tc1::IfcTessellatedFaceSet MappedTo() const; void setMappedTo(const ::Ifc4x3_tc1::IfcTessellatedFaceSet& v); @@ -20233,19 +19621,18 @@ public: void setTexCoords(const ::Ifc4x3_tc1::IfcTextureVertexList& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords); + IfcIndexedTextureMap initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords); }; class IFC_PARSE_API IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedTriangleTextureMap() {} - explicit IfcIndexedTriangleTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::optional< std::vector< std::vector< int > > > TexCoordIndex() const; void setTexCoordIndex(const std::optional< std::vector< std::vector< int > > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); + IfcIndexedTriangleTextureMap initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::optional< std::vector< std::vector< int > > > v4_TexCoordIndex); }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. /// @@ -20254,15 +19641,14 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcIrregularTimeSeries : public IfcTimeSeries { public: - IfcIrregularTimeSeries() {} - explicit IfcIrregularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// The collection of time series values. std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue > Values() const; void setValues(const std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue > v9_Values); + IfcIrregularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, std::vector< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue > v9_Values); }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -20303,8 +19689,7 @@ public: /// this may be set to any allowed unit of time measure. class IFC_PARSE_API IfcLagTime : public IfcSchedulingTime { public: - IfcLagTime() {} - explicit IfcLagTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Value of the time lag selected as being either a ratio or a /// time measure. @@ -20316,7 +19701,7 @@ public: void setDurationType(const ::Ifc4x3_tc1::IfcTaskDurationEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_tc1::IfcTaskDurationEnum::Value v5_DurationType); + IfcLagTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcTimeOrRatioSelect v4_LagValue, ::Ifc4x3_tc1::IfcTaskDurationEnum::Value v5_DurationType); }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -20327,8 +19712,7 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSource : public IfcGeometricRepresentationItem { public: - IfcLightSource() {} - explicit IfcLightSource (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The name given to the light source in presentation. std::optional< std::string > Name() const; @@ -20345,7 +19729,7 @@ public: void setIntensity(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSource initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -20356,12 +19740,11 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceAmbient : public IfcLightSource { public: - IfcLightSourceAmbient() {} - explicit IfcLightSourceAmbient (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); + IfcLightSourceAmbient initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity); }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -20374,8 +19757,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceDirectional : public IfcLightSource { public: - IfcLightSourceDirectional() {} - explicit IfcLightSourceDirectional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. @@ -20383,7 +19765,7 @@ public: void setOrientation(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcDirection v5_Orientation); + IfcLightSourceDirectional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcDirection v5_Orientation); }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -20394,8 +19776,7 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcLightSourceGoniometric : public IfcLightSource { public: - IfcLightSourceGoniometric() {} - explicit IfcLightSourceGoniometric (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// The position of the light source. It is used to orientate the light distribution curves. ::Ifc4x3_tc1::IfcAxis2Placement3D Position() const; @@ -20417,7 +19798,7 @@ public: void setLightDistributionDataSource(const ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_tc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcAxis2Placement3D v5_Position, ::Ifc4x3_tc1::IfcColourRgb v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. /// @@ -20436,8 +19817,7 @@ public: /// HISTORY: This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourcePositional : public IfcLightSource { public: - IfcLightSourcePositional() {} - explicit IfcLightSourcePositional (const std::weak_ptr& data) : IfcLightSource(data) {} + using IfcLightSource::IfcLightSource; /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. @@ -20458,7 +19838,7 @@ public: void setQuadricAttenuation(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); + IfcLightSourcePositional initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -20477,8 +19857,7 @@ public: /// HISTORY  This is a new entity in IFC 2x, renamed and enhanced in IFC2x2. class IFC_PARSE_API IfcLightSourceSpot : public IfcLightSourcePositional { public: - IfcLightSourceSpot() {} - explicit IfcLightSourceSpot (const std::weak_ptr& data) : IfcLightSourcePositional(data) {} + using IfcLightSourcePositional::IfcLightSourcePositional; /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. @@ -20497,13 +19876,12 @@ public: void setBeamWidthAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_tc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); + IfcLightSourceSpot initialize(std::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb v2_LightColour, std::optional< double > v3_AmbientIntensity, std::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_tc1::IfcDirection v10_Orientation, std::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); }; class IFC_PARSE_API IfcLinearPlacement : public IfcObjectPlacement { public: - IfcLinearPlacement() {} - explicit IfcLinearPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; ::Ifc4x3_tc1::IfcAxis2PlacementLinear RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_tc1::IfcAxis2PlacementLinear& v); @@ -20511,7 +19889,7 @@ public: void setCartesianPosition(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_CartesianPosition); + IfcLinearPlacement initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2PlacementLinear v2_RelativePlacement, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_CartesianPosition); }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -20567,15 +19945,14 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IFC_PARSE_API IfcLocalPlacement : public IfcObjectPlacement { public: - IfcLocalPlacement() {} - explicit IfcLocalPlacement (const std::weak_ptr& data) : IfcObjectPlacement(data) {} + using IfcObjectPlacement::IfcObjectPlacement; /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. ::Ifc4x3_tc1::IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(const ::Ifc4x3_tc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement initialize(::Ifc4x3_tc1::IfcObjectPlacement v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2Placement v2_RelativePlacement); }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -20605,12 +19982,11 @@ public: /// and end vertices. class IFC_PARSE_API IfcLoop : public IfcTopologicalRepresentationItem { public: - IfcLoop() {} - explicit IfcLoop (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcLoop initialize(); }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -20633,8 +20009,7 @@ public: /// The dimensionality of the mapping source and the mapping target has to be the same, if the mapping source is a geometric representation item. class IFC_PARSE_API IfcMappedItem : public IfcRepresentationItem { public: - IfcMappedItem() {} - explicit IfcMappedItem (const std::weak_ptr& data) : IfcRepresentationItem(data) {} + using IfcRepresentationItem::IfcRepresentationItem; /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. ::Ifc4x3_tc1::IfcRepresentationMap MappingSource() const; @@ -20644,7 +20019,7 @@ public: void setMappingTarget(const ::Ifc4x3_tc1::IfcCartesianTransformationOperator& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_tc1::IfcCartesianTransformationOperator v2_MappingTarget); + IfcMappedItem initialize(::Ifc4x3_tc1::IfcRepresentationMap v1_MappingSource, ::Ifc4x3_tc1::IfcCartesianTransformationOperator v2_MappingTarget); }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -20675,8 +20050,7 @@ public: /// IFC2x4 CHANGE The attributes Description and Category have been added. class IFC_PARSE_API IfcMaterial : public IfcMaterialDefinition { public: - IfcMaterial() {} - explicit IfcMaterial (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// Name of the material. /// @@ -20702,7 +20076,7 @@ public: std::vector< IfcMaterialRelationship > RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); + IfcMaterial initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::optional< std::string > v3_Category); }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -20711,8 +20085,7 @@ public: /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialConstituent : public IfcMaterialDefinition { public: - IfcMaterialConstituent() {} - explicit IfcMaterialConstituent (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the material constituent is known. std::optional< std::string > Name() const; @@ -20732,7 +20105,7 @@ public: std::vector< IfcMaterialConstituentSet > ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); + IfcMaterialConstituent initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_Material, std::optional< double > v4_Fraction, std::optional< std::string > v5_Category); }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -20750,8 +20123,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - IfcMaterialConstituentSet() {} - explicit IfcMaterialConstituentSet (const std::weak_ptr& data) : IfcMaterialDefinition(data) {} + using IfcMaterialDefinition::IfcMaterialDefinition; /// The name by which the constituent set is known. std::optional< std::string > Name() const; @@ -20764,7 +20136,7 @@ public: void setMaterialConstituents(const std::optional< std::vector< ::Ifc4x3_tc1::IfcMaterialConstituent > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcMaterialConstituent > > v3_MaterialConstituents); + IfcMaterialConstituentSet initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::optional< std::vector< ::Ifc4x3_tc1::IfcMaterialConstituent > > v3_MaterialConstituents); }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -20798,15 +20170,14 @@ public: /// Figure 331 — Material definition representation class IFC_PARSE_API IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: - IfcMaterialDefinitionRepresentation() {} - explicit IfcMaterialDefinitionRepresentation (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; /// Reference to the material to which the representation applies. ::Ifc4x3_tc1::IfcMaterial RepresentedMaterial() const; void setRepresentedMaterial(const ::Ifc4x3_tc1::IfcMaterial& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations, ::Ifc4x3_tc1::IfcMaterial v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations, ::Ifc4x3_tc1::IfcMaterial v4_RepresentedMaterial); }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -20910,8 +20281,7 @@ public: /// Figure 288 — Material layer set usage for roof slab class IFC_PARSE_API IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialLayerSetUsage() {} - explicit IfcMaterialLayerSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialLayerSet set to which the usage is applied. ::Ifc4x3_tc1::IfcMaterialLayerSet ForLayerSet() const; @@ -20942,7 +20312,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); + IfcMaterialLayerSetUsage initialize(::Ifc4x3_tc1::IfcMaterialLayerSet v1_ForLayerSet, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, std::optional< double > v5_ReferenceExtent); }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -20953,8 +20323,7 @@ public: /// HISTORYNew Entity in IFC2x4. class IFC_PARSE_API IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: - IfcMaterialProfileSetUsage() {} - explicit IfcMaterialProfileSetUsage (const std::weak_ptr& data) : IfcMaterialUsageDefinition(data) {} + using IfcMaterialUsageDefinition::IfcMaterialUsageDefinition; /// The IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_tc1::IfcMaterialProfileSet ForProfileSet() const; @@ -20972,7 +20341,7 @@ public: void setReferenceExtent(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); + IfcMaterialProfileSetUsage initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent); }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -21001,8 +20370,7 @@ public: /// member. class IFC_PARSE_API IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: - IfcMaterialProfileSetUsageTapering() {} - explicit IfcMaterialProfileSetUsageTapering (const std::weak_ptr& data) : IfcMaterialProfileSetUsage(data) {} + using IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage; /// The second IfcMaterialProfileSet set to which the usage is applied. ::Ifc4x3_tc1::IfcMaterialProfileSet ForProfileEndSet() const; @@ -21012,7 +20380,7 @@ public: void setCardinalEndPoint(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_tc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering initialize(::Ifc4x3_tc1::IfcMaterialProfileSet v1_ForProfileSet, std::optional< int > v2_CardinalPoint, std::optional< double > v3_ReferenceExtent, ::Ifc4x3_tc1::IfcMaterialProfileSet v4_ForProfileEndSet, std::optional< int > v5_CardinalEndPoint); }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -21038,8 +20406,7 @@ public: /// IFC2x4 CHANGE  The subtypes that represented a fixed list of statically defined material properties, IfcMechanicalMaterialProperties, IfcThermalMaterialProperties, IfcHygroscopicMaterialProperties, IfcGeneralMaterialProperties, IfcOpticalMaterialProperties, IfcWaterProperties, IfcFuelProperties, IfcProductsOfCombustionProperties have been deleted, use the generic IfcExtendedMaterialProperties instead. class IFC_PARSE_API IfcMaterialProperties : public IfcExtendedProperties { public: - IfcMaterialProperties() {} - explicit IfcMaterialProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Reference to the material definition to which the set of properties is assigned. /// @@ -21048,15 +20415,14 @@ public: void setMaterial(const ::Ifc4x3_tc1::IfcMaterialDefinition& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcMaterialDefinition v4_Material); + IfcMaterialProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcMaterialDefinition v4_Material); }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// /// HISTORYNew Entity in IFC2x4 class IFC_PARSE_API IfcMaterialRelationship : public IfcResourceLevelRelationship { public: - IfcMaterialRelationship() {} - explicit IfcMaterialRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Reference to the relating material (the composite). ::Ifc4x3_tc1::IfcMaterial RelatingMaterial() const; @@ -21068,7 +20434,7 @@ public: void setMaterialExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_tc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); + IfcMaterialRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial v3_RelatingMaterial, std::vector< ::Ifc4x3_tc1::IfcMaterial > v4_RelatedMaterials, std::optional< std::string > v5_MaterialExpression); }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -21099,12 +20465,11 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcMirroredProfileDef : public IfcDerivedProfileDef { public: - IfcMirroredProfileDef() {} - explicit IfcMirroredProfileDef (const std::weak_ptr& data) : IfcDerivedProfileDef(data) {} + using IfcDerivedProfileDef::IfcDerivedProfileDef; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); + IfcMirroredProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef v3_ParentProfile, std::optional< std::string > v5_Label); }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -21158,8 +20523,7 @@ public: /// IFC2x4 CHANGE The new subtype IfcContext and the relationship to context HasContext has been added . The decomposition relationship is split into ordered nesting (Nests, IsNestedBy) and un-ordered aggregating (Decomposes, IsDecomposedBy). class IFC_PARSE_API IfcObjectDefinition : public IfcRoot { public: - IfcObjectDefinition() {} - explicit IfcObjectDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelAssigns > HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects std::vector< IfcRelNests > Nests() const; // INVERSE IfcRelNests::RelatedObjects @@ -21170,13 +20534,12 @@ public: std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcObjectDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcOpenCrossProfileDef : public IfcProfileDef { public: - IfcOpenCrossProfileDef() {} - explicit IfcOpenCrossProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; bool HorizontalWidths() const; void setHorizontalWidths(const bool& v); @@ -21190,7 +20553,7 @@ public: void setOffsetPoint(const ::Ifc4x3_tc1::IfcCartesianPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_tc1::IfcCartesianPoint v7_OffsetPoint); + IfcOpenCrossProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, bool v3_HorizontalWidths, std::vector< double > /*[1:?]*/ v4_Widths, std::vector< double > /*[1:?]*/ v5_Slopes, std::optional< std::vector< std::string > /*[2:?]*/ > v6_Tags, ::Ifc4x3_tc1::IfcCartesianPoint v7_OffsetPoint); }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -21253,12 +20616,11 @@ public: /// 10303-42:1994, p.148 for the equation. class IFC_PARSE_API IfcOpenShell : public IfcConnectedFaceSet { public: - IfcOpenShell() {} - explicit IfcOpenShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces); + IfcOpenShell initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces); }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -21268,8 +20630,7 @@ public: /// IFC 2x4 change: attribute Name made optional. class IFC_PARSE_API IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: - IfcOrganizationRelationship() {} - explicit IfcOrganizationRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Organization which is the relating part of the relationship between organizations. ::Ifc4x3_tc1::IfcOrganization RelatingOrganization() const; @@ -21279,7 +20640,7 @@ public: void setRelatedOrganizations(const std::vector< ::Ifc4x3_tc1::IfcOrganization >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_tc1::IfcOrganization > v4_RelatedOrganizations); + IfcOrganizationRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcOrganization v3_RelatingOrganization, std::vector< ::Ifc4x3_tc1::IfcOrganization > v4_RelatedOrganizations); }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -21290,8 +20651,7 @@ public: /// HISTORY  New Entity in IFC Release 2.0. class IFC_PARSE_API IfcOrientedEdge : public IfcEdge { public: - IfcOrientedEdge() {} - explicit IfcOrientedEdge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// Edge entity used to construct this oriented edge. ::Ifc4x3_tc1::IfcEdge EdgeElement() const; @@ -21301,7 +20661,7 @@ public: void setOrientation(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcEdge v3_EdgeElement, bool v4_Orientation); + IfcOrientedEdge initialize(::Ifc4x3_tc1::IfcEdge v3_EdgeElement, bool v4_Orientation); }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -21347,15 +20707,14 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IFC_PARSE_API IfcParameterizedProfileDef : public IfcProfileDef { public: - IfcParameterizedProfileDef() {} - explicit IfcParameterizedProfileDef (const std::weak_ptr& data) : IfcProfileDef(data) {} + using IfcProfileDef::IfcProfileDef; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. ::Ifc4x3_tc1::IfcAxis2Placement2D Position() const; void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement2D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position); + IfcParameterizedProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position); }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). /// @@ -21373,15 +20732,14 @@ public: /// A path has a finite, non-zero extent. class IFC_PARSE_API IfcPath : public IfcTopologicalRepresentationItem { public: - IfcPath() {} - explicit IfcPath (const std::weak_ptr& data) : IfcTopologicalRepresentationItem(data) {} + using IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem; /// The list of oriented edges which are concatenated together to form this path. std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_tc1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList); + IfcPath initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList); }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -21394,8 +20752,7 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The entity IfcPhysicalComplexQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: - IfcPhysicalComplexQuantity() {} - explicit IfcPhysicalComplexQuantity (const std::weak_ptr& data) : IfcPhysicalQuantity(data) {} + using IfcPhysicalQuantity::IfcPhysicalQuantity; /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > HasQuantities() const; @@ -21411,7 +20768,7 @@ public: void setUsage(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); + IfcPhysicalComplexQuantity initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v3_HasQuantities, std::string v4_Discrimination, std::optional< std::string > v5_Quality, std::optional< std::string > v6_Usage); }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -21433,8 +20790,7 @@ public: /// HISTORY: New class in IFC2x2. class IFC_PARSE_API IfcPixelTexture : public IfcSurfaceTexture { public: - IfcPixelTexture() {} - explicit IfcPixelTexture (const std::weak_ptr& data) : IfcSurfaceTexture(data) {} + using IfcSurfaceTexture::IfcSurfaceTexture; /// The number of pixels in width (S) direction. int Width() const; @@ -21452,7 +20808,7 @@ public: void setPixel(const std::vector< boost::dynamic_bitset<> > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); + IfcPixelTexture initialize(bool v1_RepeatS, bool v2_RepeatT, std::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D v4_TextureTransform, std::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel); }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. /// @@ -21465,15 +20821,14 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcPlacement : public IfcGeometricRepresentationItem { public: - IfcPlacement() {} - explicit IfcPlacement (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The geometric position of a reference point, such as the center of a circle, of the item to be located. ::Ifc4x3_tc1::IfcPoint Location() const; void setLocation(const ::Ifc4x3_tc1::IfcPoint& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPoint v1_Location); + IfcPlacement initialize(::Ifc4x3_tc1::IfcPoint v1_Location); }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -21482,8 +20837,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarExtent : public IfcGeometricRepresentationItem { public: - IfcPlanarExtent() {} - explicit IfcPlanarExtent (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The extent in the direction of the x-axis. double SizeInX() const; @@ -21493,7 +20847,7 @@ public: void setSizeInY(const double& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY); + IfcPlanarExtent initialize(double v1_SizeInX, double v2_SizeInY); }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -21502,18 +20856,16 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcPoint : public IfcGeometricRepresentationItem { public: - IfcPoint() {} - explicit IfcPoint (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPoint initialize(); }; class IFC_PARSE_API IfcPointByDistanceExpression : public IfcPoint { public: - IfcPointByDistanceExpression() {} - explicit IfcPointByDistanceExpression (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; ::Ifc4x3_tc1::IfcCurveMeasureSelect DistanceAlong() const; void setDistanceAlong(const ::Ifc4x3_tc1::IfcCurveMeasureSelect& v); @@ -21527,7 +20879,7 @@ public: void setBasisCurve(const ::Ifc4x3_tc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_tc1::IfcCurve v5_BasisCurve); + IfcPointByDistanceExpression initialize(::Ifc4x3_tc1::IfcCurveMeasureSelect v1_DistanceAlong, std::optional< double > v2_OffsetLateral, std::optional< double > v3_OffsetVertical, std::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_tc1::IfcCurve v5_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -21540,8 +20892,7 @@ public: /// The value of the point parameter shall not be outside the parametric range of the curve. class IFC_PARSE_API IfcPointOnCurve : public IfcPoint { public: - IfcPointOnCurve() {} - explicit IfcPointOnCurve (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The curve to which point parameter relates. ::Ifc4x3_tc1::IfcCurve BasisCurve() const; @@ -21551,7 +20902,7 @@ public: void setPointParameter(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_PointParameter); + IfcPointOnCurve initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_PointParameter); }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -21564,8 +20915,7 @@ public: /// The parametric values specified for u and v shall not be outside the parametric range of the basis surface. class IFC_PARSE_API IfcPointOnSurface : public IfcPoint { public: - IfcPointOnSurface() {} - explicit IfcPointOnSurface (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The surface to which the parameter values relate. ::Ifc4x3_tc1::IfcSurface BasisSurface() const; @@ -21578,7 +20928,7 @@ public: void setPointParameterV(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); + IfcPointOnSurface initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -21621,15 +20971,14 @@ public: /// The first and the last Polygon shall be different by value. class IFC_PARSE_API IfcPolyLoop : public IfcLoop { public: - IfcPolyLoop() {} - explicit IfcPolyLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// List of points defining the loop. There are no repeated points in the list. std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > Polygon() const; void setPolygon(const std::vector< ::Ifc4x3_tc1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Polygon); + IfcPolyLoop initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Polygon); }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -21689,8 +21038,7 @@ public: /// defines the side of the material of the half space. class IFC_PARSE_API IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: - IfcPolygonalBoundedHalfSpace() {} - explicit IfcPolygonalBoundedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// Definition of the position coordinate system for the bounding polyline and the base surface. ::Ifc4x3_tc1::IfcAxis2Placement3D Position() const; @@ -21702,7 +21050,7 @@ public: void setPolygonalBoundary(const ::Ifc4x3_tc1::IfcBoundedCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_tc1::IfcBoundedCurve v4_PolygonalBoundary); + IfcPolygonalBoundedHalfSpace initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcAxis2Placement3D v3_Position, ::Ifc4x3_tc1::IfcBoundedCurve v4_PolygonalBoundary); }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -21713,25 +21061,23 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedItem : public IfcPresentationItem { public: - IfcPreDefinedItem() {} - explicit IfcPreDefinedItem (const std::weak_ptr& data) : IfcPresentationItem(data) {} + using IfcPresentationItem::IfcPresentationItem; /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; void setName(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedItem initialize(std::string v1_Name); }; class IFC_PARSE_API IfcPreDefinedProperties : public IfcPropertyAbstraction { public: - IfcPreDefinedProperties() {} - explicit IfcPreDefinedProperties (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; static const ifcopenshell::entity& Class(); - void initialize(); + IfcPreDefinedProperties initialize(); }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -21746,12 +21092,11 @@ public: /// IFC2x3 CHANGE  The IfcTextStyleFontModel has been added as new subtype. class IFC_PARSE_API IfcPreDefinedTextFont : public IfcPreDefinedItem { public: - IfcPreDefinedTextFont() {} - explicit IfcPreDefinedTextFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedTextFont initialize(std::string v1_Name); }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -21767,14 +21112,13 @@ public: /// HISTORY  New Entity in IFC Release 1.5 class IFC_PARSE_API IfcProductDefinitionShape : public IfcProductRepresentation { public: - IfcProductDefinitionShape() {} - explicit IfcProductDefinitionShape (const std::weak_ptr& data) : IfcProductRepresentation(data) {} + using IfcProductRepresentation::IfcProductRepresentation; std::vector< IfcProduct > ShapeOfProduct() const; // INVERSE IfcProduct::Representation std::vector< IfcShapeAspect > HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations); + IfcProductDefinitionShape initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcRepresentation > v3_Representations); }; /// This is a collection of properties applicable to section profile definitions. /// @@ -21789,23 +21133,21 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IFC_PARSE_API IfcProfileProperties : public IfcExtendedProperties { public: - IfcProfileProperties() {} - explicit IfcProfileProperties (const std::weak_ptr& data) : IfcExtendedProperties(data) {} + using IfcExtendedProperties::IfcExtendedProperties; /// Profile definition which is qualified by these properties. ::Ifc4x3_tc1::IfcProfileDef ProfileDefinition() const; void setProfileDefinition(const ::Ifc4x3_tc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcProfileDef v4_ProfileDefinition); + IfcProfileProperties initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v3_Properties, ::Ifc4x3_tc1::IfcProfileDef v4_ProfileDefinition); }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// /// HISTORY  New entity in IFC Release 1.0. class IFC_PARSE_API IfcProperty : public IfcPropertyAbstraction { public: - IfcProperty() {} - explicit IfcProperty (const std::weak_ptr& data) : IfcPropertyAbstraction(data) {} + using IfcPropertyAbstraction::IfcPropertyAbstraction; /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; @@ -21820,7 +21162,7 @@ public: std::vector< IfcResourceApprovalRelationship > HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -21874,14 +21216,13 @@ public: /// IfcPropertyTemplateDefinition for details. class IFC_PARSE_API IfcPropertyDefinition : public IfcRoot { public: - IfcPropertyDefinition() {} - explicit IfcPropertyDefinition (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; std::vector< IfcRelDeclares > HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions std::vector< IfcRelAssociates > HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -21893,8 +21234,7 @@ public: /// Whilst the IfcPropertyDependencyRelationship may be used to describe the dependency, and it may do so in terms of the expression of how the dependency operates, it is not possible through the current IFC model for the value of the related property to be actually derived from the value of the relating property. The determination of value according to the dependency is required to be performed by an application that can then use the Expression attribute to flag the form of the dependency. class IFC_PARSE_API IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: - IfcPropertyDependencyRelationship() {} - explicit IfcPropertyDependencyRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The property on which the relationship depends. ::Ifc4x3_tc1::IfcProperty DependingProperty() const; @@ -21907,7 +21247,7 @@ public: void setExpression(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); + IfcPropertyDependencyRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty v4_DependantProperty, std::optional< std::string > v5_Expression); }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -21953,15 +21293,14 @@ public: /// NOTE  Properties assigned to object occurrences may override properties assigned to the object type. See IfcRelDefinesByType for further information. class IFC_PARSE_API IfcPropertySetDefinition : public IfcPropertyDefinition { public: - IfcPropertySetDefinition() {} - explicit IfcPropertySetDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; std::vector< IfcTypeObject > DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets std::vector< IfcRelDefinesByTemplate > IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets std::vector< IfcRelDefinesByProperties > DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertySetDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -21990,22 +21329,20 @@ public: /// HISTORY  New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplateDefinition : public IfcPropertyDefinition { public: - IfcPropertyTemplateDefinition() {} - explicit IfcPropertyTemplateDefinition (const std::weak_ptr& data) : IfcPropertyDefinition(data) {} + using IfcPropertyDefinition::IfcPropertyDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; class IFC_PARSE_API IfcQuantitySet : public IfcPropertySetDefinition { public: - IfcQuantitySet() {} - explicit IfcQuantitySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcQuantitySet initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. /// @@ -22043,8 +21380,7 @@ public: /// Figure 323 — Rectangle profile class IFC_PARSE_API IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: - IfcRectangleProfileDef() {} - explicit IfcRectangleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the rectangle in the direction of the x-axis. double XDim() const; @@ -22054,7 +21390,7 @@ public: void setYDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim); }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. /// @@ -22063,8 +21399,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRegularTimeSeries : public IfcTimeSeries { public: - IfcRegularTimeSeries() {} - explicit IfcRegularTimeSeries (const std::weak_ptr& data) : IfcTimeSeries(data) {} + using IfcTimeSeries::IfcTimeSeries; /// A duration of time intervals between values. double TimeStep() const; @@ -22074,7 +21409,7 @@ public: void setValues(const std::vector< ::Ifc4x3_tc1::IfcTimeSeriesValue >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_tc1::IfcTimeSeriesValue > v10_Values); + IfcRegularTimeSeries initialize(std::string v1_Name, std::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, std::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit v8_Unit, double v9_TimeStep, std::vector< ::Ifc4x3_tc1::IfcTimeSeriesValue > v10_Values); }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -22083,8 +21418,7 @@ public: /// The total cross section area for the specific steel grade is always provided. Additionally also general reinforcing bar configurations as a count of bars may be provided as defined in attribute BarCount. In this case the nominal bar diameter should be identical for all given bars as defined in attribute NominalBarDiameter. class IFC_PARSE_API IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: - IfcReinforcementBarProperties() {} - explicit IfcReinforcementBarProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; @@ -22106,7 +21440,7 @@ public: void setBarCount(const std::optional< int >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); + IfcReinforcementBarProperties initialize(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, std::optional< double > v4_EffectiveDepth, std::optional< double > v5_NominalBarDiameter, std::optional< int > v6_BarCount); }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -22118,12 +21452,11 @@ public: /// HISTORY: New entity in IFC Release 1.0. class IFC_PARSE_API IfcRelationship : public IfcRoot { public: - IfcRelationship() {} - explicit IfcRelationship (const std::weak_ptr& data) : IfcRoot(data) {} + using IfcRoot::IfcRoot; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelationship initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -22133,8 +21466,7 @@ public: /// Entity in IFC Release 2x4 class IFC_PARSE_API IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: - IfcResourceApprovalRelationship() {} - explicit IfcResourceApprovalRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// Resource objects that are approved. std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > RelatedResourceObjects() const; @@ -22144,7 +21476,7 @@ public: void setRelatingApproval(const ::Ifc4x3_tc1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval v4_RelatingApproval); + IfcResourceApprovalRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval v4_RelatingApproval); }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -22168,8 +21500,7 @@ public: /// Figure 238 — Resource constraint relationship class IFC_PARSE_API IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: - IfcResourceConstraintRelationship() {} - explicit IfcResourceConstraintRelationship (const std::weak_ptr& data) : IfcResourceLevelRelationship(data) {} + using IfcResourceLevelRelationship::IfcResourceLevelRelationship; /// The constraint that is to be related. ::Ifc4x3_tc1::IfcConstraint RelatingConstraint() const; @@ -22179,14 +21510,13 @@ public: void setRelatedResourceObjects(const std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); + IfcResourceConstraintRelationship initialize(std::optional< std::string > v1_Name, std::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint v3_RelatingConstraint, std::vector< ::Ifc4x3_tc1::IfcResourceObjectSelect > v4_RelatedResourceObjects); }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcResourceTime : public IfcSchedulingTime { public: - IfcResourceTime() {} - explicit IfcResourceTime (const std::weak_ptr& data) : IfcSchedulingTime(data) {} + using IfcSchedulingTime::IfcSchedulingTime; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. @@ -22235,7 +21565,7 @@ public: void setCompletion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); + IfcResourceTime initialize(std::optional< std::string > v1_Name, std::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, std::optional< std::string > v3_UserDefinedDataOrigin, std::optional< std::string > v4_ScheduleWork, std::optional< double > v5_ScheduleUsage, std::optional< std::string > v6_ScheduleStart, std::optional< std::string > v7_ScheduleFinish, std::optional< std::string > v8_ScheduleContour, std::optional< std::string > v9_LevelingDelay, std::optional< bool > v10_IsOverAllocated, std::optional< std::string > v11_StatusTime, std::optional< std::string > v12_ActualWork, std::optional< double > v13_ActualUsage, std::optional< std::string > v14_ActualStart, std::optional< std::string > v15_ActualFinish, std::optional< std::string > v16_RemainingWork, std::optional< double > v17_RemainingUsage, std::optional< double > v18_Completion); }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -22276,15 +21606,14 @@ public: /// Figure 324 — Rounded rectangle profile class IFC_PARSE_API IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: - IfcRoundedRectangleProfileDef() {} - explicit IfcRoundedRectangleProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; void setRoundingRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. /// @@ -22293,8 +21622,7 @@ public: /// The section piece may be either uniform or tapered. In the latter case an end profile should also be provided. The start and end profiles are assumed to be of the same profile type. Generally only rectangular or circular cross section profiles are assumed to be used. class IFC_PARSE_API IfcSectionProperties : public IfcPreDefinedProperties { public: - IfcSectionProperties() {} - explicit IfcSectionProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. ::Ifc4x3_tc1::IfcSectionTypeEnum::Value SectionType() const; @@ -22307,7 +21635,7 @@ public: void setEndProfile(const ::Ifc4x3_tc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_tc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_tc1::IfcProfileDef v3_EndProfile); + IfcSectionProperties initialize(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_tc1::IfcProfileDef v2_StartProfile, ::Ifc4x3_tc1::IfcProfileDef v3_EndProfile); }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. /// @@ -22318,8 +21646,7 @@ public: /// one for each combination of steel grades and reinforcement bar types and sizes. class IFC_PARSE_API IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: - IfcSectionReinforcementProperties() {} - explicit IfcSectionReinforcementProperties (const std::weak_ptr& data) : IfcPreDefinedProperties(data) {} + using IfcPreDefinedProperties::IfcPreDefinedProperties; /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; @@ -22341,7 +21668,7 @@ public: void setCrossSectionReinforcementDefinitions(const std::vector< ::Ifc4x3_tc1::IfcReinforcementBarProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_tc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_tc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties initialize(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, std::optional< double > v3_TransversePosition, ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_tc1::IfcSectionProperties v5_SectionDefinition, std::vector< ::Ifc4x3_tc1::IfcReinforcementBarProperties > v6_CrossSectionReinforcementDefinitions); }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -22398,8 +21725,7 @@ public: /// the local origin of each cross section position shall lie at the beginning or end of a composite curve segment. class IFC_PARSE_API IfcSectionedSpine : public IfcGeometricRepresentationItem { public: - IfcSectionedSpine() {} - explicit IfcSectionedSpine (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. ::Ifc4x3_tc1::IfcCompositeCurve SpineCurve() const; @@ -22412,20 +21738,19 @@ public: void setCrossSectionPositions(const std::vector< ::Ifc4x3_tc1::IfcAxis2Placement3D >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2Placement3D > v3_CrossSectionPositions); + IfcSectionedSpine initialize(::Ifc4x3_tc1::IfcCompositeCurve v1_SpineCurve, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2Placement3D > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSegment : public IfcGeometricRepresentationItem { public: - IfcSegment() {} - explicit IfcSegment (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; ::Ifc4x3_tc1::IfcTransitionCode::Value Transition() const; void setTransition(const ::Ifc4x3_tc1::IfcTransitionCode::Value& v); std::vector< IfcCompositeCurve > UsingCurves() const; // INVERSE IfcCompositeCurve::Segments static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition); + IfcSegment initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition); }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. /// @@ -22441,26 +21766,24 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IFC_PARSE_API IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcShellBasedSurfaceModel() {} - explicit IfcShellBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; std::vector< ::Ifc4x3_tc1::IfcShell > SbsmBoundary() const; void setSbsmBoundary(const std::vector< ::Ifc4x3_tc1::IfcShell >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcShell > v1_SbsmBoundary); + IfcShellBasedSurfaceModel initialize(std::vector< ::Ifc4x3_tc1::IfcShell > v1_SbsmBoundary); }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// /// HISTORY  New Entity in IFC Release 1.0, definition changed in IFC Release 2x. class IFC_PARSE_API IfcSimpleProperty : public IfcProperty { public: - IfcSimpleProperty() {} - explicit IfcSimpleProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification); + IfcSimpleProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification); }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -22473,8 +21796,7 @@ public: /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - IfcSlippageConnectionCondition() {} - explicit IfcSlippageConnectionCondition (const std::weak_ptr& data) : IfcStructuralConnectionCondition(data) {} + using IfcStructuralConnectionCondition::IfcStructuralConnectionCondition; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. std::optional< double > SlippageX() const; @@ -22487,7 +21809,7 @@ public: void setSlippageZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); + IfcSlippageConnectionCondition initialize(std::optional< std::string > v1_Name, std::optional< double > v2_SlippageX, std::optional< double > v3_SlippageY, std::optional< double > v4_SlippageZ); }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -22496,12 +21818,11 @@ public: /// HISTORY: New entity in IFC Release 1.5 class IFC_PARSE_API IfcSolidModel : public IfcGeometricRepresentationItem { public: - IfcSolidModel() {} - explicit IfcSolidModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSolidModel initialize(); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -22510,8 +21831,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadLinearForce() {} - explicit IfcStructuralLoadLinearForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Linear force value in x-direction. std::optional< double > LinearForceX() const; @@ -22533,7 +21853,7 @@ public: void setLinearMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); + IfcStructuralLoadLinearForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_LinearForceX, std::optional< double > v3_LinearForceY, std::optional< double > v4_LinearForceZ, std::optional< double > v5_LinearMomentX, std::optional< double > v6_LinearMomentY, std::optional< double > v7_LinearMomentZ); }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -22542,8 +21862,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadPlanarForce() {} - explicit IfcStructuralLoadPlanarForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Planar force value in x-direction. std::optional< double > PlanarForceX() const; @@ -22556,7 +21875,7 @@ public: void setPlanarForceZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_PlanarForceX, std::optional< double > v3_PlanarForceY, std::optional< double > v4_PlanarForceZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -22565,8 +21884,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleDisplacement() {} - explicit IfcStructuralLoadSingleDisplacement (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Displacement in x-direction. std::optional< double > DisplacementX() const; @@ -22588,22 +21906,21 @@ public: void setRotationalDisplacementRZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ); }; /// Definition from IAI: Defines a displacement with warping. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - IfcStructuralLoadSingleDisplacementDistortion() {} - explicit IfcStructuralLoadSingleDisplacementDistortion (const std::weak_ptr& data) : IfcStructuralLoadSingleDisplacement(data) {} + using IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. std::optional< double > Distortion() const; void setDistortion(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion initialize(std::optional< std::string > v1_Name, std::optional< double > v2_DisplacementX, std::optional< double > v3_DisplacementY, std::optional< double > v4_DisplacementZ, std::optional< double > v5_RotationalDisplacementRX, std::optional< double > v6_RotationalDisplacementRY, std::optional< double > v7_RotationalDisplacementRZ, std::optional< double > v8_Distortion); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -22613,8 +21930,7 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - IfcStructuralLoadSingleForce() {} - explicit IfcStructuralLoadSingleForce (const std::weak_ptr& data) : IfcStructuralLoadStatic(data) {} + using IfcStructuralLoadStatic::IfcStructuralLoadStatic; /// Force value in x-direction. std::optional< double > ForceX() const; @@ -22636,7 +21952,7 @@ public: void setMomentZ(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); + IfcStructuralLoadSingleForce initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ); }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -22648,15 +21964,14 @@ public: /// edition 2. class IFC_PARSE_API IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - IfcStructuralLoadSingleForceWarping() {} - explicit IfcStructuralLoadSingleForceWarping (const std::weak_ptr& data) : IfcStructuralLoadSingleForce(data) {} + using IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce; /// The warping moment at the point load. std::optional< double > WarpingMoment() const; void setWarpingMoment(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping initialize(std::optional< std::string > v1_Name, std::optional< double > v2_ForceX, std::optional< double > v3_ForceY, std::optional< double > v4_ForceZ, std::optional< double > v5_MomentX, std::optional< double > v6_MomentY, std::optional< double > v7_MomentZ, std::optional< double > v8_WarpingMoment); }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -22670,15 +21985,14 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcSubedge : public IfcEdge { public: - IfcSubedge() {} - explicit IfcSubedge (const std::weak_ptr& data) : IfcEdge(data) {} + using IfcEdge::IfcEdge; /// The Edge, or Subedge, which contains the Subedge. ::Ifc4x3_tc1::IfcEdge ParentEdge() const; void setParentEdge(const ::Ifc4x3_tc1::IfcEdge& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcEdge v3_ParentEdge); + IfcSubedge initialize(::Ifc4x3_tc1::IfcVertex v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex v2_EdgeEnd, ::Ifc4x3_tc1::IfcEdge v3_ParentEdge); }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -22692,12 +22006,11 @@ public: /// A surface is arcwise connected. class IFC_PARSE_API IfcSurface : public IfcGeometricRepresentationItem { public: - IfcSurface() {} - explicit IfcSurface (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcSurface initialize(); }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -22746,8 +22059,7 @@ public: /// HISTORY: New Entity in IFC 2x. class IFC_PARSE_API IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - IfcSurfaceStyleRendering() {} - explicit IfcSurfaceStyleRendering (const std::weak_ptr& data) : IfcSurfaceStyleShading(data) {} + using IfcSurfaceStyleShading::IfcSurfaceStyleShading; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. @@ -22782,7 +22094,7 @@ public: void setReflectanceMethod(const ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_tc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_tc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_tc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_tc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); + IfcSurfaceStyleRendering initialize(::Ifc4x3_tc1::IfcColourRgb v1_SurfaceColour, std::optional< double > v2_Transparency, ::Ifc4x3_tc1::IfcColourOrFactor v3_DiffuseColour, ::Ifc4x3_tc1::IfcColourOrFactor v4_TransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v5_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor v6_ReflectionColour, ::Ifc4x3_tc1::IfcColourOrFactor v7_SpecularColour, ::Ifc4x3_tc1::IfcSpecularHighlightSelect v8_SpecularHighlight, ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod); }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -22804,8 +22116,7 @@ public: /// HISTORY New entity in IFC Release 1.5, the capabilities have been enhanced in IFC Release 2x. class IFC_PARSE_API IfcSweptAreaSolid : public IfcSolidModel { public: - IfcSweptAreaSolid() {} - explicit IfcSweptAreaSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. ::Ifc4x3_tc1::IfcProfileDef SweptArea() const; @@ -22815,7 +22126,7 @@ public: void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position); + IfcSweptAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position); }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -22872,8 +22183,7 @@ public: /// curve. class IFC_PARSE_API IfcSweptDiskSolid : public IfcSolidModel { public: - IfcSweptDiskSolid() {} - explicit IfcSweptDiskSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. ::Ifc4x3_tc1::IfcCurve Directrix() const; @@ -22896,7 +22206,7 @@ public: void setEndParam(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); + IfcSweptDiskSolid initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam); }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -22910,15 +22220,14 @@ public: /// lenght of the shortest inner segment. class IFC_PARSE_API IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - IfcSweptDiskSolidPolygonal() {} - explicit IfcSweptDiskSolidPolygonal (const std::weak_ptr& data) : IfcSweptDiskSolid(data) {} + using IfcSweptDiskSolid::IfcSweptDiskSolid; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. std::optional< double > FilletRadius() const; void setFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); + IfcSweptDiskSolidPolygonal initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, double v2_Radius, std::optional< double > v3_InnerRadius, std::optional< double > v4_StartParam, std::optional< double > v5_EndParam, std::optional< double > v6_FilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -22927,8 +22236,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcSweptSurface : public IfcSurface { public: - IfcSweptSurface() {} - explicit IfcSweptSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. ::Ifc4x3_tc1::IfcProfileDef SweptCurve() const; @@ -22938,7 +22246,7 @@ public: void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position); + IfcSweptSurface initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position); }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -22970,8 +22278,7 @@ public: /// Figure 326 — T-shape profile class IFC_PARSE_API IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcTShapeProfileDef() {} - explicit IfcTShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23002,17 +22309,16 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_WebEdgeRadius, std::optional< double > v11_WebSlope, std::optional< double > v12_FlangeSlope); }; class IFC_PARSE_API IfcTessellatedItem : public IfcGeometricRepresentationItem { public: - IfcTessellatedItem() {} - explicit IfcTessellatedItem (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcTessellatedItem initialize(); }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -23026,8 +22332,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteral has been changed by removing Font and Alignment. class IFC_PARSE_API IfcTextLiteral : public IfcGeometricRepresentationItem { public: - IfcTextLiteral() {} - explicit IfcTextLiteral (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The text literal to be presented. std::string Literal() const; @@ -23041,7 +22346,7 @@ public: void setPath(const ::Ifc4x3_tc1::IfcTextPath::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path); + IfcTextLiteral initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path); }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -23054,8 +22359,7 @@ public: /// IFC2x3 CHANGE  The IfcTextLiteralWithExtent has been changed by adding BoxAlignment. class IFC_PARSE_API IfcTextLiteralWithExtent : public IfcTextLiteral { public: - IfcTextLiteralWithExtent() {} - explicit IfcTextLiteralWithExtent (const std::weak_ptr& data) : IfcTextLiteral(data) {} + using IfcTextLiteral::IfcTextLiteral; /// The extent in the x and y direction of the text literal. ::Ifc4x3_tc1::IfcPlanarExtent Extent() const; @@ -23065,7 +22369,7 @@ public: void setBoxAlignment(const std::string& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path, ::Ifc4x3_tc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); + IfcTextLiteralWithExtent initialize(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path, ::Ifc4x3_tc1::IfcPlanarExtent v4_Extent, std::string v5_BoxAlignment); }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -23134,8 +22438,7 @@ public: /// HISTORY  New entity in IFC2x3. class IFC_PARSE_API IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - IfcTextStyleFontModel() {} - explicit IfcTextStyleFontModel (const std::weak_ptr& data) : IfcPreDefinedTextFont(data) {} + using IfcPreDefinedTextFont::IfcPreDefinedTextFont; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; @@ -23157,7 +22460,7 @@ public: void setFontSize(const ::Ifc4x3_tc1::IfcSizeSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_tc1::IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel initialize(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, std::optional< std::string > v3_FontStyle, std::optional< std::string > v4_FontVariant, std::optional< std::string > v5_FontWeight, ::Ifc4x3_tc1::IfcSizeSelect v6_FontSize); }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -23199,8 +22502,7 @@ public: /// Figure 325 — Trapezium profile class IFC_PARSE_API IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: - IfcTrapeziumProfileDef() {} - explicit IfcTrapeziumProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; @@ -23216,7 +22518,7 @@ public: void setTopXOffset(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); }; /// The object type defines the /// specific information about a type, being common to all @@ -23251,8 +22553,7 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IFC_PARSE_API IfcTypeObject : public IfcObjectDefinition { public: - IfcTypeObject() {} - explicit IfcTypeObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// @@ -23271,7 +22572,7 @@ public: std::vector< IfcRelDefinesByType > Types() const; // INVERSE IfcRelDefinesByType::RelatingType static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets); + IfcTypeObject initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets); }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -23303,8 +22604,7 @@ public: /// type. class IFC_PARSE_API IfcTypeProcess : public IfcTypeObject { public: - IfcTypeProcess() {} - explicit IfcTypeProcess (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a process type. std::optional< std::string > Identification() const; @@ -23320,7 +22620,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); + IfcTypeProcess initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType); }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -23390,8 +22690,7 @@ public: /// Figure 11 — Product type geometry with multiple placement class IFC_PARSE_API IfcTypeProduct : public IfcTypeObject { public: - IfcTypeProduct() {} - explicit IfcTypeProduct (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > RepresentationMaps() const; @@ -23402,7 +22701,7 @@ public: std::vector< IfcRelAssignsToProduct > ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); + IfcTypeProduct initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag); }; /// IfcTypeResource defines a specific (or type) definition of a resource.It is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. /// @@ -23418,8 +22717,7 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IFC_PARSE_API IfcTypeResource : public IfcTypeObject { public: - IfcTypeResource() {} - explicit IfcTypeResource (const std::weak_ptr& data) : IfcTypeObject(data) {} + using IfcTypeObject::IfcTypeObject; /// An identifying designation given to a resource type. std::optional< std::string > Identification() const; @@ -23435,7 +22733,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); + IfcTypeResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType); }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -23467,8 +22765,7 @@ public: /// Figure 327 — U-shape profile class IFC_PARSE_API IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcUShapeProfileDef() {} - explicit IfcUShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web lengths, see illustration above (= h). double Depth() const; @@ -23493,7 +22790,7 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius, std::optional< double > v10_FlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. /// @@ -23504,8 +22801,7 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcVector : public IfcGeometricRepresentationItem { public: - IfcVector() {} - explicit IfcVector (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction of the vector. ::Ifc4x3_tc1::IfcDirection Orientation() const; @@ -23515,7 +22811,7 @@ public: void setMagnitude(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDirection v1_Orientation, double v2_Magnitude); + IfcVector initialize(::Ifc4x3_tc1::IfcDirection v1_Orientation, double v2_Magnitude); }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -23531,15 +22827,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcVertexLoop : public IfcLoop { public: - IfcVertexLoop() {} - explicit IfcVertexLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// The vertex which defines the entire loop. ::Ifc4x3_tc1::IfcVertex LoopVertex() const; void setLoopVertex(const ::Ifc4x3_tc1::IfcVertex& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcVertex v1_LoopVertex); + IfcVertexLoop initialize(::Ifc4x3_tc1::IfcVertex v1_LoopVertex); }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -23568,8 +22863,7 @@ public: /// Figure 328 — Z-shape profile class IFC_PARSE_API IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcZShapeProfileDef() {} - explicit IfcZShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Web length, see illustration above (= h). double Depth() const; @@ -23591,7 +22885,7 @@ public: void setEdgeRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_EdgeRadius); }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. /// @@ -23608,12 +22902,11 @@ public: /// HISTORY  New entity in IFC2x4 class IFC_PARSE_API IfcAdvancedFace : public IfcFaceSurface { public: - IfcAdvancedFace() {} - explicit IfcAdvancedFace (const std::weak_ptr& data) : IfcFaceSurface(data) {} + using IfcFaceSurface::IfcFaceSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense); + IfcAdvancedFace initialize(std::vector< ::Ifc4x3_tc1::IfcFaceBound > v1_Bounds, ::Ifc4x3_tc1::IfcSurface v2_FaceSurface, bool v3_SameSense); }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. /// @@ -23637,8 +22930,7 @@ public: /// IFC2x3 CHANGE  The two attributes OuterBoundary and InnerBoundaries are added and replace the previous single boundary. class IFC_PARSE_API IfcAnnotationFillArea : public IfcGeometricRepresentationItem { public: - IfcAnnotationFillArea() {} - explicit IfcAnnotationFillArea (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// @@ -23652,7 +22944,7 @@ public: void setInnerBoundaries(const std::optional< std::vector< ::Ifc4x3_tc1::IfcCurve > >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_tc1::IfcCurve > > v2_InnerBoundaries); + IfcAnnotationFillArea initialize(::Ifc4x3_tc1::IfcCurve v1_OuterBoundary, std::optional< std::vector< ::Ifc4x3_tc1::IfcCurve > > v2_InnerBoundaries); }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -23693,8 +22985,7 @@ public: /// Figure 310 — Assymetric I-shape profile class IFC_PARSE_API IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcAsymmetricIShapeProfileDef() {} - explicit IfcAsymmetricIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; double BottomFlangeWidth() const; void setBottomFlangeWidth(const double& v); @@ -23725,7 +23016,7 @@ public: void setTopFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, std::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, std::optional< double > v10_TopFlangeThickness, std::optional< double > v11_TopFlangeFilletRadius, std::optional< double > v12_BottomFlangeEdgeRadius, std::optional< double > v13_BottomFlangeSlope, std::optional< double > v14_TopFlangeEdgeRadius, std::optional< double > v15_TopFlangeSlope); }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). /// @@ -23738,15 +23029,14 @@ public: /// Figure 274 — Axis1 placement class IFC_PARSE_API IfcAxis1Placement : public IfcPlacement { public: - IfcAxis1Placement() {} - explicit IfcAxis1Placement (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction of the local Z axis. ::Ifc4x3_tc1::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis); + IfcAxis1Placement initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. /// @@ -23761,15 +23051,14 @@ public: /// Figure 275 — Axis2 placement 2D class IFC_PARSE_API IfcAxis2Placement2D : public IfcPlacement { public: - IfcAxis2Placement2D() {} - explicit IfcAxis2Placement2D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. ::Ifc4x3_tc1::IfcDirection RefDirection() const; void setRefDirection(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_RefDirection); + IfcAxis2Placement2D initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. /// @@ -23786,8 +23075,7 @@ public: /// Figure 276 — Axis2 placement 3D class IFC_PARSE_API IfcAxis2Placement3D : public IfcPlacement { public: - IfcAxis2Placement3D() {} - explicit IfcAxis2Placement3D (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; /// The exact direction of the local Z Axis. ::Ifc4x3_tc1::IfcDirection Axis() const; @@ -23797,13 +23085,12 @@ public: void setRefDirection(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection); + IfcAxis2Placement3D initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection); }; class IFC_PARSE_API IfcAxis2PlacementLinear : public IfcPlacement { public: - IfcAxis2PlacementLinear() {} - explicit IfcAxis2PlacementLinear (const std::weak_ptr& data) : IfcPlacement(data) {} + using IfcPlacement::IfcPlacement; ::Ifc4x3_tc1::IfcDirection Axis() const; void setAxis(const ::Ifc4x3_tc1::IfcDirection& v); @@ -23811,7 +23098,7 @@ public: void setRefDirection(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection); + IfcAxis2PlacementLinear initialize(::Ifc4x3_tc1::IfcPoint v1_Location, ::Ifc4x3_tc1::IfcDirection v2_Axis, ::Ifc4x3_tc1::IfcDirection v3_RefDirection); }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -23841,8 +23128,7 @@ public: /// HISTORY: New class in IFC Release 1.5.1. class IFC_PARSE_API IfcBooleanResult : public IfcGeometricRepresentationItem { public: - IfcBooleanResult() {} - explicit IfcBooleanResult (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The Boolean operator used in the operation to create the result. ::Ifc4x3_tc1::IfcBooleanOperator::Value Operator() const; @@ -23855,7 +23141,7 @@ public: void setSecondOperand(const ::Ifc4x3_tc1::IfcBooleanOperand& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -23871,12 +23157,11 @@ public: /// A bounded surface has boundary curves. class IFC_PARSE_API IfcBoundedSurface : public IfcSurface { public: - IfcBoundedSurface() {} - explicit IfcBoundedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedSurface initialize(); }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -23902,8 +23187,7 @@ public: /// Figure 252 — Bounding box class IFC_PARSE_API IfcBoundingBox : public IfcGeometricRepresentationItem { public: - IfcBoundingBox() {} - explicit IfcBoundingBox (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// Location of the bottom left corner (having the minimum values). ::Ifc4x3_tc1::IfcCartesianPoint Corner() const; @@ -23919,7 +23203,7 @@ public: void setZDim(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); + IfcBoundingBox initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -23953,15 +23237,14 @@ public: /// Figure 254 — Boxed half space geometry class IFC_PARSE_API IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: - IfcBoxedHalfSpace() {} - explicit IfcBoxedHalfSpace (const std::weak_ptr& data) : IfcHalfSpaceSolid(data) {} + using IfcHalfSpaceSolid::IfcHalfSpaceSolid; /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. ::Ifc4x3_tc1::IfcBoundingBox Enclosure() const; void setEnclosure(const ::Ifc4x3_tc1::IfcBoundingBox& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcBoundingBox v3_Enclosure); + IfcBoxedHalfSpace initialize(::Ifc4x3_tc1::IfcSurface v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcBoundingBox v3_Enclosure); }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -23987,8 +23270,7 @@ public: /// Figure 315 — C-shape profile class IFC_PARSE_API IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcCShapeProfileDef() {} - explicit IfcCShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Profile depth, see illustration above (= h). double Depth() const; @@ -24007,7 +23289,7 @@ public: void setInternalFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, std::optional< double > v8_InternalFilletRadius); }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. /// @@ -24018,31 +23300,28 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcCartesianPoint : public IfcPoint { public: - IfcCartesianPoint() {} - explicit IfcCartesianPoint (const std::weak_ptr& data) : IfcPoint(data) {} + using IfcPoint::IfcPoint; /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; void setCoordinates(const std::vector< double > /*[1:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint initialize(std::vector< double > /*[1:3]*/ v1_Coordinates); }; class IFC_PARSE_API IfcCartesianPointList : public IfcGeometricRepresentationItem { public: - IfcCartesianPointList() {} - explicit IfcCartesianPointList (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCartesianPointList initialize(); }; class IFC_PARSE_API IfcCartesianPointList2D : public IfcCartesianPointList { public: - IfcCartesianPointList2D() {} - explicit IfcCartesianPointList2D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24050,13 +23329,12 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList2D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; class IFC_PARSE_API IfcCartesianPointList3D : public IfcCartesianPointList { public: - IfcCartesianPointList3D() {} - explicit IfcCartesianPointList3D (const std::weak_ptr& data) : IfcCartesianPointList(data) {} + using IfcCartesianPointList::IfcCartesianPointList; std::vector< std::vector< double > > CoordList() const; void setCoordList(const std::vector< std::vector< double > >& v); @@ -24064,7 +23342,7 @@ public: void setTagList(const std::optional< std::vector< std::string > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); + IfcCartesianPointList3D initialize(std::vector< std::vector< double > > v1_CoordList, std::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -24098,8 +23376,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - IfcCartesianTransformationOperator() {} - explicit IfcCartesianTransformationOperator (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The direction used to determine U[1], the derived X axis direction. ::Ifc4x3_tc1::IfcDirection Axis1() const; @@ -24115,7 +23392,7 @@ public: void setScale(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24124,12 +23401,11 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator2D() {} - explicit IfcCartesianTransformationOperator2D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale); }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: /// @@ -24143,15 +23419,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - IfcCartesianTransformationOperator2DnonUniform() {} - explicit IfcCartesianTransformationOperator2DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator2D(data) {} + using IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; void setScale2(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, std::optional< double > v5_Scale2); }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. /// @@ -24160,15 +23435,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - IfcCartesianTransformationOperator3D() {} - explicit IfcCartesianTransformationOperator3D (const std::weak_ptr& data) : IfcCartesianTransformationOperator(data) {} + using IfcCartesianTransformationOperator::IfcCartesianTransformationOperator; /// The exact direction of U[3], the derived Z axis direction. ::Ifc4x3_tc1::IfcDirection Axis3() const; void setAxis3(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3); + IfcCartesianTransformationOperator3D initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3); }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: /// @@ -24183,8 +23457,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - IfcCartesianTransformationOperator3DnonUniform() {} - explicit IfcCartesianTransformationOperator3DnonUniform (const std::weak_ptr& data) : IfcCartesianTransformationOperator3D(data) {} + using IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. std::optional< double > Scale2() const; @@ -24194,7 +23467,7 @@ public: void setScale3(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform initialize(::Ifc4x3_tc1::IfcDirection v1_Axis1, ::Ifc4x3_tc1::IfcDirection v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint v3_LocalOrigin, std::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection v5_Axis3, std::optional< double > v6_Scale2, std::optional< double > v7_Scale3); }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. /// @@ -24210,15 +23483,14 @@ public: /// Figure 313 — Circle profile class IFC_PARSE_API IfcCircleProfileDef : public IfcParameterizedProfileDef { public: - IfcCircleProfileDef() {} - explicit IfcCircleProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The radius of the circle. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius); + IfcCircleProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius); }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -24271,12 +23543,11 @@ public: /// 10303-42:1994, p.149 for the equation. class IFC_PARSE_API IfcClosedShell : public IfcConnectedFaceSet { public: - IfcClosedShell() {} - explicit IfcClosedShell (const std::weak_ptr& data) : IfcConnectedFaceSet(data) {} + using IfcConnectedFaceSet::IfcConnectedFaceSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces); + IfcClosedShell initialize(std::vector< ::Ifc4x3_tc1::IfcFace > v1_CfsFaces); }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. /// @@ -24288,8 +23559,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcColourRgb : public IfcColourSpecification { public: - IfcColourRgb() {} - explicit IfcColourRgb (const std::weak_ptr& data) : IfcColourSpecification(data) {} + using IfcColourSpecification::IfcColourSpecification; /// The intensity of the red colour component. /// @@ -24308,7 +23578,7 @@ public: void setBlue(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); + IfcColourRgb initialize(std::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -24317,8 +23587,7 @@ public: /// HISTORY New Entity in IFC Release 2.0, capabilities enhanced in IFC Release 2x. class IFC_PARSE_API IfcComplexProperty : public IfcProperty { public: - IfcComplexProperty() {} - explicit IfcComplexProperty (const std::weak_ptr& data) : IfcProperty(data) {} + using IfcProperty::IfcProperty; /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. @@ -24329,7 +23598,7 @@ public: void setHasProperties(const std::vector< ::Ifc4x3_tc1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_tc1::IfcProperty > v4_HasProperties); + IfcComplexProperty initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::string v3_UsageName, std::vector< ::Ifc4x3_tc1::IfcProperty > v4_HasProperties); }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -24340,8 +23609,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcCompositeCurveSegment : public IfcSegment { public: - IfcCompositeCurveSegment() {} - explicit IfcCompositeCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// @@ -24353,7 +23621,7 @@ public: void setParentCurve(const ::Ifc4x3_tc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve); + IfcCompositeCurveSegment initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve); }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -24372,8 +23640,7 @@ public: /// Figure 193 — Construction resource type assignment class IFC_PARSE_API IfcConstructionResourceType : public IfcTypeResource { public: - IfcConstructionResourceType() {} - explicit IfcConstructionResourceType (const std::weak_ptr& data) : IfcTypeResource(data) {} + using IfcTypeResource::IfcTypeResource; std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > BaseCosts() const; void setBaseCosts(const std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > >& v); @@ -24381,7 +23648,7 @@ public: void setBaseQuantity(const ::Ifc4x3_tc1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity); + IfcConstructionResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity); }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. /// @@ -24398,8 +23665,7 @@ public: /// More specific relationships are introduced at the level of subtypes. class IFC_PARSE_API IfcContext : public IfcObjectDefinition { public: - IfcContext() {} - explicit IfcContext (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. std::optional< std::string > ObjectType() const; @@ -24424,7 +23690,7 @@ public: std::vector< IfcRelDeclares > Declares() const; // INVERSE IfcRelDeclares::RelatingContext static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext); + IfcContext initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext); }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -24438,15 +23704,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCrewResourceType : public IfcConstructionResourceType { public: - IfcCrewResourceType() {} - explicit IfcCrewResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of crew resources. ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); + IfcCrewResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType); }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -24455,15 +23720,14 @@ public: /// HISTORY New entity in IFC2x3. class IFC_PARSE_API IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: - IfcCsgPrimitive3D() {} - explicit IfcCsgPrimitive3D (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The placement coordinate system to which the parameters of each individual CSG primitive apply. ::Ifc4x3_tc1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position); + IfcCsgPrimitive3D initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position); }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -24508,15 +23772,14 @@ public: /// HISTORY New class in IFC Release 1.5.1 class IFC_PARSE_API IfcCsgSolid : public IfcSolidModel { public: - IfcCsgSolid() {} - explicit IfcCsgSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). ::Ifc4x3_tc1::IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(const ::Ifc4x3_tc1::IfcCsgSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid initialize(::Ifc4x3_tc1::IfcCsgSelect v1_TreeRootExpression); }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -24530,12 +23793,11 @@ public: /// A curve shall have an arc length greater than zero. class IFC_PARSE_API IfcCurve : public IfcGeometricRepresentationItem { public: - IfcCurve() {} - explicit IfcCurve (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; static const ifcopenshell::entity& Class(); - void initialize(); + IfcCurve initialize(); }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24552,8 +23814,7 @@ public: /// IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange. class IFC_PARSE_API IfcCurveBoundedPlane : public IfcBoundedSurface { public: - IfcCurveBoundedPlane() {} - explicit IfcCurveBoundedPlane (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bound. ::Ifc4x3_tc1::IfcPlane BasisSurface() const; @@ -24566,7 +23827,7 @@ public: void setInnerBoundaries(const std::vector< ::Ifc4x3_tc1::IfcCurve >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPlane v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_tc1::IfcCurve > v3_InnerBoundaries); + IfcCurveBoundedPlane initialize(::Ifc4x3_tc1::IfcPlane v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_OuterBoundary, std::vector< ::Ifc4x3_tc1::IfcCurve > v3_InnerBoundaries); }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -24591,8 +23852,7 @@ public: /// At most one of the boundary curves may enclose any other boundary curve. If an IfcOuterBoundaryCurve is designated, only that curve may enclose any other boundary curve. class IFC_PARSE_API IfcCurveBoundedSurface : public IfcBoundedSurface { public: - IfcCurveBoundedSurface() {} - explicit IfcCurveBoundedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// The surface to be bounded. ::Ifc4x3_tc1::IfcSurface BasisSurface() const; @@ -24604,13 +23864,12 @@ public: void setImplicitOuter(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_tc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); + IfcCurveBoundedSurface initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, std::vector< ::Ifc4x3_tc1::IfcBoundaryCurve > v2_Boundaries, bool v3_ImplicitOuter); }; class IFC_PARSE_API IfcCurveSegment : public IfcSegment { public: - IfcCurveSegment() {} - explicit IfcCurveSegment (const std::weak_ptr& data) : IfcSegment(data) {} + using IfcSegment::IfcSegment; ::Ifc4x3_tc1::IfcPlacement Placement() const; void setPlacement(const ::Ifc4x3_tc1::IfcPlacement& v); @@ -24622,7 +23881,7 @@ public: void setParentCurve(const ::Ifc4x3_tc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_tc1::IfcPlacement v2_Placement, ::Ifc4x3_tc1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_tc1::IfcCurve v5_ParentCurve); + IfcCurveSegment initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_tc1::IfcPlacement v2_Placement, ::Ifc4x3_tc1::IfcCurveMeasureSelect v3_SegmentStart, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_SegmentLength, ::Ifc4x3_tc1::IfcCurve v5_ParentCurve); }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. /// @@ -24633,21 +23892,19 @@ public: /// HISTORY: New entity in IFC Release 1.0 class IFC_PARSE_API IfcDirection : public IfcGeometricRepresentationItem { public: - IfcDirection() {} - explicit IfcDirection (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(const std::vector< double > /*[2:3]*/& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); + IfcDirection initialize(std::vector< double > /*[2:3]*/ v1_DirectionRatios); }; class IFC_PARSE_API IfcDirectrixCurveSweptAreaSolid : public IfcSweptAreaSolid { public: - IfcDirectrixCurveSweptAreaSolid() {} - explicit IfcDirectrixCurveSweptAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; ::Ifc4x3_tc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_tc1::IfcCurve& v); @@ -24657,7 +23914,7 @@ public: void setEndParam(const ::Ifc4x3_tc1::IfcCurveMeasureSelect& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam); + IfcDirectrixCurveSweptAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam); }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -24672,15 +23929,14 @@ public: /// HISTORY  New Entity in IFC2x2. class IFC_PARSE_API IfcEdgeLoop : public IfcLoop { public: - IfcEdgeLoop() {} - explicit IfcEdgeLoop (const std::weak_ptr& data) : IfcLoop(data) {} + using IfcLoop::IfcLoop; /// A list of oriented edge entities which are concatenated together to form this path. std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > EdgeList() const; void setEdgeList(const std::vector< ::Ifc4x3_tc1::IfcOrientedEdge >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList); + IfcEdgeLoop initialize(std::vector< ::Ifc4x3_tc1::IfcOrientedEdge > v1_EdgeList); }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -24761,8 +24017,7 @@ public: /// attribute as published as part of the IFC specifciation. class IFC_PARSE_API IfcElementQuantity : public IfcQuantitySet { public: - IfcElementQuantity() {} - explicit IfcElementQuantity (const std::weak_ptr& data) : IfcQuantitySet(data) {} + using IfcQuantitySet::IfcQuantitySet; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// @@ -24774,7 +24029,7 @@ public: void setQuantities(const std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v6_Quantities); + IfcElementQuantity initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_MethodOfMeasurement, std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > v6_Quantities); }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -24800,15 +24055,14 @@ public: /// Release IFC2x Edition 2 class IFC_PARSE_API IfcElementType : public IfcTypeProduct { public: - IfcElementType() {} - explicit IfcElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -24817,15 +24071,14 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcElementarySurface : public IfcSurface { public: - IfcElementarySurface() {} - explicit IfcElementarySurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. ::Ifc4x3_tc1::IfcAxis2Placement3D Position() const; void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position); + IfcElementarySurface initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position); }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -24845,8 +24098,7 @@ public: /// Figure 317 — Ellipse profile class IFC_PARSE_API IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: - IfcEllipseProfileDef() {} - explicit IfcEllipseProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; @@ -24856,7 +24108,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -24866,8 +24118,7 @@ public: /// Usage of IfcEventType defines the parameters for one or more occurrences of IfcEvent. Parameters may be specified through property sets that may be enumerated in the IfcEventTypeEnum data type or through explicit attributes of IfcEvent. Event occurrences (IfcEvent entities) are linked to the event type through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcEventType : public IfcTypeProcess { public: - IfcEventType() {} - explicit IfcEventType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -24884,7 +24135,7 @@ public: void setUserDefinedEventTriggerType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, std::optional< std::string > v12_UserDefinedEventTriggerType); }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -24956,8 +24207,7 @@ public: /// Figure 256 — Extruded area solid textures class IFC_PARSE_API IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: - IfcExtrudedAreaSolid() {} - explicit IfcExtrudedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// The direction in which the surface, provided by SweptArea is to be swept. ::Ifc4x3_tc1::IfcDirection ExtrudedDirection() const; @@ -24968,7 +24218,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -25070,15 +24320,14 @@ public: /// not be used class IFC_PARSE_API IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: - IfcExtrudedAreaSolidTapered() {} - explicit IfcExtrudedAreaSolidTapered (const std::weak_ptr& data) : IfcExtrudedAreaSolid(data) {} + using IfcExtrudedAreaSolid::IfcExtrudedAreaSolid; /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. ::Ifc4x3_tc1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_tc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea); + IfcExtrudedAreaSolidTapered initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea); }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -25094,15 +24343,14 @@ public: /// The fbsm faces have dimensionality 2. class IFC_PARSE_API IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcFaceBasedSurfaceModel() {} - explicit IfcFaceBasedSurfaceModel (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The set of connected face sets comprising the face based surface model. std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet > FbsmFaces() const; void setFbsmFaces(const std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet > v1_FbsmFaces); + IfcFaceBasedSurfaceModel initialize(std::vector< ::Ifc4x3_tc1::IfcConnectedFaceSet > v1_FbsmFaces); }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -25153,8 +24401,7 @@ public: /// IFC2x3 CHANGE  The IfcFillAreaStyleHatching has been changed by making the attributes PatternStart and PointOfReferenceHatchLine OPTIONAL. The attribute StartOfNextHatchLine has changed to a SELECT with the additional choice of IfcPositiveLengthMeasure. Upward compatibility for file based exchange is guaranteed. class IFC_PARSE_API IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleHatching() {} - explicit IfcFillAreaStyleHatching (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. ::Ifc4x3_tc1::IfcCurveStyle HatchLineAppearance() const; @@ -25181,7 +24428,7 @@ public: void setHatchLineAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_tc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching initialize(::Ifc4x3_tc1::IfcCurveStyle v1_HatchLineAppearance, ::Ifc4x3_tc1::IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v3_PointOfReferenceHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint v4_PatternStart, double v5_HatchLineAngle); }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. /// @@ -25190,8 +24437,7 @@ public: /// HISTORY New entity in IFC2x2. class IFC_PARSE_API IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: - IfcFillAreaStyleTiles() {} - explicit IfcFillAreaStyleTiles (const std::weak_ptr& data) : IfcGeometricRepresentationItem(data) {} + using IfcGeometricRepresentationItem::IfcGeometricRepresentationItem; /// A two direction repeat factor defining the shape and relative positioning of the tiles. std::vector< ::Ifc4x3_tc1::IfcVector > TilingPattern() const; @@ -25204,7 +24450,7 @@ public: void setTilingScale(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_tc1::IfcStyledItem > v2_Tiles, double v3_TilingScale); + IfcFillAreaStyleTiles initialize(std::vector< ::Ifc4x3_tc1::IfcVector > v1_TilingPattern, std::vector< ::Ifc4x3_tc1::IfcStyledItem > v2_Tiles, double v3_TilingScale); }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -25266,15 +24512,14 @@ public: /// The Directrix curve shall be tangent continuous. class IFC_PARSE_API IfcFixedReferenceSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcFixedReferenceSweptAreaSolid() {} - explicit IfcFixedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. ::Ifc4x3_tc1::IfcDirection FixedReference() const; void setFixedReference(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference); + IfcFixedReferenceSweptAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -25306,12 +24551,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcFurnishingElementType : public IfcElementType { public: - IfcFurnishingElementType() {} - explicit IfcFurnishingElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFurnishingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -25352,8 +24596,7 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurnitureType : public IfcFurnishingElementType { public: - IfcFurnitureType() {} - explicit IfcFurnitureType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value AssemblyPlace() const; @@ -25362,7 +24605,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); + IfcFurnitureType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -25427,15 +24670,14 @@ public: /// in property sets. class IFC_PARSE_API IfcGeographicElementType : public IfcElementType { public: - IfcGeographicElementType() {} - explicit IfcGeographicElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); + IfcGeographicElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -25446,12 +24688,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcGeometricCurveSet : public IfcGeometricSet { public: - IfcGeometricCurveSet() {} - explicit IfcGeometricCurveSet (const std::weak_ptr& data) : IfcGeometricSet(data) {} + using IfcGeometricSet::IfcGeometricSet; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements); + IfcGeometricCurveSet initialize(std::vector< ::Ifc4x3_tc1::IfcGeometricSetSelect > v1_Elements); }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -25518,8 +24759,7 @@ public: /// Figure 318 — I-shape profile class IFC_PARSE_API IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcIShapeProfileDef() {} - explicit IfcIShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; @@ -25542,13 +24782,12 @@ public: void setFlangeSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, std::optional< double > v8_FilletRadius, std::optional< double > v9_FlangeEdgeRadius, std::optional< double > v10_FlangeSlope); }; class IFC_PARSE_API IfcIndexedPolygonalFace : public IfcTessellatedItem { public: - IfcIndexedPolygonalFace() {} - explicit IfcIndexedPolygonalFace (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; std::vector< int > /*[3:?]*/ CoordIndex() const; void setCoordIndex(const std::vector< int > /*[3:?]*/& v); @@ -25556,31 +24795,29 @@ public: std::vector< IfcTextureCoordinateIndices > HasTexCoords() const; // INVERSE IfcTextureCoordinateIndices::TexCoordsOf static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); + IfcIndexedPolygonalFace initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex); }; class IFC_PARSE_API IfcIndexedPolygonalFaceWithVoids : public IfcIndexedPolygonalFace { public: - IfcIndexedPolygonalFaceWithVoids() {} - explicit IfcIndexedPolygonalFaceWithVoids (const std::weak_ptr& data) : IfcIndexedPolygonalFace(data) {} + using IfcIndexedPolygonalFace::IfcIndexedPolygonalFace; std::vector< std::vector< int > > InnerCoordIndices() const; void setInnerCoordIndices(const std::vector< std::vector< int > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); + IfcIndexedPolygonalFaceWithVoids initialize(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices); }; class IFC_PARSE_API IfcIndexedPolygonalTextureMap : public IfcIndexedTextureMap { public: - IfcIndexedPolygonalTextureMap() {} - explicit IfcIndexedPolygonalTextureMap (const std::weak_ptr& data) : IfcIndexedTextureMap(data) {} + using IfcIndexedTextureMap::IfcIndexedTextureMap; std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices > TexCoordIndices() const; void setTexCoordIndices(const std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices > v4_TexCoordIndices); + IfcIndexedPolygonalTextureMap initialize(std::vector< ::Ifc4x3_tc1::IfcSurfaceTexture > v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList v3_TexCoords, std::vector< ::Ifc4x3_tc1::IfcTextureCoordinateIndices > v4_TexCoordIndices); }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -25635,8 +24872,7 @@ public: /// Figure 319 — L-shape profile class IFC_PARSE_API IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcLShapeProfileDef() {} - explicit IfcLShapeProfileDef (const std::weak_ptr& data) : IfcParameterizedProfileDef(data) {} + using IfcParameterizedProfileDef::IfcParameterizedProfileDef; /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; @@ -25658,7 +24894,7 @@ public: void setLegSlope(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); + IfcLShapeProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Depth, std::optional< double > v5_Width, double v6_Thickness, std::optional< double > v7_FilletRadius, std::optional< double > v8_EdgeRadius, std::optional< double > v9_LegSlope); }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -25673,15 +24909,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcLaborResourceType : public IfcConstructionResourceType { public: - IfcLaborResourceType() {} - explicit IfcLaborResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of labor resources. ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); + IfcLaborResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -25698,8 +24933,7 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcLine : public IfcCurve { public: - IfcLine() {} - explicit IfcLine (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location of the line. ::Ifc4x3_tc1::IfcCartesianPoint Pnt() const; @@ -25709,7 +24943,7 @@ public: void setDir(const ::Ifc4x3_tc1::IfcVector& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_tc1::IfcVector v2_Dir); + IfcLine initialize(::Ifc4x3_tc1::IfcCartesianPoint v1_Pnt, ::Ifc4x3_tc1::IfcVector v2_Dir); }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -25776,15 +25010,14 @@ public: /// the genus values for the shells of the brep. class IFC_PARSE_API IfcManifoldSolidBrep : public IfcSolidModel { public: - IfcManifoldSolidBrep() {} - explicit IfcManifoldSolidBrep (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. ::Ifc4x3_tc1::IfcClosedShell Outer() const; void setOuter(const ::Ifc4x3_tc1::IfcClosedShell& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer); + IfcManifoldSolidBrep initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer); }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -25870,8 +25103,7 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IFC_PARSE_API IfcObject : public IfcObjectDefinition { public: - IfcObject() {} - explicit IfcObject (const std::weak_ptr& data) : IfcObjectDefinition(data) {} + using IfcObjectDefinition::IfcObjectDefinition; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. std::optional< std::string > ObjectType() const; @@ -25882,19 +25114,18 @@ public: std::vector< IfcRelDefinesByProperties > IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcObject initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; class IFC_PARSE_API IfcOffsetCurve : public IfcCurve { public: - IfcOffsetCurve() {} - explicit IfcOffsetCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_tc1::IfcCurve BasisCurve() const; void setBasisCurve(const ::Ifc4x3_tc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve); + IfcOffsetCurve initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. /// @@ -25909,8 +25140,7 @@ public: /// HISTORY New entity in IFC Release 2.x class IFC_PARSE_API IfcOffsetCurve2D : public IfcOffsetCurve { public: - IfcOffsetCurve2D() {} - explicit IfcOffsetCurve2D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; @@ -25920,7 +25150,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); + IfcOffsetCurve2D initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -25939,8 +25169,7 @@ public: /// At no point on the curve shall ref direction be parallel, or opposite to, the direction of the tangent vector. class IFC_PARSE_API IfcOffsetCurve3D : public IfcOffsetCurve { public: - IfcOffsetCurve3D() {} - explicit IfcOffsetCurve3D (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; @@ -25953,13 +25182,12 @@ public: void setRefDirection(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_tc1::IfcDirection v4_RefDirection); + IfcOffsetCurve3D initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_tc1::IfcDirection v4_RefDirection); }; class IFC_PARSE_API IfcOffsetCurveByDistances : public IfcOffsetCurve { public: - IfcOffsetCurveByDistances() {} - explicit IfcOffsetCurveByDistances (const std::weak_ptr& data) : IfcOffsetCurve(data) {} + using IfcOffsetCurve::IfcOffsetCurve; std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression > OffsetValues() const; void setOffsetValues(const std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression >& v); @@ -25967,7 +25195,7 @@ public: void setTag(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); + IfcOffsetCurveByDistances initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcPointByDistanceExpression > v2_OffsetValues, std::optional< std::string > v3_Tag); }; /// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. /// @@ -25978,8 +25206,7 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcPcurve : public IfcCurve { public: - IfcPcurve() {} - explicit IfcPcurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_tc1::IfcSurface BasisSurface() const; void setBasisSurface(const ::Ifc4x3_tc1::IfcSurface& v); @@ -25987,7 +25214,7 @@ public: void setReferenceCurve(const ::Ifc4x3_tc1::IfcCurve& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_ReferenceCurve); + IfcPcurve initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve v2_ReferenceCurve); }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. /// @@ -25997,8 +25224,7 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPlanarBox : public IfcPlanarExtent { public: - IfcPlanarBox() {} - explicit IfcPlanarBox (const std::weak_ptr& data) : IfcPlanarExtent(data) {} + using IfcPlanarExtent::IfcPlanarExtent; /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. @@ -26006,7 +25232,7 @@ public: void setPlacement(const ::Ifc4x3_tc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_tc1::IfcAxis2Placement v3_Placement); + IfcPlanarBox initialize(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_tc1::IfcAxis2Placement v3_Placement); }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -26046,18 +25272,16 @@ public: /// HISTORY New class in IFC Release 1.5 class IFC_PARSE_API IfcPlane : public IfcElementarySurface { public: - IfcPlane() {} - explicit IfcPlane (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position); + IfcPlane initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position); }; class IFC_PARSE_API IfcPolynomialCurve : public IfcCurve { public: - IfcPolynomialCurve() {} - explicit IfcPolynomialCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_tc1::IfcPlacement Position() const; void setPosition(const ::Ifc4x3_tc1::IfcPlacement& v); @@ -26069,7 +25293,7 @@ public: void setCoefficientsZ(const std::optional< std::vector< double > /*[2:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); + IfcPolynomialCurve initialize(::Ifc4x3_tc1::IfcPlacement v1_Position, std::optional< std::vector< double > /*[2:?]*/ > v2_CoefficientsX, std::optional< std::vector< double > /*[2:?]*/ > v3_CoefficientsY, std::optional< std::vector< double > /*[2:?]*/ > v4_CoefficientsZ); }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -26078,12 +25302,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedColour : public IfcPreDefinedItem { public: - IfcPreDefinedColour() {} - explicit IfcPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedColour initialize(std::string v1_Name); }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -26094,12 +25317,11 @@ public: /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcPreDefinedCurveFont : public IfcPreDefinedItem { public: - IfcPreDefinedCurveFont() {} - explicit IfcPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedItem(data) {} + using IfcPreDefinedItem::IfcPreDefinedItem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcPreDefinedCurveFont initialize(std::string v1_Name); }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -26123,12 +25345,11 @@ public: /// DefinesType. class IFC_PARSE_API IfcPreDefinedPropertySet : public IfcPropertySetDefinition { public: - IfcPreDefinedPropertySet() {} - explicit IfcPreDefinedPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPreDefinedPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -26145,8 +25366,7 @@ public: /// through the IfcRelDefinesByType relationship. class IFC_PARSE_API IfcProcedureType : public IfcTypeProcess { public: - IfcProcedureType() {} - explicit IfcProcedureType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -26154,7 +25374,7 @@ public: void setPredefinedType(const ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v10_PredefinedType); + IfcProcedureType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -26198,8 +25418,7 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IFC_PARSE_API IfcProcess : public IfcObject { public: - IfcProcess() {} - explicit IfcProcess (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. @@ -26217,7 +25436,7 @@ public: std::vector< IfcRelAssignsToProcess > OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcProcess initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -26312,8 +25531,7 @@ public: /// underlying geometry of the topological items). class IFC_PARSE_API IfcProduct : public IfcObject { public: - IfcProduct() {} - explicit IfcProduct (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. ::Ifc4x3_tc1::IfcObjectPlacement ObjectPlacement() const; @@ -26326,7 +25544,7 @@ public: std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcProduct initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -26374,12 +25592,11 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IFC_PARSE_API IfcProject : public IfcContext { public: - IfcProject() {} - explicit IfcProject (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext); + IfcProject initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext); }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -26407,12 +25624,11 @@ public: /// An IfcProjectLibrary may be decomposed into sub libraries using the relationship IfcRelNests. Sub libraries are accessed by the IfcProjectLibrary through the inverse attribute IsNestedBy. class IFC_PARSE_API IfcProjectLibrary : public IfcContext { public: - IfcProjectLibrary() {} - explicit IfcProjectLibrary (const std::weak_ptr& data) : IfcContext(data) {} + using IfcContext::IfcContext; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext); + IfcProjectLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< std::string > v7_Phase, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationContext > > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment v9_UnitsInContext); }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -26520,8 +25736,7 @@ public: /// UpperBoundValue > LowerBoundValue. class IFC_PARSE_API IfcPropertyBoundedValue : public IfcSimpleProperty { public: - IfcPropertyBoundedValue() {} - explicit IfcPropertyBoundedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). ::Ifc4x3_tc1::IfcValue UpperBoundValue() const; @@ -26539,7 +25754,7 @@ public: void setSetPointValue(const ::Ifc4x3_tc1::IfcValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_tc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_tc1::IfcUnit v5_Unit, ::Ifc4x3_tc1::IfcValue v6_SetPointValue); + IfcPropertyBoundedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_UpperBoundValue, ::Ifc4x3_tc1::IfcValue v4_LowerBoundValue, ::Ifc4x3_tc1::IfcUnit v5_Unit, ::Ifc4x3_tc1::IfcValue v6_SetPointValue); }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -26620,8 +25835,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - IfcPropertyEnumeratedValue() {} - explicit IfcPropertyEnumeratedValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// @@ -26633,7 +25847,7 @@ public: void setEnumerationReference(const ::Ifc4x3_tc1::IfcPropertyEnumeration& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration v4_EnumerationReference); + IfcPropertyEnumeratedValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration v4_EnumerationReference); }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -26702,8 +25916,7 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertyListValue : public IfcSimpleProperty { public: - IfcPropertyListValue() {} - explicit IfcPropertyListValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of property values. /// @@ -26715,7 +25928,7 @@ public: void setUnit(const ::Ifc4x3_tc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_ListValues, ::Ifc4x3_tc1::IfcUnit v4_Unit); + IfcPropertyListValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_ListValues, ::Ifc4x3_tc1::IfcUnit v4_Unit); }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -26734,8 +25947,7 @@ public: /// compatibility for file based exchange. class IFC_PARSE_API IfcPropertyReferenceValue : public IfcSimpleProperty { public: - IfcPropertyReferenceValue() {} - explicit IfcPropertyReferenceValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Description of the use of the referenced value within the property. std::optional< std::string > UsageName() const; @@ -26747,7 +25959,7 @@ public: void setPropertyReference(const ::Ifc4x3_tc1::IfcObjectReferenceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_tc1::IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::string > v3_UsageName, ::Ifc4x3_tc1::IfcObjectReferenceSelect v4_PropertyReference); }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -26804,15 +26016,14 @@ public: /// "Pset_" prefix. class IFC_PARSE_API IfcPropertySet : public IfcPropertySetDefinition { public: - IfcPropertySet() {} - explicit IfcPropertySet (const std::weak_ptr& data) : IfcPropertySetDefinition(data) {} + using IfcPropertySetDefinition::IfcPropertySetDefinition; /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. std::vector< ::Ifc4x3_tc1::IfcProperty > HasProperties() const; void setHasProperties(const std::vector< ::Ifc4x3_tc1::IfcProperty >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v5_HasProperties); + IfcPropertySet initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProperty > v5_HasProperties); }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -26847,8 +26058,7 @@ public: /// Figure 5 — Property set template relationships class IFC_PARSE_API IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertySetTemplate() {} - explicit IfcPropertySetTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). @@ -26872,7 +26082,7 @@ public: std::vector< IfcRelDefinesByTemplate > Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > v7_HasPropertyTemplates); + IfcPropertySetTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_ApplicableEntity, std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > v7_HasPropertyTemplates); }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -26920,8 +26130,7 @@ public: /// IFC2x3 CHANGE Attribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IFC_PARSE_API IfcPropertySingleValue : public IfcSimpleProperty { public: - IfcPropertySingleValue() {} - explicit IfcPropertySingleValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// Value and measure type of this property. /// @@ -26935,7 +26144,7 @@ public: void setUnit(const ::Ifc4x3_tc1::IfcUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_NominalValue, ::Ifc4x3_tc1::IfcUnit v4_Unit); + IfcPropertySingleValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue v3_NominalValue, ::Ifc4x3_tc1::IfcUnit v4_Unit); }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -27055,8 +26264,7 @@ public: /// DefiningValues are corresponding lists. class IFC_PARSE_API IfcPropertyTableValue : public IfcSimpleProperty { public: - IfcPropertyTableValue() {} - explicit IfcPropertyTableValue (const std::weak_ptr& data) : IfcSimpleProperty(data) {} + using IfcSimpleProperty::IfcSimpleProperty; /// List of defining values, which determine the defined values. This list shall have unique values only. /// @@ -27084,7 +26292,7 @@ public: void setCurveInterpolation(const std::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); + IfcPropertyTableValue initialize(std::string v1_Name, std::optional< std::string > v2_Specification, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v3_DefiningValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcValue > > v4_DefinedValues, std::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit v7_DefinedUnit, std::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation); }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -27112,14 +26320,13 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcPropertyTemplate : public IfcPropertyTemplateDefinition { public: - IfcPropertyTemplate() {} - explicit IfcPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplateDefinition(data) {} + using IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition; std::vector< IfcComplexPropertyTemplate > PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates std::vector< IfcPropertySetTemplate > PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. /// @@ -27143,8 +26350,7 @@ public: /// Figure 322 — Rectangle hollow profile class IFC_PARSE_API IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: - IfcRectangleHollowProfileDef() {} - explicit IfcRectangleHollowProfileDef (const std::weak_ptr& data) : IfcRectangleProfileDef(data) {} + using IfcRectangleProfileDef::IfcRectangleProfileDef; /// Thickness of the material. double WallThickness() const; @@ -27157,7 +26363,7 @@ public: void setOuterFilletRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, std::optional< double > v7_InnerFilletRadius, std::optional< double > v8_OuterFilletRadius); }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -27249,8 +26455,7 @@ public: /// Figure 261 — Right circular cone textures class IFC_PARSE_API IfcRectangularPyramid : public IfcCsgPrimitive3D { public: - IfcRectangularPyramid() {} - explicit IfcRectangularPyramid (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -27263,7 +26468,7 @@ public: void setHeight(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); + IfcRectangularPyramid initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_Height); }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -27282,8 +26487,7 @@ public: /// The domain of the trimmed surface shall be within the domain of the surface being trimmed. class IFC_PARSE_API IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: - IfcRectangularTrimmedSurface() {} - explicit IfcRectangularTrimmedSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Surface being trimmed. ::Ifc4x3_tc1::IfcSurface BasisSurface() const; @@ -27308,7 +26512,7 @@ public: void setVsense(const bool& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface initialize(::Ifc4x3_tc1::IfcSurface v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -27338,8 +26542,7 @@ public: /// bar type. class IFC_PARSE_API IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - IfcReinforcementDefinitionProperties() {} - explicit IfcReinforcementDefinitionProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Descriptive type name applied to reinforcement definition properties. std::optional< std::string > DefinitionType() const; @@ -27349,7 +26552,7 @@ public: void setReinforcementSectionDefinitions(const std::vector< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_tc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_DefinitionType, std::vector< ::Ifc4x3_tc1::IfcSectionReinforcementProperties > v6_ReinforcementSectionDefinitions); }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -27364,8 +26567,7 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssigns : public IfcRelationship { public: - IfcRelAssigns() {} - explicit IfcRelAssigns (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > RelatedObjects() const; @@ -27376,7 +26578,7 @@ public: void setRelatedObjectsType(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType); + IfcRelAssigns initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType); }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -27389,8 +26591,7 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelActsUpon in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToActor : public IfcRelAssigns { public: - IfcRelAssignsToActor() {} - explicit IfcRelAssignsToActor (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. ::Ifc4x3_tc1::IfcActor RelatingActor() const; @@ -27400,7 +26601,7 @@ public: void setActingRole(const ::Ifc4x3_tc1::IfcActorRole& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcActor v7_RelatingActor, ::Ifc4x3_tc1::IfcActorRole v8_ActingRole); + IfcRelAssignsToActor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcActor v7_RelatingActor, ::Ifc4x3_tc1::IfcActorRole v8_ActingRole); }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). /// @@ -27409,15 +26610,14 @@ public: /// HISTORY New Entity in IFC Release 2.0. Has been renamed from IfcRelControls in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToControl : public IfcRelAssigns { public: - IfcRelAssignsToControl() {} - explicit IfcRelAssignsToControl (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the IfcControl that applies a control upon objects. ::Ifc4x3_tc1::IfcControl RelatingControl() const; void setRelatingControl(const ::Ifc4x3_tc1::IfcControl& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcControl v7_RelatingControl); + IfcRelAssignsToControl initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcControl v7_RelatingControl); }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27434,15 +26634,14 @@ public: /// HISTORY New entity in IFC Release 1.0. It has been renamed from IfcRelGroups in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToGroup : public IfcRelAssigns { public: - IfcRelAssignsToGroup() {} - explicit IfcRelAssignsToGroup (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to group that contains all assigned group members. ::Ifc4x3_tc1::IfcGroup RelatingGroup() const; void setRelatingGroup(const ::Ifc4x3_tc1::IfcGroup& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup); + IfcRelAssignsToGroup initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup); }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). /// @@ -27455,15 +26654,14 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: - IfcRelAssignsToGroupByFactor() {} - explicit IfcRelAssignsToGroupByFactor (const std::weak_ptr& data) : IfcRelAssignsToGroup(data) {} + using IfcRelAssignsToGroup::IfcRelAssignsToGroup; /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; void setFactor(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup v7_RelatingGroup, double v8_Factor); }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -27489,8 +26687,7 @@ public: /// IFC2x4 CHANGE The data type RelatingProcess has been extended to cover also IfcTypeProcess class IFC_PARSE_API IfcRelAssignsToProcess : public IfcRelAssigns { public: - IfcRelAssignsToProcess() {} - explicit IfcRelAssignsToProcess (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the process to which the objects are assigned to. /// @@ -27502,7 +26699,7 @@ public: void setQuantityInProcess(const ::Ifc4x3_tc1::IfcMeasureWithUnit& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_tc1::IfcMeasureWithUnit v8_QuantityInProcess); + IfcRelAssignsToProcess initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProcessSelect v7_RelatingProcess, ::Ifc4x3_tc1::IfcMeasureWithUnit v8_QuantityInProcess); }; /// The objectified relationshipIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: /// @@ -27514,8 +26711,7 @@ public: /// IFC2x3 CHANGE The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards. class IFC_PARSE_API IfcRelAssignsToProduct : public IfcRelAssigns { public: - IfcRelAssignsToProduct() {} - explicit IfcRelAssignsToProduct (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the product or product type to which the objects are assigned to. /// @@ -27524,7 +26720,7 @@ public: void setRelatingProduct(const ::Ifc4x3_tc1::IfcProductSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProductSelect v7_RelatingProduct); }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -27534,8 +26730,7 @@ public: /// HISTORY New Entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssignsToResource : public IfcRelAssigns { public: - IfcRelAssignsToResource() {} - explicit IfcRelAssignsToResource (const std::weak_ptr& data) : IfcRelAssigns(data) {} + using IfcRelAssigns::IfcRelAssigns; /// Reference to the resource to which the objects are assigned to. /// @@ -27544,7 +26739,7 @@ public: void setRelatingResource(const ::Ifc4x3_tc1::IfcResourceSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, std::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect v7_RelatingResource); }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -27589,8 +26784,7 @@ public: /// IFC2x4 CHANGE Entity has been changed into an ABSTRACT supertype class IFC_PARSE_API IfcRelAssociates : public IfcRelationship { public: - IfcRelAssociates() {} - explicit IfcRelAssociates (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// @@ -27599,22 +26793,21 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects); + IfcRelAssociates initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects); }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesApproval : public IfcRelAssociates { public: - IfcRelAssociatesApproval() {} - explicit IfcRelAssociatesApproval (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to approval that is being applied using this relationship. ::Ifc4x3_tc1::IfcApproval RelatingApproval() const; void setRelatingApproval(const ::Ifc4x3_tc1::IfcApproval& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval v6_RelatingApproval); + IfcRelAssociatesApproval initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval v6_RelatingApproval); }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -27648,23 +26841,21 @@ public: /// HISTORY New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesClassification : public IfcRelAssociates { public: - IfcRelAssociatesClassification() {} - explicit IfcRelAssociatesClassification (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Classification applied to the objects. ::Ifc4x3_tc1::IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(const ::Ifc4x3_tc1::IfcClassificationSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect v6_RelatingClassification); }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// /// HISTORY: New entity in IFC2x2. class IFC_PARSE_API IfcRelAssociatesConstraint : public IfcRelAssociates { public: - IfcRelAssociatesConstraint() {} - explicit IfcRelAssociatesConstraint (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::optional< std::string > Intent() const; @@ -27674,7 +26865,7 @@ public: void setRelatingConstraint(const ::Ifc4x3_tc1::IfcConstraint& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint v7_RelatingConstraint); + IfcRelAssociatesConstraint initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, std::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint v7_RelatingConstraint); }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). /// @@ -27685,15 +26876,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesDocument : public IfcRelAssociates { public: - IfcRelAssociatesDocument() {} - explicit IfcRelAssociatesDocument (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Document information or reference which is applied to the objects. ::Ifc4x3_tc1::IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(const ::Ifc4x3_tc1::IfcDocumentSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect v6_RelatingDocument); }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. /// @@ -27704,15 +26894,14 @@ public: /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelAssociatesLibrary : public IfcRelAssociates { public: - IfcRelAssociatesLibrary() {} - explicit IfcRelAssociatesLibrary (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Reference to a library, from which the definition of the property set is taken. ::Ifc4x3_tc1::IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(const ::Ifc4x3_tc1::IfcLibrarySelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect v6_RelatingLibrary); }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -27810,39 +26999,36 @@ public: /// associated with individual occurrences class IFC_PARSE_API IfcRelAssociatesMaterial : public IfcRelAssociates { public: - IfcRelAssociatesMaterial() {} - explicit IfcRelAssociatesMaterial (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; /// Material definition assigned to the elements or element types. ::Ifc4x3_tc1::IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(const ::Ifc4x3_tc1::IfcMaterialSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect v6_RelatingMaterial); }; class IFC_PARSE_API IfcRelAssociatesProfileDef : public IfcRelAssociates { public: - IfcRelAssociatesProfileDef() {} - explicit IfcRelAssociatesProfileDef (const std::weak_ptr& data) : IfcRelAssociates(data) {} + using IfcRelAssociates::IfcRelAssociates; ::Ifc4x3_tc1::IfcProfileDef RelatingProfileDef() const; void setRelatingProfileDef(const ::Ifc4x3_tc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef v6_RelatingProfileDef); + IfcRelAssociatesProfileDef initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef v6_RelatingProfileDef); }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. /// /// HISTORY: New entity in IFC Release 2x. class IFC_PARSE_API IfcRelConnects : public IfcRelationship { public: - IfcRelConnects() {} - explicit IfcRelConnects (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelConnects initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -27868,8 +27054,7 @@ public: /// Release 1.0. class IFC_PARSE_API IfcRelConnectsElements : public IfcRelConnects { public: - IfcRelConnectsElements() {} - explicit IfcRelConnectsElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). ::Ifc4x3_tc1::IfcConnectionGeometry ConnectionGeometry() const; @@ -27882,7 +27067,7 @@ public: void setRelatedElement(const ::Ifc4x3_tc1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement); + IfcRelConnectsElements initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement); }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -27916,8 +27101,7 @@ public: /// Figure 117 — Path connection L-Type class IFC_PARSE_API IfcRelConnectsPathElements : public IfcRelConnectsElements { public: - IfcRelConnectsPathElements() {} - explicit IfcRelConnectsPathElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; @@ -27933,7 +27117,7 @@ public: void setRelatingConnectionType(const ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); + IfcRelConnectsPathElements initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType); }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -27962,8 +27146,7 @@ public: /// definition has been extended to include element types. class IFC_PARSE_API IfcRelConnectsPortToElement : public IfcRelConnects { public: - IfcRelConnectsPortToElement() {} - explicit IfcRelConnectsPortToElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an Port that is connected by the objectified relationship. ::Ifc4x3_tc1::IfcPort RelatingPort() const; @@ -27975,7 +27158,7 @@ public: void setRelatedElement(const ::Ifc4x3_tc1::IfcDistributionElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcDistributionElement v6_RelatedElement); + IfcRelConnectsPortToElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcDistributionElement v6_RelatedElement); }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -27992,8 +27175,7 @@ public: /// 2.0, modified in IFC2x. class IFC_PARSE_API IfcRelConnectsPorts : public IfcRelConnects { public: - IfcRelConnectsPorts() {} - explicit IfcRelConnectsPorts (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the first port that is connected by the objectified relationship. ::Ifc4x3_tc1::IfcPort RelatingPort() const; @@ -28006,15 +27188,14 @@ public: void setRealizingElement(const ::Ifc4x3_tc1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcPort v6_RelatedPort, ::Ifc4x3_tc1::IfcElement v7_RealizingElement); + IfcRelConnectsPorts initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort v5_RelatingPort, ::Ifc4x3_tc1::IfcPort v6_RelatedPort, ::Ifc4x3_tc1::IfcElement v7_RealizingElement); }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcRelConnectsStructuralActivity : public IfcRelConnects { public: - IfcRelConnectsStructuralActivity() {} - explicit IfcRelConnectsStructuralActivity (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a structural item or element to which the specified activity is applied. ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect RelatingElement() const; @@ -28024,7 +27205,7 @@ public: void setRelatedStructuralActivity(const ::Ifc4x3_tc1::IfcStructuralActivity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcStructuralActivity v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcStructuralActivity v6_RelatedStructuralActivity); }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -28052,8 +27233,7 @@ public: /// Figure 235 — Structural member support lengths class IFC_PARSE_API IfcRelConnectsStructuralMember : public IfcRelConnects { public: - IfcRelConnectsStructuralMember() {} - explicit IfcRelConnectsStructuralMember (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. ::Ifc4x3_tc1::IfcStructuralMember RelatingStructuralMember() const; @@ -28075,7 +27255,7 @@ public: void setConditionCoordinateSystem(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem); }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). /// @@ -28096,15 +27276,14 @@ public: /// ConnectionConstraint shall be of type IfcConnectionSurfaceGeometry and shall refer to two instances of IfcFaceSurface. class IFC_PARSE_API IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: - IfcRelConnectsWithEccentricity() {} - explicit IfcRelConnectsWithEccentricity (const std::weak_ptr& data) : IfcRelConnectsStructuralMember(data) {} + using IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember; /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). ::Ifc4x3_tc1::IfcConnectionGeometry ConnectionConstraint() const; void setConnectionConstraint(const ::Ifc4x3_tc1::IfcConnectionGeometry& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_tc1::IfcConnectionGeometry v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition v8_AdditionalConditions, std::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D v10_ConditionCoordinateSystem, ::Ifc4x3_tc1::IfcConnectionGeometry v11_ConnectionConstraint); }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -28131,8 +27310,7 @@ public: /// Release IFC2x Edition 2. class IFC_PARSE_API IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: - IfcRelConnectsWithRealizingElements() {} - explicit IfcRelConnectsWithRealizingElements (const std::weak_ptr& data) : IfcRelConnectsElements(data) {} + using IfcRelConnectsElements::IfcRelConnectsElements; /// Defines the elements that realize a connection relationship. std::vector< ::Ifc4x3_tc1::IfcElement > RealizingElements() const; @@ -28142,7 +27320,7 @@ public: void setConnectionType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_tc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement v6_RelatingElement, ::Ifc4x3_tc1::IfcElement v7_RelatedElement, std::vector< ::Ifc4x3_tc1::IfcElement > v8_RealizingElements, std::optional< std::string > v9_ConnectionType); }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -28206,8 +27384,7 @@ public: /// Figure 39 — Relationship for spatial structure containment class IFC_PARSE_API IfcRelContainedInSpatialStructure : public IfcRelConnects { public: - IfcRelContainedInSpatialStructure() {} - explicit IfcRelContainedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// @@ -28219,7 +27396,7 @@ public: void setRelatingStructure(const ::Ifc4x3_tc1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure); + IfcRelContainedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcProduct > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure); }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -28239,8 +27416,7 @@ public: /// IfcBuildingElement. class IFC_PARSE_API IfcRelCoversBldgElements : public IfcRelConnects { public: - IfcRelCoversBldgElements() {} - explicit IfcRelCoversBldgElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the building element that is covered. /// @@ -28252,7 +27428,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_tc1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversBldgElements initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings); }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesa space object to one or @@ -28282,8 +27458,7 @@ public: /// IFC 2x Edition 3. class IFC_PARSE_API IfcRelCoversSpaces : public IfcRelConnects { public: - IfcRelCoversSpaces() {} - explicit IfcRelCoversSpaces (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Relationship to the space object that is covered. /// @@ -28295,7 +27470,7 @@ public: void setRelatedCoverings(const std::vector< ::Ifc4x3_tc1::IfcCovering >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings); + IfcRelCoversSpaces initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpace v5_RelatingSpace, std::vector< ::Ifc4x3_tc1::IfcCovering > v6_RelatedCoverings); }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). /// @@ -28310,8 +27485,7 @@ public: /// HISTORY New entity in Release IFC2x4. class IFC_PARSE_API IfcRelDeclares : public IfcRelationship { public: - IfcRelDeclares() {} - explicit IfcRelDeclares (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; /// Reference to the IfcProject to which additional information is assigned. ::Ifc4x3_tc1::IfcContext RelatingContext() const; @@ -28321,7 +27495,7 @@ public: void setRelatedDefinitions(const std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v6_RelatedDefinitions); + IfcRelDeclares initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext v5_RelatingContext, std::vector< ::Ifc4x3_tc1::IfcDefinitionSelect > v6_RelatedDefinitions); }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -28355,12 +27529,11 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IFC_PARSE_API IfcRelDecomposes : public IfcRelationship { public: - IfcRelDecomposes() {} - explicit IfcRelDecomposes (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDecomposes initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// A generic and abstract relationship which subtypes are used to: /// @@ -28391,12 +27564,11 @@ public: /// IfcRelDefinesByType. class IFC_PARSE_API IfcRelDefines : public IfcRelationship { public: - IfcRelDefines() {} - explicit IfcRelDefines (const std::weak_ptr& data) : IfcRelationship(data) {} + using IfcRelationship::IfcRelationship; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); + IfcRelDefines initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description); }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -28415,8 +27587,7 @@ public: /// Figure 7 — Part definition relationships with shape representation class IFC_PARSE_API IfcRelDefinesByObject : public IfcRelDefines { public: - IfcRelDefinesByObject() {} - explicit IfcRelDefinesByObject (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. std::vector< ::Ifc4x3_tc1::IfcObject > RelatedObjects() const; @@ -28426,7 +27597,7 @@ public: void setRelatingObject(const ::Ifc4x3_tc1::IfcObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcObject v6_RelatingObject); + IfcRelDefinesByObject initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcObject v6_RelatingObject); }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -28445,8 +27616,7 @@ public: /// IFC2x4 CHANGE The attribute RelatedObjects had been demoted from the supertype IfcRelDefines to IfcRelDefinesByProperties. class IFC_PARSE_API IfcRelDefinesByProperties : public IfcRelDefines { public: - IfcRelDefinesByProperties() {} - explicit IfcRelDefinesByProperties (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// Reference to the objects (or single object) to which the property definition applies. std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > RelatedObjects() const; @@ -28456,7 +27626,7 @@ public: void setRelatingPropertyDefinition(const ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v5_RelatedObjects, ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -28472,8 +27642,7 @@ public: /// HISTORY New Entity in IFC2x4. class IFC_PARSE_API IfcRelDefinesByTemplate : public IfcRelDefines { public: - IfcRelDefinesByTemplate() {} - explicit IfcRelDefinesByTemplate (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; /// One or many property sets defined by a single property set template. std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > RelatedPropertySets() const; @@ -28483,7 +27652,7 @@ public: void setRelatingTemplate(const ::Ifc4x3_tc1::IfcPropertySetTemplate& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_tc1::IfcPropertySetTemplate v6_RelatingTemplate); + IfcRelDefinesByTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > v5_RelatedPropertySets, ::Ifc4x3_tc1::IfcPropertySetTemplate v6_RelatingTemplate); }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -28556,8 +27725,7 @@ public: /// FALSE class IFC_PARSE_API IfcRelDefinesByType : public IfcRelDefines { public: - IfcRelDefinesByType() {} - explicit IfcRelDefinesByType (const std::weak_ptr& data) : IfcRelDefines(data) {} + using IfcRelDefines::IfcRelDefines; std::vector< ::Ifc4x3_tc1::IfcObject > RelatedObjects() const; void setRelatedObjects(const std::vector< ::Ifc4x3_tc1::IfcObject >& v); @@ -28566,7 +27734,7 @@ public: void setRelatingType(const ::Ifc4x3_tc1::IfcTypeObject& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcTypeObject v6_RelatingType); + IfcRelDefinesByType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcObject > v5_RelatedObjects, ::Ifc4x3_tc1::IfcTypeObject v6_RelatingType); }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. /// @@ -28579,8 +27747,7 @@ public: /// Figure 40 — Relationships for element filling class IFC_PARSE_API IfcRelFillsElement : public IfcRelConnects { public: - IfcRelFillsElement() {} - explicit IfcRelFillsElement (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Opening Element being filled by virtue of this relationship. ::Ifc4x3_tc1::IfcOpeningElement RelatingOpeningElement() const; @@ -28592,7 +27759,7 @@ public: void setRelatedBuildingElement(const ::Ifc4x3_tc1::IfcElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement); + IfcRelFillsElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcOpeningElement v5_RelatingOpeningElement, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement); }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. /// @@ -28603,8 +27770,7 @@ public: /// HISTORY: New entity in IFC R2x. class IFC_PARSE_API IfcRelFlowControlElements : public IfcRelConnects { public: - IfcRelFlowControlElements() {} - explicit IfcRelFlowControlElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// References control elements which may be used to impart control on the Distribution Element. std::vector< ::Ifc4x3_tc1::IfcDistributionControlElement > RelatedControlElements() const; @@ -28614,7 +27780,7 @@ public: void setRelatingFlowElement(const ::Ifc4x3_tc1::IfcDistributionFlowElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_tc1::IfcDistributionFlowElement v6_RelatingFlowElement); + IfcRelFlowControlElements initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcDistributionControlElement > v5_RelatedControlElements, ::Ifc4x3_tc1::IfcDistributionFlowElement v6_RelatingFlowElement); }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -28665,8 +27831,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcRelInterferesElements : public IfcRelConnects { public: - IfcRelInterferesElements() {} - explicit IfcRelInterferesElements (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. ::Ifc4x3_tc1::IfcInterferenceSelect RelatingElement() const; @@ -28687,7 +27852,7 @@ public: void setInterferenceSpace(const ::Ifc4x3_tc1::IfcSpatialZone& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_tc1::IfcSpatialZone v10_InterferenceSpace); + IfcRelInterferesElements initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcInterferenceSelect v5_RelatingElement, ::Ifc4x3_tc1::IfcInterferenceSelect v6_RelatedElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_InterferenceGeometry, std::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_tc1::IfcSpatialZone v10_InterferenceSpace); }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -28716,8 +27881,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes, and RelatedObjects is refined to be a list. The use of IfcRelNests is repurposed to be a nesting of an ordered collections of parts. class IFC_PARSE_API IfcRelNests : public IfcRelDecomposes { public: - IfcRelNests() {} - explicit IfcRelNests (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// @@ -28731,13 +27895,12 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_tc1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelNests initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRelPositions : public IfcRelConnects { public: - IfcRelPositions() {} - explicit IfcRelPositions (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; ::Ifc4x3_tc1::IfcPositioningElement RelatingPositioningElement() const; void setRelatingPositioningElement(const ::Ifc4x3_tc1::IfcPositioningElement& v); @@ -28745,7 +27908,7 @@ public: void setRelatedProducts(const std::vector< ::Ifc4x3_tc1::IfcProduct >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_tc1::IfcProduct > v6_RelatedProducts); + IfcRelPositions initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPositioningElement v5_RelatingPositioningElement, std::vector< ::Ifc4x3_tc1::IfcProduct > v6_RelatedProducts); }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -28781,8 +27944,7 @@ public: /// Supertype changed to IfcRelDecomposes. class IFC_PARSE_API IfcRelProjectsElement : public IfcRelDecomposes { public: - IfcRelProjectsElement() {} - explicit IfcRelProjectsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// Element at which a projection is created by the associated IfcProjectionElement. ::Ifc4x3_tc1::IfcElement RelatingElement() const; @@ -28792,7 +27954,7 @@ public: void setRelatedFeatureElement(const ::Ifc4x3_tc1::IfcFeatureElementAddition& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition v6_RelatedFeatureElement); + IfcRelProjectsElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition v6_RelatedFeatureElement); }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -28845,8 +28007,7 @@ public: /// Figure 41 — Relationship for spatial structure referencing class IFC_PARSE_API IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: - IfcRelReferencedInSpatialStructure() {} - explicit IfcRelReferencedInSpatialStructure (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. @@ -28859,7 +28020,7 @@ public: void setRelatingStructure(const ::Ifc4x3_tc1::IfcSpatialElement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure); + IfcRelReferencedInSpatialStructure initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::vector< ::Ifc4x3_tc1::IfcSpatialReferenceSelect > v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement v6_RelatingStructure); }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -28917,8 +28078,7 @@ public: /// the sequence type set. class IFC_PARSE_API IfcRelSequence : public IfcRelConnects { public: - IfcRelSequence() {} - explicit IfcRelSequence (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to the process, that is the predecessor. ::Ifc4x3_tc1::IfcProcess RelatingProcess() const; @@ -28947,7 +28107,7 @@ public: void setUserDefinedSequenceType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_tc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_tc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcProcess v5_RelatingProcess, ::Ifc4x3_tc1::IfcProcess v6_RelatedProcess, ::Ifc4x3_tc1::IfcLagTime v7_TimeLag, std::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v8_SequenceType, std::optional< std::string > v9_UserDefinedSequenceType); }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -28972,8 +28132,7 @@ public: /// relationship is not restricted to buildings anymore. class IFC_PARSE_API IfcRelServicesBuildings : public IfcRelConnects { public: - IfcRelServicesBuildings() {} - explicit IfcRelServicesBuildings (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// System that services the Buildings. ::Ifc4x3_tc1::IfcSystem RelatingSystem() const; @@ -28987,7 +28146,7 @@ public: void setRelatedBuildings(const std::vector< ::Ifc4x3_tc1::IfcSpatialElement >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_tc1::IfcSpatialElement > v6_RelatedBuildings); + IfcRelServicesBuildings initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSystem v5_RelatingSystem, std::vector< ::Ifc4x3_tc1::IfcSpatialElement > v6_RelatedBuildings); }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -29153,8 +28312,7 @@ public: /// IfcCompositeCurve class IFC_PARSE_API IfcRelSpaceBoundary : public IfcRelConnects { public: - IfcRelSpaceBoundary() {} - explicit IfcRelSpaceBoundary (const std::weak_ptr& data) : IfcRelConnects(data) {} + using IfcRelConnects::IfcRelConnects; /// Reference to one spaces that is delimited by this boundary. ::Ifc4x3_tc1::IfcSpaceBoundarySelect RelatingSpace() const; @@ -29179,7 +28337,7 @@ public: void setInternalOrExternalBoundary(const ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary); }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -29230,8 +28388,7 @@ public: /// boundaries. class IFC_PARSE_API IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - IfcRelSpaceBoundary1stLevel() {} - explicit IfcRelSpaceBoundary1stLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary(data) {} + using IfcRelSpaceBoundary::IfcRelSpaceBoundary; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel ParentBoundary() const; @@ -29239,7 +28396,7 @@ public: std::vector< IfcRelSpaceBoundary1stLevel > InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary); }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: /// @@ -29275,8 +28432,7 @@ public: /// space boundaries. class IFC_PARSE_API IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - IfcRelSpaceBoundary2ndLevel() {} - explicit IfcRelSpaceBoundary2ndLevel (const std::weak_ptr& data) : IfcRelSpaceBoundary1stLevel(data) {} + using IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel CorrespondingBoundary() const; @@ -29284,7 +28440,7 @@ public: std::vector< IfcRelSpaceBoundary2ndLevel > Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel v10_ParentBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel v11_CorrespondingBoundary); }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. /// @@ -29295,8 +28451,7 @@ public: /// HISTORY New entity in IFC Release 1.0 class IFC_PARSE_API IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcRelVoidsElement() {} - explicit IfcRelVoidsElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_tc1::IfcElement RelatingBuildingElement() const; void setRelatingBuildingElement(const ::Ifc4x3_tc1::IfcElement& v); @@ -29304,7 +28459,7 @@ public: void setRelatedOpeningElement(const ::Ifc4x3_tc1::IfcFeatureElementSubtraction& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_tc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); + IfcRelVoidsElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingBuildingElement, ::Ifc4x3_tc1::IfcFeatureElementSubtraction v6_RelatedOpeningElement); }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -29331,14 +28486,13 @@ public: /// HISTORY New class in IFC2x4 class IFC_PARSE_API IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcReparametrisedCompositeCurveSegment() {} - explicit IfcReparametrisedCompositeCurveSegment (const std::weak_ptr& data) : IfcCompositeCurveSegment(data) {} + using IfcCompositeCurveSegment::IfcCompositeCurveSegment; double ParamLength() const; void setParamLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve, double v4_ParamLength); + IfcReparametrisedCompositeCurveSegment initialize(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve v3_ParentCurve, double v4_ParamLength); }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -29355,8 +28509,7 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IFC_PARSE_API IfcResource : public IfcObject { public: - IfcResource() {} - explicit IfcResource (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. @@ -29372,7 +28525,7 @@ public: std::vector< IfcRelAssignsToResource > ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); + IfcResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription); }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -29452,8 +28605,7 @@ public: /// Figure 263 — Revolved area solid textures class IFC_PARSE_API IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: - IfcRevolvedAreaSolid() {} - explicit IfcRevolvedAreaSolid (const std::weak_ptr& data) : IfcSweptAreaSolid(data) {} + using IfcSweptAreaSolid::IfcSweptAreaSolid; /// Axis about which revolution will take place. ::Ifc4x3_tc1::IfcAxis1Placement Axis() const; @@ -29463,7 +28615,7 @@ public: void setAngle(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle); }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -29525,14 +28677,13 @@ public: /// not be used class IFC_PARSE_API IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcRevolvedAreaSolidTapered() {} - explicit IfcRevolvedAreaSolidTapered (const std::weak_ptr& data) : IfcRevolvedAreaSolid(data) {} + using IfcRevolvedAreaSolid::IfcRevolvedAreaSolid; ::Ifc4x3_tc1::IfcProfileDef EndSweptArea() const; void setEndSweptArea(const ::Ifc4x3_tc1::IfcProfileDef& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea); + IfcRevolvedAreaSolidTapered initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_Axis, double v4_Angle, ::Ifc4x3_tc1::IfcProfileDef v5_EndSweptArea); }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29601,8 +28752,7 @@ public: /// Figure 265 — Right circular cone textures class IFC_PARSE_API IfcRightCircularCone : public IfcCsgPrimitive3D { public: - IfcRightCircularCone() {} - explicit IfcRightCircularCone (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the base of the cone and the apex. double Height() const; @@ -29612,7 +28762,7 @@ public: void setBottomRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); + IfcRightCircularCone initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_BottomRadius); }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -29697,8 +28847,7 @@ public: /// Figure 267 — Right circular cylinder textures class IFC_PARSE_API IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: - IfcRightCircularCylinder() {} - explicit IfcRightCircularCylinder (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The distance between the planar circular faces of the cylinder. double Height() const; @@ -29708,13 +28857,12 @@ public: void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); + IfcRightCircularCylinder initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Height, double v3_Radius); }; class IFC_PARSE_API IfcSectionedSolid : public IfcSolidModel { public: - IfcSectionedSolid() {} - explicit IfcSectionedSolid (const std::weak_ptr& data) : IfcSolidModel(data) {} + using IfcSolidModel::IfcSolidModel; ::Ifc4x3_tc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_tc1::IfcCurve& v); @@ -29722,25 +28870,23 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_tc1::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections); + IfcSectionedSolid initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections); }; class IFC_PARSE_API IfcSectionedSolidHorizontal : public IfcSectionedSolid { public: - IfcSectionedSolidHorizontal() {} - explicit IfcSectionedSolidHorizontal (const std::weak_ptr& data) : IfcSectionedSolid(data) {} + using IfcSectionedSolid::IfcSectionedSolid; std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > CrossSectionPositions() const; void setCrossSectionPositions(const std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v3_CrossSectionPositions); + IfcSectionedSolidHorizontal initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v2_CrossSections, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v3_CrossSectionPositions); }; class IFC_PARSE_API IfcSectionedSurface : public IfcSurface { public: - IfcSectionedSurface() {} - explicit IfcSectionedSurface (const std::weak_ptr& data) : IfcSurface(data) {} + using IfcSurface::IfcSurface; ::Ifc4x3_tc1::IfcCurve Directrix() const; void setDirectrix(const ::Ifc4x3_tc1::IfcCurve& v); @@ -29750,7 +28896,7 @@ public: void setCrossSections(const std::vector< ::Ifc4x3_tc1::IfcProfileDef >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_CrossSections); + IfcSectionedSurface initialize(::Ifc4x3_tc1::IfcCurve v1_Directrix, std::vector< ::Ifc4x3_tc1::IfcAxis2PlacementLinear > v2_CrossSectionPositions, std::vector< ::Ifc4x3_tc1::IfcProfileDef > v3_CrossSections); }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -29799,8 +28945,7 @@ public: /// Figure 9 — Property template relationships class IFC_PARSE_API IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - IfcSimplePropertyTemplate() {} - explicit IfcSimplePropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// @@ -29851,7 +28996,7 @@ public: void setAccessState(const std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_tc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_tc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_tc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v12_AccessState); + IfcSimplePropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, std::optional< std::string > v6_PrimaryMeasureType, std::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_tc1::IfcPropertyEnumeration v8_Enumerators, ::Ifc4x3_tc1::IfcUnit v9_PrimaryUnit, ::Ifc4x3_tc1::IfcUnit v10_SecondaryUnit, std::optional< std::string > v11_Expression, std::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v12_AccessState); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -29886,8 +29031,7 @@ public: /// Release 2x Edition 4. class IFC_PARSE_API IfcSpatialElement : public IfcProduct { public: - IfcSpatialElement() {} - explicit IfcSpatialElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -29901,7 +29045,7 @@ public: std::vector< IfcRelInterferesElements > InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -29936,15 +29080,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialElementType : public IfcTypeProduct { public: - IfcSpatialElementType() {} - explicit IfcSpatialElementType (const std::weak_ptr& data) : IfcTypeProduct(data) {} + using IfcTypeProduct::IfcTypeProduct; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. std::optional< std::string > ElementType() const; void setElementType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -30022,8 +29165,7 @@ public: /// Figure 62 — Spatial structure element composition class IFC_PARSE_API IfcSpatialStructureElement : public IfcSpatialElement { public: - IfcSpatialStructureElement() {} - explicit IfcSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// @@ -30033,7 +29175,7 @@ public: void setCompositionType(const std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType); }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -30071,12 +29213,11 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcSpatialStructureElementType : public IfcSpatialElementType { public: - IfcSpatialStructureElementType() {} - explicit IfcSpatialStructureElementType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -30129,15 +29270,14 @@ public: /// IFC Release 2x Edition 4. class IFC_PARSE_API IfcSpatialZone : public IfcSpatialElement { public: - IfcSpatialZone() {} - explicit IfcSpatialZone (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); + IfcSpatialZone initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -30171,8 +29311,7 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcSpatialZoneType : public IfcSpatialElementType { public: - IfcSpatialZoneType() {} - explicit IfcSpatialZoneType (const std::weak_ptr& data) : IfcSpatialElementType(data) {} + using IfcSpatialElementType::IfcSpatialElementType; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value PredefinedType() const; @@ -30181,7 +29320,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpatialZoneType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -30235,39 +29374,36 @@ public: /// Figure 271 — Sphere textures class IFC_PARSE_API IfcSphere : public IfcCsgPrimitive3D { public: - IfcSphere() {} - explicit IfcSphere (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The radius of the sphere. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphere initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSphericalSurface : public IfcElementarySurface { public: - IfcSphericalSurface() {} - explicit IfcSphericalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcSphericalSurface initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcSpiral : public IfcCurve { public: - IfcSpiral() {} - explicit IfcSpiral (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_tc1::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position); + IfcSpiral initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position); }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -30364,8 +29500,7 @@ public: /// RepresentationType: 'GeometricCurveSet' class IFC_PARSE_API IfcStructuralActivity : public IfcProduct { public: - IfcStructuralActivity() {} - explicit IfcStructuralActivity (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// Load or result resource object which defines the load type, direction, and load values. /// @@ -30394,7 +29529,7 @@ public: std::vector< IfcRelConnectsStructuralActivity > AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralActivity initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). /// @@ -30485,13 +29620,12 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralItem : public IfcProduct { public: - IfcStructuralItem() {} - explicit IfcStructuralItem (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsStructuralActivity > AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcStructuralItem initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. /// @@ -30499,13 +29633,12 @@ public: /// IFC 2x4 change: Use definitions moved to supertype and subtypes. class IFC_PARSE_API IfcStructuralMember : public IfcStructuralItem { public: - IfcStructuralMember() {} - explicit IfcStructuralMember (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; std::vector< IfcRelConnectsStructuralMember > ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcStructuralMember initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -30529,12 +29662,11 @@ public: /// IfcStructuralAction. class IFC_PARSE_API IfcStructuralReaction : public IfcStructuralActivity { public: - IfcStructuralReaction() {} - explicit IfcStructuralReaction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralReaction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. /// @@ -30558,8 +29690,7 @@ public: /// Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceMember : public IfcStructuralMember { public: - IfcStructuralSurfaceMember() {} - explicit IfcStructuralSurfaceMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value PredefinedType() const; @@ -30569,7 +29700,7 @@ public: void setThickness(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMember initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. /// @@ -30591,12 +29722,11 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IFC_PARSE_API IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - IfcStructuralSurfaceMemberVarying() {} - explicit IfcStructuralSurfaceMemberVarying (const std::weak_ptr& data) : IfcStructuralSurfaceMember(data) {} + using IfcStructuralSurfaceMember::IfcStructuralSurfaceMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, std::optional< double > v9_Thickness); }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. /// @@ -30622,15 +29752,14 @@ public: /// All items in SELF\IfcStructuralActivity.AppliedLoad\IfcStructuralLoadConfiguration.Values shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: - IfcStructuralSurfaceReaction() {} - explicit IfcStructuralSurfaceReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralSurfaceReaction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType); }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -30645,21 +29774,19 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcSubContractResourceType : public IfcConstructionResourceType { public: - IfcSubContractResourceType() {} - explicit IfcSubContractResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of subcontract resources. ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); + IfcSubContractResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType); }; class IFC_PARSE_API IfcSurfaceCurve : public IfcCurve { public: - IfcSurfaceCurve() {} - explicit IfcSurfaceCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; ::Ifc4x3_tc1::IfcCurve Curve3D() const; void setCurve3D(const ::Ifc4x3_tc1::IfcCurve& v); @@ -30669,7 +29796,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSurfaceCurve initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -30735,15 +29862,14 @@ public: /// ReferenceSurface. class IFC_PARSE_API IfcSurfaceCurveSweptAreaSolid : public IfcDirectrixCurveSweptAreaSolid { public: - IfcSurfaceCurveSweptAreaSolid() {} - explicit IfcSurfaceCurveSweptAreaSolid (const std::weak_ptr& data) : IfcDirectrixCurveSweptAreaSolid(data) {} + using IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid; /// The surface containing the Directrix. ::Ifc4x3_tc1::IfcSurface ReferenceSurface() const; void setReferenceSurface(const ::Ifc4x3_tc1::IfcSurface& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcSurface v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcSurface v6_ReferenceSurface); }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): /// @@ -30760,8 +29886,7 @@ public: /// The surface shall not self-intersect class IFC_PARSE_API IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: - IfcSurfaceOfLinearExtrusion() {} - explicit IfcSurfaceOfLinearExtrusion (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// The direction of the extrusion. ::Ifc4x3_tc1::IfcDirection ExtrudedDirection() const; @@ -30771,7 +29896,7 @@ public: void setDepth(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcDirection v3_ExtrudedDirection, double v4_Depth); }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. /// @@ -30792,15 +29917,14 @@ public: /// The swept curve shall not be coincident with the axis line for any finite part of its legth. class IFC_PARSE_API IfcSurfaceOfRevolution : public IfcSweptSurface { public: - IfcSurfaceOfRevolution() {} - explicit IfcSurfaceOfRevolution (const std::weak_ptr& data) : IfcSweptSurface(data) {} + using IfcSweptSurface::IfcSweptSurface; /// A point on the axis of revolution and the direction of the axis of revolution. ::Ifc4x3_tc1::IfcAxis1Placement AxisPosition() const; void setAxisPosition(const ::Ifc4x3_tc1::IfcAxis1Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_AxisPosition); + IfcSurfaceOfRevolution initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement v3_AxisPosition); }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: /// @@ -30834,14 +29958,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - IfcSystemFurnitureElementType() {} - explicit IfcSystemFurnitureElementType (const std::weak_ptr& data) : IfcFurnishingElementType(data) {} + using IfcFurnishingElementType::IfcFurnishingElementType; std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); + IfcSystemFurnitureElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType); }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -31090,8 +30213,7 @@ public: /// track punch list items individually via IfcRelNests. class IFC_PARSE_API IfcTask : public IfcProcess { public: - IfcTask() {} - explicit IfcTask (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Current status of the task. /// @@ -31134,7 +30256,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_tc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v13_PredefinedType); + IfcTask initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< std::string > v8_Status, std::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, std::optional< int > v11_Priority, ::Ifc4x3_tc1::IfcTaskTime v12_TaskTime, std::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v13_PredefinedType); }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -31178,8 +30300,7 @@ public: /// Figure 16 — Task type relationships class IFC_PARSE_API IfcTaskType : public IfcTypeProcess { public: - IfcTaskType() {} - explicit IfcTaskType (const std::weak_ptr& data) : IfcTypeProcess(data) {} + using IfcTypeProcess::IfcTypeProcess; /// Identifies the predefined types of a task type from which /// the type required may be set. @@ -31190,13 +30311,12 @@ public: void setWorkMethod(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); + IfcTaskType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcTaskTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_WorkMethod); }; class IFC_PARSE_API IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcTessellatedFaceSet() {} - explicit IfcTessellatedFaceSet (const std::weak_ptr& data) : IfcTessellatedItem(data) {} + using IfcTessellatedItem::IfcTessellatedItem; ::Ifc4x3_tc1::IfcCartesianPointList3D Coordinates() const; void setCoordinates(const ::Ifc4x3_tc1::IfcCartesianPointList3D& v); @@ -31204,13 +30324,12 @@ public: std::vector< IfcIndexedTextureMap > HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates); + IfcTessellatedFaceSet initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates); }; class IFC_PARSE_API IfcThirdOrderPolynomialSpiral : public IfcSpiral { public: - IfcThirdOrderPolynomialSpiral() {} - explicit IfcThirdOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CubicTerm() const; void setCubicTerm(const double& v); @@ -31222,13 +30341,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); + IfcThirdOrderPolynomialSpiral initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CubicTerm, std::optional< double > v3_QuadraticTerm, std::optional< double > v4_LinearTerm, std::optional< double > v5_ConstantTerm); }; class IFC_PARSE_API IfcToroidalSurface : public IfcElementarySurface { public: - IfcToroidalSurface() {} - explicit IfcToroidalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; double MajorRadius() const; void setMajorRadius(const double& v); @@ -31236,23 +30354,21 @@ public: void setMinorRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); + IfcToroidalSurface initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_MajorRadius, double v3_MinorRadius); }; class IFC_PARSE_API IfcTransportationDeviceType : public IfcElementType { public: - IfcTransportationDeviceType() {} - explicit IfcTransportationDeviceType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcTransportationDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - IfcTriangulatedFaceSet() {} - explicit IfcTriangulatedFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< std::vector< std::vector< double > > > Normals() const; void setNormals(const std::optional< std::vector< std::vector< double > > >& v); @@ -31264,31 +30380,29 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); + IfcTriangulatedFaceSet initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex); }; class IFC_PARSE_API IfcTriangulatedIrregularNetwork : public IfcTriangulatedFaceSet { public: - IfcTriangulatedIrregularNetwork() {} - explicit IfcTriangulatedIrregularNetwork (const std::weak_ptr& data) : IfcTriangulatedFaceSet(data) {} + using IfcTriangulatedFaceSet::IfcTriangulatedFaceSet; std::vector< int > /*[1:?]*/ Flags() const; void setFlags(const std::vector< int > /*[1:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); + IfcTriangulatedIrregularNetwork initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< std::vector< std::vector< double > > > v2_Normals, std::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, std::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags); }; class IFC_PARSE_API IfcVehicleType : public IfcTransportationDeviceType { public: - IfcVehicleType() {} - explicit IfcVehicleType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v10_PredefinedType); + IfcVehicleType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v10_PredefinedType); }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -31390,8 +30504,7 @@ public: /// All offsets are given as a normalized ratio measure. class IFC_PARSE_API IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - IfcWindowLiningProperties() {} - explicit IfcWindowLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). std::optional< double > LiningDepth() const; @@ -31439,7 +30552,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_tc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_TransomThickness, std::optional< double > v8_MullionThickness, std::optional< double > v9_FirstTransomOffset, std::optional< double > v10_SecondTransomOffset, std::optional< double > v11_FirstMullionOffset, std::optional< double > v12_SecondMullionOffset, ::Ifc4x3_tc1::IfcShapeAspect v13_ShapeAspectStyle, std::optional< double > v14_LiningOffset, std::optional< double > v15_LiningToPanelOffsetX, std::optional< double > v16_LiningToPanelOffsetY); }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -31488,8 +30601,7 @@ public: /// Figure 176 — Window panel properties class IFC_PARSE_API IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: - IfcWindowPanelProperties() {} - explicit IfcWindowPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value OperationType() const; @@ -31510,7 +30622,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_tc1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle); + IfcWindowPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle); }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -31529,8 +30641,7 @@ public: /// Pset_ActorCommon: common property set for all actor occurrences class IFC_PARSE_API IfcActor : public IfcObject { public: - IfcActor() {} - explicit IfcActor (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// Information about the actor. ::Ifc4x3_tc1::IfcActorSelect TheActor() const; @@ -31538,7 +30649,7 @@ public: std::vector< IfcRelAssignsToActor > IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor); + IfcActor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor); }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -31575,12 +30686,11 @@ public: /// Figure 249 — Advanced Brep class IFC_PARSE_API IfcAdvancedBrep : public IfcManifoldSolidBrep { public: - IfcAdvancedBrep() {} - explicit IfcAdvancedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer); + IfcAdvancedBrep initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer); }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -31605,14 +30715,13 @@ public: /// IfcAdvancedFace. class IFC_PARSE_API IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - IfcAdvancedBrepWithVoids() {} - explicit IfcAdvancedBrepWithVoids (const std::weak_ptr& data) : IfcAdvancedBrep(data) {} + using IfcAdvancedBrep::IfcAdvancedBrep; std::vector< ::Ifc4x3_tc1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_tc1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids); + IfcAdvancedBrepWithVoids initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids); }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -31789,15 +30898,14 @@ public: /// RepresentationType : 'GeometricSet' class IFC_PARSE_API IfcAnnotation : public IfcProduct { public: - IfcAnnotation() {} - explicit IfcAnnotation (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value >& v); std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType); + IfcAnnotation initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. /// @@ -31870,8 +30978,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurface : public IfcBoundedSurface { public: - IfcBSplineSurface() {} - explicit IfcBSplineSurface (const std::weak_ptr& data) : IfcBoundedSurface(data) {} + using IfcBoundedSurface::IfcBoundedSurface; /// Algebraic degree of basis functions in u. int UDegree() const; @@ -31896,7 +31003,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); + IfcBSplineSurface initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -31907,8 +31014,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: - IfcBSplineSurfaceWithKnots() {} - explicit IfcBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurface(data) {} + using IfcBSplineSurface::IfcBSplineSurface; /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; @@ -31927,7 +31033,7 @@ public: void setKnotSpec(const ::Ifc4x3_tc1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec); + IfcBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec); }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -32028,8 +31134,7 @@ public: /// Figure 251 — Block textures class IFC_PARSE_API IfcBlock : public IfcCsgPrimitive3D { public: - IfcBlock() {} - explicit IfcBlock (const std::weak_ptr& data) : IfcCsgPrimitive3D(data) {} + using IfcCsgPrimitive3D::IfcCsgPrimitive3D; /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; @@ -32042,7 +31147,7 @@ public: void setZLength(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); + IfcBlock initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -32053,12 +31158,11 @@ public: /// HISTORY New entity in IFC Release 2.x. class IFC_PARSE_API IfcBooleanClippingResult : public IfcBooleanResult { public: - IfcBooleanClippingResult() {} - explicit IfcBooleanClippingResult (const std::weak_ptr& data) : IfcBooleanResult(data) {} + using IfcBooleanResult::IfcBooleanResult; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult initialize(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand v3_SecondOperand); }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -32072,12 +31176,11 @@ public: /// A bounded curve has a start point and an end point. class IFC_PARSE_API IfcBoundedCurve : public IfcCurve { public: - IfcBoundedCurve() {} - explicit IfcBoundedCurve (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; static const ifcopenshell::entity& Class(); - void initialize(); + IfcBoundedCurve initialize(); }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -32258,25 +31361,23 @@ public: /// independently from its constituting elements. class IFC_PARSE_API IfcBuildingStorey : public IfcSpatialStructureElement { public: - IfcBuildingStorey() {} - explicit IfcBuildingStorey (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. std::optional< double > Elevation() const; void setElevation(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); + IfcBuildingStorey initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_Elevation); }; class IFC_PARSE_API IfcBuiltElementType : public IfcElementType { public: - IfcBuiltElementType() {} - explicit IfcBuiltElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcBuiltElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -32305,15 +31406,14 @@ public: /// IFC2x4. class IFC_PARSE_API IfcChimneyType : public IfcBuiltElementType { public: - IfcChimneyType() {} - explicit IfcChimneyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a chimney element from which the type required may be set. ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v10_PredefinedType); + IfcChimneyType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v10_PredefinedType); }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -32335,37 +31435,34 @@ public: /// Figure 312 — Circle hollow profile class IFC_PARSE_API IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: - IfcCircleHollowProfileDef() {} - explicit IfcCircleHollowProfileDef (const std::weak_ptr& data) : IfcCircleProfileDef(data) {} + using IfcCircleProfileDef::IfcCircleProfileDef; /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; void setWallThickness(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef initialize(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, std::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D v3_Position, double v4_Radius, double v5_WallThickness); }; class IFC_PARSE_API IfcCivilElementType : public IfcElementType { public: - IfcCivilElementType() {} - explicit IfcCivilElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcCivilElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcClothoid : public IfcSpiral { public: - IfcClothoid() {} - explicit IfcClothoid (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double ClothoidConstant() const; void setClothoidConstant(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); + IfcClothoid initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_ClothoidConstant); }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -32467,15 +31564,14 @@ public: /// IfcColumnStandardCase class IFC_PARSE_API IfcColumnType : public IfcBuiltElementType { public: - IfcColumnType() {} - explicit IfcColumnType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a column element from which the type required may be set. ::Ifc4x3_tc1::IfcColumnTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcColumnTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcColumnTypeEnum::Value v10_PredefinedType); + IfcColumnType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcColumnTypeEnum::Value v10_PredefinedType); }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -32487,8 +31583,7 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - IfcComplexPropertyTemplate() {} - explicit IfcComplexPropertyTemplate (const std::weak_ptr& data) : IfcPropertyTemplate(data) {} + using IfcPropertyTemplate::IfcPropertyTemplate; std::optional< std::string > UsageName() const; void setUsageName(const std::optional< std::string >& v); @@ -32499,7 +31594,7 @@ public: void setHasPropertyTemplates(const std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_UsageName, std::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertyTemplate > > v7_HasPropertyTemplates); }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -32569,8 +31664,7 @@ public: /// SameSense, the segments shall join end-to-end. class IFC_PARSE_API IfcCompositeCurve : public IfcBoundedCurve { public: - IfcCompositeCurve() {} - explicit IfcCompositeCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. std::vector< ::Ifc4x3_tc1::IfcSegment > Segments() const; @@ -32580,7 +31674,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurve initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -32595,12 +31689,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcCompositeCurveOnSurface : public IfcCompositeCurve { public: - IfcCompositeCurveOnSurface() {} - explicit IfcCompositeCurveOnSurface (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcCompositeCurveOnSurface initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -32609,15 +31702,14 @@ public: /// HISTORY New class in IFC Release 1.0 class IFC_PARSE_API IfcConic : public IfcCurve { public: - IfcConic() {} - explicit IfcConic (const std::weak_ptr& data) : IfcCurve(data) {} + using IfcCurve::IfcCurve; /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." ::Ifc4x3_tc1::IfcAxis2Placement Position() const; void setPosition(const ::Ifc4x3_tc1::IfcAxis2Placement& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position); + IfcConic initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position); }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -32634,15 +31726,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction equipment resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionEquipmentResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of equipment to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to assemble such equipment. class IFC_PARSE_API IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: - IfcConstructionEquipmentResourceType() {} - explicit IfcConstructionEquipmentResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction equipment resources. ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionEquipmentResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: /// @@ -32659,15 +31750,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction material resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionMaterialResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates material specifications to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. The IfcGeographicElementType product type may be used to hold the material representation (via IfcRelAssociatesMaterial. There may be multiple chains of production where such product type may have its own task and resource types assigned indicating how to transport or extract such material. class IFC_PARSE_API IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: - IfcConstructionMaterialResourceType() {} - explicit IfcConstructionMaterialResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction material resources. ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionMaterialResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType); }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: /// @@ -32684,15 +31774,14 @@ public: /// In addition to assignments specified at the base class IfcConstructionResourceType, a construction product resource type may have assignments of its own using IfcRelAssignsToResource where RelatingResource refers to the IfcConstructionProductResourceType and RelatedObjects contains one or more IfcTypeProduct subtypes. Such relationship indicates the type of product to be used as input, which is instantiated as an occurrence assigned for each resource occurrence. There may be multiple chains of production where such product type may have its own task and resource types assigned. class IFC_PARSE_API IfcConstructionProductResourceType : public IfcConstructionResourceType { public: - IfcConstructionProductResourceType() {} - explicit IfcConstructionProductResourceType (const std::weak_ptr& data) : IfcConstructionResourceType(data) {} + using IfcConstructionResourceType::IfcConstructionResourceType; /// Defines types of construction product resources. ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); + IfcConstructionProductResourceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::string > v7_Identification, std::optional< std::string > v8_LongDescription, std::optional< std::string > v9_ResourceType, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType); }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -32768,8 +31857,7 @@ public: /// Figure 192 — Construction resource baseline use class IFC_PARSE_API IfcConstructionResource : public IfcResource { public: - IfcConstructionResource() {} - explicit IfcConstructionResource (const std::weak_ptr& data) : IfcResource(data) {} + using IfcResource::IfcResource; ::Ifc4x3_tc1::IfcResourceTime Usage() const; void setUsage(const ::Ifc4x3_tc1::IfcResourceTime& v); @@ -32779,7 +31867,7 @@ public: void setBaseQuantity(const ::Ifc4x3_tc1::IfcPhysicalQuantity& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity); + IfcConstructionResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity); }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. /// @@ -32793,8 +31881,7 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IFC_PARSE_API IfcControl : public IfcObject { public: - IfcControl() {} - explicit IfcControl (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; /// An identifying designation given to a control /// It is the identifier at the occurrence level. @@ -32805,13 +31892,12 @@ public: std::vector< IfcRelAssignsToControl > Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); + IfcControl initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification); }; class IFC_PARSE_API IfcCosineSpiral : public IfcSpiral { public: - IfcCosineSpiral() {} - explicit IfcCosineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double CosineTerm() const; void setCosineTerm(const double& v); @@ -32819,7 +31905,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); + IfcCosineSpiral initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_CosineTerm, std::optional< double > v3_ConstantTerm); }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. /// @@ -32859,8 +31945,7 @@ public: /// Figure 168 — Cost assignment class IFC_PARSE_API IfcCostItem : public IfcControl { public: - IfcCostItem() {} - explicit IfcCostItem (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -32883,7 +31968,7 @@ public: void setCostQuantities(const std::optional< std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_tc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > > v9_CostQuantities); + IfcCostItem initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, std::optional< std::vector< ::Ifc4x3_tc1::IfcCostValue > > v8_CostValues, std::optional< std::vector< ::Ifc4x3_tc1::IfcPhysicalQuantity > > v9_CostQuantities); }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. /// @@ -32910,8 +31995,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcCostSchedule : public IfcControl { public: - IfcCostSchedule() {} - explicit IfcCostSchedule (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// @@ -32939,19 +32023,18 @@ public: void setUpdateDate(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); + IfcCostSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_SubmittedOn, std::optional< std::string > v10_UpdateDate); }; class IFC_PARSE_API IfcCourseType : public IfcBuiltElementType { public: - IfcCourseType() {} - explicit IfcCourseType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcCourseTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCourseTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCourseTypeEnum::Value v10_PredefinedType); + IfcCourseType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCourseTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -33034,15 +32117,14 @@ public: /// those for IfcCoveringType. class IFC_PARSE_API IfcCoveringType : public IfcBuiltElementType { public: - IfcCoveringType() {} - explicit IfcCoveringType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v10_PredefinedType); + IfcCoveringType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v10_PredefinedType); }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -33056,8 +32138,7 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IFC_PARSE_API IfcCrewResource : public IfcConstructionResource { public: - IfcCrewResource() {} - explicit IfcCrewResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of crew resources. /// IFC2x4 New attribute @@ -33065,7 +32146,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); + IfcCrewResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -33090,15 +32171,14 @@ public: /// New entity in Release IFC2x Editon 3. class IFC_PARSE_API IfcCurtainWallType : public IfcBuiltElementType { public: - IfcCurtainWallType() {} - explicit IfcCurtainWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a curtain wall element from which the type required may be set. ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); + IfcCurtainWallType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: /// @@ -33156,35 +32236,32 @@ public: /// HISTORY New class in IFC2x4. class IFC_PARSE_API IfcCylindricalSurface : public IfcElementarySurface { public: - IfcCylindricalSurface() {} - explicit IfcCylindricalSurface (const std::weak_ptr& data) : IfcElementarySurface(data) {} + using IfcElementarySurface::IfcElementarySurface; /// The radius of the cylindrical surface. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius); + IfcCylindricalSurface initialize(::Ifc4x3_tc1::IfcAxis2Placement3D v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcDeepFoundationType : public IfcBuiltElementType { public: - IfcDeepFoundationType() {} - explicit IfcDeepFoundationType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDeepFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; class IFC_PARSE_API IfcDirectrixDerivedReferenceSweptAreaSolid : public IfcFixedReferenceSweptAreaSolid { public: - IfcDirectrixDerivedReferenceSweptAreaSolid() {} - explicit IfcDirectrixDerivedReferenceSweptAreaSolid (const std::weak_ptr& data) : IfcFixedReferenceSweptAreaSolid(data) {} + using IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference); + IfcDirectrixDerivedReferenceSweptAreaSolid initialize(::Ifc4x3_tc1::IfcProfileDef v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D v2_Position, ::Ifc4x3_tc1::IfcCurve v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect v5_EndParam, ::Ifc4x3_tc1::IfcDirection v6_FixedReference); }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -33216,12 +32293,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcDistributionElementType : public IfcElementType { public: - IfcDistributionElementType() {} - explicit IfcDistributionElementType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -33290,12 +32366,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionFlowElementType : public IfcDistributionElementType { public: - IfcDistributionFlowElementType() {} - explicit IfcDistributionFlowElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -33394,8 +32469,7 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IFC_PARSE_API IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - IfcDoorLiningProperties() {} - explicit IfcDoorLiningProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). std::optional< double > LiningDepth() const; @@ -33444,7 +32518,7 @@ public: void setLiningToPanelOffsetY(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_tc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_LiningDepth, std::optional< double > v6_LiningThickness, std::optional< double > v7_ThresholdDepth, std::optional< double > v8_ThresholdThickness, std::optional< double > v9_TransomThickness, std::optional< double > v10_TransomOffset, std::optional< double > v11_LiningOffset, std::optional< double > v12_ThresholdOffset, std::optional< double > v13_CasingThickness, std::optional< double > v14_CasingDepth, ::Ifc4x3_tc1::IfcShapeAspect v15_ShapeAspectStyle, std::optional< double > v16_LiningToPanelOffsetX, std::optional< double > v17_LiningToPanelOffsetY); }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -33493,8 +32567,7 @@ public: /// Figure 173 — Door panel properties class IFC_PARSE_API IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - IfcDoorPanelProperties() {} - explicit IfcDoorPanelProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. std::optional< double > PanelDepth() const; @@ -33515,7 +32588,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_tc1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle); + IfcDoorPanelProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< double > v5_PanelDepth, ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, std::optional< double > v7_PanelWidth, ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle); }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -33647,8 +32720,7 @@ public: /// IfcDoorStandardCase class IFC_PARSE_API IfcDoorType : public IfcBuiltElementType { public: - IfcDoorType() {} - explicit IfcDoorType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a door element from which the type required may be set. ::Ifc4x3_tc1::IfcDoorTypeEnum::Value PredefinedType() const; @@ -33662,7 +32734,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v11_OperationType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedOperationType); }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -33738,12 +32810,11 @@ public: /// The value 'by layer' shall only be inserted, if the geometric representation item using the colour definition has an association to IfcPresentationLayerWithStyle, and if that instance of IfcPresentationLayerWithStyle has a valid colour definition for IfcCurveStyle, IfcSymbolStyle, or IfcSurfaceStyle (depending on what is applicable). class IFC_PARSE_API IfcDraughtingPreDefinedColour : public IfcPreDefinedColour { public: - IfcDraughtingPreDefinedColour() {} - explicit IfcDraughtingPreDefinedColour (const std::weak_ptr& data) : IfcPreDefinedColour(data) {} + using IfcPreDefinedColour::IfcPreDefinedColour; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedColour initialize(std::string v1_Name); }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -33760,12 +32831,11 @@ public: /// HISTORY  New entity in IFC2x2. class IFC_PARSE_API IfcDraughtingPreDefinedCurveFont : public IfcPreDefinedCurveFont { public: - IfcDraughtingPreDefinedCurveFont() {} - explicit IfcDraughtingPreDefinedCurveFont (const std::weak_ptr& data) : IfcPreDefinedCurveFont(data) {} + using IfcPreDefinedCurveFont::IfcPreDefinedCurveFont; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_Name); + IfcDraughtingPreDefinedCurveFont initialize(std::string v1_Name); }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -33822,8 +32892,7 @@ public: /// IfcElement. class IFC_PARSE_API IfcElement : public IfcProduct { public: - IfcElement() {} - explicit IfcElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. std::optional< std::string > Tag() const; @@ -33842,7 +32911,7 @@ public: std::vector< IfcRelAdheresToElement > HasSurfaceFeatures() const; // INVERSE IfcRelAdheresToElement::RelatingElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -33940,8 +33009,7 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IFC_PARSE_API IfcElementAssembly : public IfcElement { public: - IfcElementAssembly() {} - explicit IfcElementAssembly (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// A designation of where the assembly is intended to take place defined by an Enum. std::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > AssemblyPlace() const; @@ -33953,7 +33021,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); + IfcElementAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, std::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType); }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -33979,15 +33047,14 @@ public: /// Release IFC2x Edition 4. class IFC_PARSE_API IfcElementAssemblyType : public IfcElementType { public: - IfcElementAssemblyType() {} - explicit IfcElementAssemblyType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); + IfcElementAssemblyType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType); }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -34068,12 +33135,11 @@ public: /// element components in the IfcElementQuantity. class IFC_PARSE_API IfcElementComponent : public IfcElement { public: - IfcElementComponent() {} - explicit IfcElementComponent (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcElementComponent initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -34086,12 +33152,11 @@ public: /// Release 2x2 class IFC_PARSE_API IfcElementComponentType : public IfcElementType { public: - IfcElementComponentType() {} - explicit IfcElementComponentType (const std::weak_ptr& data) : IfcElementType(data) {} + using IfcElementType::IfcElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcElementComponentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: /// @@ -34122,8 +33187,7 @@ public: /// Figure 280 — Ellipse geometry class IFC_PARSE_API IfcEllipse : public IfcConic { public: - IfcEllipse() {} - explicit IfcEllipse (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; @@ -34133,7 +33197,7 @@ public: void setSemiAxis2(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); + IfcEllipse initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -34160,12 +33224,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcEnergyConversionDeviceType : public IfcDistributionFlowElementType { public: - IfcEnergyConversionDeviceType() {} - explicit IfcEnergyConversionDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: /// @@ -34195,14 +33258,13 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IFC_PARSE_API IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineType() {} - explicit IfcEngineType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_tc1::IfcEngineTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcEngineTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEngineTypeEnum::Value v10_PredefinedType); + IfcEngineType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEngineTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -34232,15 +33294,14 @@ public: /// The distribution ports relating to the IfcEvaporativeCoolerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporativeCooler for standard port definitions. class IFC_PARSE_API IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: - IfcEvaporativeCoolerType() {} - explicit IfcEvaporativeCoolerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporative cooler. ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); + IfcEvaporativeCoolerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: /// @@ -34270,15 +33331,14 @@ public: /// The distribution ports relating to the IfcEvaporatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEvaporator for standard port definitions. class IFC_PARSE_API IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: - IfcEvaporatorType() {} - explicit IfcEvaporatorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of evaporator. ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); + IfcEvaporatorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType); }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -34359,8 +33419,7 @@ public: /// using IfcRelAssignsToProduct. class IFC_PARSE_API IfcEvent : public IfcProcess { public: - IfcEvent() {} - explicit IfcEvent (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of an event from which /// the type required may be set. @@ -34380,7 +33439,7 @@ public: void setEventOccurenceTime(const ::Ifc4x3_tc1::IfcEventTime& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_tc1::IfcEventTime v11_EventOccurenceTime); + IfcEvent initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > v8_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, std::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_tc1::IfcEventTime v11_EventOccurenceTime); }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -34389,12 +33448,11 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialStructureElement : public IfcSpatialElement { public: - IfcExternalSpatialStructureElement() {} - explicit IfcExternalSpatialStructureElement (const std::weak_ptr& data) : IfcSpatialElement(data) {} + using IfcSpatialElement::IfcSpatialElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName); }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -34422,12 +33480,11 @@ public: /// Figure 257 — Faceted B-rep class IFC_PARSE_API IfcFacetedBrep : public IfcManifoldSolidBrep { public: - IfcFacetedBrep() {} - explicit IfcFacetedBrep (const std::weak_ptr& data) : IfcManifoldSolidBrep(data) {} + using IfcManifoldSolidBrep::IfcManifoldSolidBrep; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer); + IfcFacetedBrep initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer); }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -34455,49 +33512,45 @@ public: /// IfcPolyLoop. class IFC_PARSE_API IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: - IfcFacetedBrepWithVoids() {} - explicit IfcFacetedBrepWithVoids (const std::weak_ptr& data) : IfcFacetedBrep(data) {} + using IfcFacetedBrep::IfcFacetedBrep; /// Set of closed shells defining voids within the solid. std::vector< ::Ifc4x3_tc1::IfcClosedShell > Voids() const; void setVoids(const std::vector< ::Ifc4x3_tc1::IfcClosedShell >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids); + IfcFacetedBrepWithVoids initialize(::Ifc4x3_tc1::IfcClosedShell v1_Outer, std::vector< ::Ifc4x3_tc1::IfcClosedShell > v2_Voids); }; class IFC_PARSE_API IfcFacility : public IfcSpatialStructureElement { public: - IfcFacility() {} - explicit IfcFacility (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType); + IfcFacility initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType); }; class IFC_PARSE_API IfcFacilityPart : public IfcSpatialStructureElement { public: - IfcFacilityPart() {} - explicit IfcFacilityPart (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value UsageType() const; void setUsageType(const ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType); + IfcFacilityPart initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType); }; class IFC_PARSE_API IfcFacilityPartCommon : public IfcFacilityPart { public: - IfcFacilityPartCommon() {} - explicit IfcFacilityPartCommon (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); + IfcFacilityPartCommon initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -34509,15 +33562,14 @@ public: /// Attribute PredefinedType added. class IFC_PARSE_API IfcFastener : public IfcElementComponent { public: - IfcFastener() {} - explicit IfcFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of fastener std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v9_PredefinedType); + IfcFastener initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -34544,15 +33596,14 @@ public: /// Pset_FastenerWeld (WELD) class IFC_PARSE_API IfcFastenerType : public IfcElementComponentType { public: - IfcFastenerType() {} - explicit IfcFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of fastener ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v10_PredefinedType); + IfcFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -34650,12 +33701,11 @@ public: /// complex shape. class IFC_PARSE_API IfcFeatureElement : public IfcElement { public: - IfcFeatureElement() {} - explicit IfcFeatureElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -34714,13 +33764,12 @@ public: /// level of its subtypes. class IFC_PARSE_API IfcFeatureElementAddition : public IfcFeatureElement { public: - IfcFeatureElementAddition() {} - explicit IfcFeatureElementAddition (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelProjectsElement > ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementAddition initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -34774,13 +33823,12 @@ public: /// subtypes. class IFC_PARSE_API IfcFeatureElementSubtraction : public IfcFeatureElement { public: - IfcFeatureElementSubtraction() {} - explicit IfcFeatureElementSubtraction (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; std::vector< IfcRelVoidsElement > VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -34806,12 +33854,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowControllerType : public IfcDistributionFlowElementType { public: - IfcFlowControllerType() {} - explicit IfcFlowControllerType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -34838,12 +33885,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowFittingType : public IfcDistributionFlowElementType { public: - IfcFlowFittingType() {} - explicit IfcFlowFittingType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: /// @@ -34879,15 +33925,14 @@ public: /// The distribution ports relating to the IfcFlowMeterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowMeter for standard port definitions. class IFC_PARSE_API IfcFlowMeterType : public IfcFlowControllerType { public: - IfcFlowMeterType() {} - explicit IfcFlowMeterType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Defines the type of flow meter. ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); + IfcFlowMeterType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType); }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -34913,12 +33958,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowMovingDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowMovingDeviceType() {} - explicit IfcFlowMovingDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -34953,12 +33997,11 @@ public: /// IfcMaterial : For elements comprised of a single material where profiles are not applicable, this indicates the material. class IFC_PARSE_API IfcFlowSegmentType : public IfcDistributionFlowElementType { public: - IfcFlowSegmentType() {} - explicit IfcFlowSegmentType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). /// @@ -34969,12 +34012,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowStorageDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowStorageDeviceType() {} - explicit IfcFlowStorageDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). /// @@ -34985,12 +34027,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTerminalType : public IfcDistributionFlowElementType { public: - IfcFlowTerminalType() {} - explicit IfcFlowTerminalType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). /// @@ -35002,12 +34043,11 @@ public: /// HISTORY: New entity in IFC Release 2x2. class IFC_PARSE_API IfcFlowTreatmentDeviceType : public IfcDistributionFlowElementType { public: - IfcFlowTreatmentDeviceType() {} - explicit IfcFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -35020,15 +34060,14 @@ public: /// Material profile set or material layer set association analogous to IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFootingType : public IfcBuiltElementType { public: - IfcFootingType() {} - explicit IfcFootingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Subtype of footing. ::Ifc4x3_tc1::IfcFootingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFootingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFootingTypeEnum::Value v10_PredefinedType); + IfcFootingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFootingTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -35136,12 +34175,11 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcFurnishingElement : public IfcElement { public: - IfcFurnishingElement() {} - explicit IfcFurnishingElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFurnishingElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. /// @@ -35176,14 +34214,13 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IFC_PARSE_API IfcFurniture : public IfcFurnishingElement { public: - IfcFurniture() {} - explicit IfcFurniture (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); + IfcFurniture initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -35327,43 +34364,39 @@ public: /// RepresentationType :'MappedRepresentation' class IFC_PARSE_API IfcGeographicElement : public IfcElement { public: - IfcGeographicElement() {} - explicit IfcGeographicElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); + IfcGeographicElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalElement : public IfcElement { public: - IfcGeotechnicalElement() {} - explicit IfcGeotechnicalElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeotechnicalStratum : public IfcGeotechnicalElement { public: - IfcGeotechnicalStratum() {} - explicit IfcGeotechnicalStratum (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); + IfcGeotechnicalStratum initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGradientCurve : public IfcCompositeCurve { public: - IfcGradientCurve() {} - explicit IfcGradientCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_tc1::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_tc1::IfcBoundedCurve& v); @@ -35371,7 +34404,7 @@ public: void setEndPoint(const ::Ifc4x3_tc1::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint); + IfcGradientCurve initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint); }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. /// @@ -35405,14 +34438,13 @@ public: /// Controls: affecting the group using IfcRelAssignsToControl class IFC_PARSE_API IfcGroup : public IfcObject { public: - IfcGroup() {} - explicit IfcGroup (const std::weak_ptr& data) : IfcObject(data) {} + using IfcObject::IfcObject; std::vector< IfcRelAssignsToGroup > IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup std::vector< IfcRelReferencedInSpatialStructure > ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcGroup initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: /// @@ -35445,15 +34477,14 @@ public: /// The distribution ports relating to the IfcHeatExchangerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHeatExchanger for standard port definitions. class IFC_PARSE_API IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: - IfcHeatExchangerType() {} - explicit IfcHeatExchangerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); + IfcHeatExchangerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: /// @@ -35483,45 +34514,41 @@ public: /// The distribution ports relating to the IfcHumidifierType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcHumidifier for standard port definitions. class IFC_PARSE_API IfcHumidifierType : public IfcEnergyConversionDeviceType { public: - IfcHumidifierType() {} - explicit IfcHumidifierType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of humidifier. ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v10_PredefinedType); + IfcHumidifierType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDevice : public IfcElementComponent { public: - IfcImpactProtectionDevice() {} - explicit IfcImpactProtectionDevice (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); + IfcImpactProtectionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcImpactProtectionDeviceType : public IfcElementComponentType { public: - IfcImpactProtectionDeviceType() {} - explicit IfcImpactProtectionDeviceType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); + IfcImpactProtectionDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIndexedPolyCurve : public IfcBoundedCurve { public: - IfcIndexedPolyCurve() {} - explicit IfcIndexedPolyCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; ::Ifc4x3_tc1::IfcCartesianPointList Points() const; void setPoints(const ::Ifc4x3_tc1::IfcCartesianPointList& v); @@ -35531,7 +34558,7 @@ public: void setSelfIntersect(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_tc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); + IfcIndexedPolyCurve initialize(::Ifc4x3_tc1::IfcCartesianPointList v1_Points, std::optional< std::vector< ::Ifc4x3_tc1::IfcSegmentIndexSelect > > v2_Segments, std::optional< bool > v3_SelfIntersect); }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// @@ -35568,24 +34595,22 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IFC_PARSE_API IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorType() {} - explicit IfcInterceptorType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v10_PredefinedType); + IfcInterceptorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcIntersectionCurve : public IfcSurfaceCurve { public: - IfcIntersectionCurve() {} - explicit IfcIntersectionCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcIntersectionCurve initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; /// An inventory is a list of items within an enterprise. /// @@ -35600,8 +34625,7 @@ public: /// IfcSpace: Spaces included in the inventory. class IFC_PARSE_API IfcInventory : public IfcGroup { public: - IfcInventory() {} - explicit IfcInventory (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A list of the types of inventories from which that required may be selected. /// @@ -35627,7 +34651,7 @@ public: void setOriginalValue(const ::Ifc4x3_tc1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_tc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_tc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v11_OriginalValue); + IfcInventory initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_tc1::IfcActorSelect v7_Jurisdiction, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_ResponsiblePersons, std::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_tc1::IfcCostValue v10_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v11_OriginalValue); }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: /// @@ -35658,27 +34682,25 @@ public: /// The distribution ports relating to the IfcJunctionBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcJunctionBox for standard port definitions. class IFC_PARSE_API IfcJunctionBoxType : public IfcFlowFittingType { public: - IfcJunctionBoxType() {} - explicit IfcJunctionBoxType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of junction boxes from which the type required may be set. ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); + IfcJunctionBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcKerbType : public IfcBuiltElementType { public: - IfcKerbType() {} - explicit IfcKerbType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcKerbTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcKerbTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcKerbTypeEnum::Value v10_PredefinedType); + IfcKerbType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcKerbTypeEnum::Value v10_PredefinedType); }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. /// @@ -35706,8 +34728,7 @@ public: /// Figure 194 — Labor resource assignment use class IFC_PARSE_API IfcLaborResource : public IfcConstructionResource { public: - IfcLaborResource() {} - explicit IfcLaborResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of labor resources. /// IFC2x4 New attribute @@ -35715,7 +34736,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); + IfcLaborResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType); }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -35748,15 +34769,14 @@ public: /// The distribution ports relating to the IfcLampType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLamp for standard port definitions. class IFC_PARSE_API IfcLampType : public IfcFlowTerminalType { public: - IfcLampType() {} - explicit IfcLampType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of lamp from which the type required may be set. ::Ifc4x3_tc1::IfcLampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcLampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLampTypeEnum::Value v10_PredefinedType); + IfcLampType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLampTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: /// @@ -35791,61 +34811,56 @@ public: /// The distribution ports relating to the IfcLightFixtureType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcLightFixture for standard port definitions. class IFC_PARSE_API IfcLightFixtureType : public IfcFlowTerminalType { public: - IfcLightFixtureType() {} - explicit IfcLightFixtureType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of light fixture from which the type required may be set. ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); + IfcLightFixtureType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcLinearElement : public IfcProduct { public: - IfcLinearElement() {} - explicit IfcLinearElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcLinearElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminalType : public IfcFlowTerminalType { public: - IfcLiquidTerminalType() {} - explicit IfcLiquidTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); + IfcLiquidTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMarineFacility : public IfcFacility { public: - IfcMarineFacility() {} - explicit IfcMarineFacility (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); + IfcMarineFacility initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcMarinePart : public IfcFacilityPart { public: - IfcMarinePart() {} - explicit IfcMarinePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v11_PredefinedType); + IfcMarinePart initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -35878,8 +34893,7 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IFC_PARSE_API IfcMechanicalFastener : public IfcElementComponent { public: - IfcMechanicalFastener() {} - explicit IfcMechanicalFastener (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -35890,7 +34904,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); + IfcMechanicalFastener initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_NominalDiameter, std::optional< double > v10_NominalLength, std::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). /// @@ -35929,8 +34943,7 @@ public: /// Pset_MechanicalFastenerBolt (BOLT) class IFC_PARSE_API IfcMechanicalFastenerType : public IfcElementComponentType { public: - IfcMechanicalFastenerType() {} - explicit IfcMechanicalFastenerType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of mechanical fastener ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value PredefinedType() const; @@ -35943,7 +34956,7 @@ public: void setNominalLength(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); + IfcMechanicalFastenerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_NominalLength); }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: /// @@ -35973,14 +34986,13 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IFC_PARSE_API IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceType() {} - explicit IfcMedicalDeviceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); + IfcMedicalDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -36085,39 +35097,36 @@ public: /// IfcMemberStandardCase class IFC_PARSE_API IfcMemberType : public IfcBuiltElementType { public: - IfcMemberType() {} - explicit IfcMemberType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a linear structural member element from which the type required may be set. ::Ifc4x3_tc1::IfcMemberTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcMemberTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMemberTypeEnum::Value v10_PredefinedType); + IfcMemberType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMemberTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcMobileTelecommunicationsApplianceType() {} - explicit IfcMobileTelecommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcMobileTelecommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcMooringDeviceType : public IfcBuiltElementType { public: - IfcMooringDeviceType() {} - explicit IfcMooringDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); + IfcMooringDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: /// @@ -36148,27 +35157,25 @@ public: /// The distribution ports relating to the IfcMotorConnectionType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMotorConnection for standard port definitions. class IFC_PARSE_API IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: - IfcMotorConnectionType() {} - explicit IfcMotorConnectionType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of motor connection from which the type required may be set. ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); + IfcMotorConnectionType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcNavigationElementType : public IfcBuiltElementType { public: - IfcNavigationElementType() {} - explicit IfcNavigationElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType); + IfcNavigationElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType); }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -36179,8 +35186,7 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IFC_PARSE_API IfcOccupant : public IfcActor { public: - IfcOccupant() {} - explicit IfcOccupant (const std::weak_ptr& data) : IfcActor(data) {} + using IfcActor::IfcActor; /// Predefined occupant types from which that required may be set. /// @@ -36189,7 +35195,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v7_PredefinedType); + IfcOccupant initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect v6_TheActor, std::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v7_PredefinedType); }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -36395,8 +35401,7 @@ public: /// Figure 36 — Opening with multiple extrusions class IFC_PARSE_API IfcOpeningElement : public IfcFeatureElementSubtraction { public: - IfcOpeningElement() {} - explicit IfcOpeningElement (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -36406,7 +35411,7 @@ public: std::vector< IfcRelFillsElement > HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); + IfcOpeningElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -36439,27 +35444,25 @@ public: /// The distribution ports relating to the IfcOutletType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcOutlet for standard port definitions. class IFC_PARSE_API IfcOutletType : public IfcFlowTerminalType { public: - IfcOutletType() {} - explicit IfcOutletType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of outlet from which the type required may be set. ::Ifc4x3_tc1::IfcOutletTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcOutletTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcOutletTypeEnum::Value v10_PredefinedType); + IfcOutletType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcOutletTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPavementType : public IfcBuiltElementType { public: - IfcPavementType() {} - explicit IfcPavementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcPavementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcPavementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPavementTypeEnum::Value v10_PredefinedType); + IfcPavementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPavementTypeEnum::Value v10_PredefinedType); }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. /// @@ -36468,8 +35471,7 @@ public: /// HISTORY: New entity in Release IFC2x Edition 2. class IFC_PARSE_API IfcPerformanceHistory : public IfcControl { public: - IfcPerformanceHistory() {} - explicit IfcPerformanceHistory (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; @@ -36481,7 +35483,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); + IfcPerformanceHistory initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, std::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType); }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -36516,8 +35518,7 @@ public: /// Figure 174 — Permeable covering properties class IFC_PARSE_API IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: - IfcPermeableCoveringProperties() {} - explicit IfcPermeableCoveringProperties (const std::weak_ptr& data) : IfcPreDefinedPropertySet(data) {} + using IfcPreDefinedPropertySet::IfcPreDefinedPropertySet; /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value OperationType() const; @@ -36536,7 +35537,7 @@ public: void setShapeAspectStyle(const ::Ifc4x3_tc1::IfcShapeAspect& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle); + IfcPermeableCoveringProperties initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, std::optional< double > v7_FrameDepth, std::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect v9_ShapeAspectStyle); }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -36577,8 +35578,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcPermit : public IfcControl { public: - IfcPermit() {} - explicit IfcPermit (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined types of permit that can be granted. /// @@ -36597,7 +35597,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcPermit initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -36608,15 +35608,14 @@ public: /// Material profile set association analogous to IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPileType : public IfcDeepFoundationType { public: - IfcPileType() {} - explicit IfcPileType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; /// Subtype of pile. ::Ifc4x3_tc1::IfcPileTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcPileTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPileTypeEnum::Value v10_PredefinedType); + IfcPileType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPileTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -36649,15 +35648,14 @@ public: /// The distribution ports relating to the IfcPipeFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeFitting for standard port definitions. class IFC_PARSE_API IfcPipeFittingType : public IfcFlowFittingType { public: - IfcPipeFittingType() {} - explicit IfcPipeFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of pipe fitting. ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); + IfcPipeFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: /// @@ -36694,15 +35692,14 @@ public: /// The distribution ports relating to the IfcPipeSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPipeSegment for standard port definitions. class IFC_PARSE_API IfcPipeSegmentType : public IfcFlowSegmentType { public: - IfcPipeSegmentType() {} - explicit IfcPipeSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of pipe segment. ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); + IfcPipeSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType); }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -36783,21 +35780,19 @@ public: /// plate types. class IFC_PARSE_API IfcPlateType : public IfcBuiltElementType { public: - IfcPlateType() {} - explicit IfcPlateType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a planar member element from which the type required may be set. ::Ifc4x3_tc1::IfcPlateTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcPlateTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPlateTypeEnum::Value v10_PredefinedType); + IfcPlateType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPlateTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcPolygonalFaceSet : public IfcTessellatedFaceSet { public: - IfcPolygonalFaceSet() {} - explicit IfcPolygonalFaceSet (const std::weak_ptr& data) : IfcTessellatedFaceSet(data) {} + using IfcTessellatedFaceSet::IfcTessellatedFaceSet; std::optional< bool > Closed() const; void setClosed(const std::optional< bool >& v); @@ -36807,7 +35802,7 @@ public: void setPnIndex(const std::optional< std::vector< int > /*[1:?]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_tc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); + IfcPolygonalFaceSet initialize(::Ifc4x3_tc1::IfcCartesianPointList3D v1_Coordinates, std::optional< bool > v2_Closed, std::vector< ::Ifc4x3_tc1::IfcIndexedPolygonalFace > v3_Faces, std::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex); }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -36825,15 +35820,14 @@ public: /// HISTORY  New class in IFC Release 1.0 class IFC_PARSE_API IfcPolyline : public IfcBoundedCurve { public: - IfcPolyline() {} - explicit IfcPolyline (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The points defining the polyline. std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > Points() const; void setPoints(const std::vector< ::Ifc4x3_tc1::IfcCartesianPoint >& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Points); + IfcPolyline initialize(std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v1_Points); }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -36890,27 +35884,25 @@ public: /// its subtypes. class IFC_PARSE_API IfcPort : public IfcProduct { public: - IfcPort() {} - explicit IfcPort (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelConnectsPortToElement > ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort std::vector< IfcRelConnectsPorts > ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort std::vector< IfcRelConnectsPorts > ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcPort initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcPositioningElement : public IfcProduct { public: - IfcPositioningElement() {} - explicit IfcPositioningElement (const std::weak_ptr& data) : IfcProduct(data) {} + using IfcProduct::IfcProduct; std::vector< IfcRelContainedInSpatialStructure > ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements std::vector< IfcRelPositions > Positions() const; // INVERSE IfcRelPositions::RelatingPositioningElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -37018,8 +36010,7 @@ public: /// Figure 12 — Procedure relationships class IFC_PARSE_API IfcProcedure : public IfcProcess { public: - IfcProcedure() {} - explicit IfcProcedure (const std::weak_ptr& data) : IfcProcess(data) {} + using IfcProcess::IfcProcess; /// Identifies the predefined types of a procedure from which /// the type required may be set. @@ -37027,7 +36018,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > v8_PredefinedType); + IfcProcedure initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, std::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > v8_PredefinedType); }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -37074,8 +36065,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcProjectOrder : public IfcControl { public: - IfcProjectOrder() {} - explicit IfcProjectOrder (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37098,7 +36088,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcProjectOrder initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The projection element is a /// specialization of the general feature element to represent @@ -37209,8 +36199,7 @@ public: /// RepresentationType : 'Brep' class IFC_PARSE_API IfcProjectionElement : public IfcFeatureElementAddition { public: - IfcProjectionElement() {} - explicit IfcProjectionElement (const std::weak_ptr& data) : IfcFeatureElementAddition(data) {} + using IfcFeatureElementAddition::IfcFeatureElementAddition; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// @@ -37219,7 +36208,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); + IfcProjectionElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: /// @@ -37258,15 +36247,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDevice for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceType : public IfcFlowControllerType { public: - IfcProtectiveDeviceType() {} - explicit IfcProtectiveDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of protective device from which the type required may be set. ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: /// @@ -37298,27 +36286,25 @@ public: /// The distribution ports relating to the IfcPumpType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcPump for standard port definitions. class IFC_PARSE_API IfcPumpType : public IfcFlowMovingDeviceType { public: - IfcPumpType() {} - explicit IfcPumpType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of pump typically used in building services. ::Ifc4x3_tc1::IfcPumpTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcPumpTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPumpTypeEnum::Value v10_PredefinedType); + IfcPumpType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPumpTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailType : public IfcBuiltElementType { public: - IfcRailType() {} - explicit IfcRailType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcRailTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcRailTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailTypeEnum::Value v10_PredefinedType); + IfcRailType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -37342,39 +36328,36 @@ public: /// Editon 2. class IFC_PARSE_API IfcRailingType : public IfcBuiltElementType { public: - IfcRailingType() {} - explicit IfcRailingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a railing element from which the type required may be set. ::Ifc4x3_tc1::IfcRailingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcRailingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailingTypeEnum::Value v10_PredefinedType); + IfcRailingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailingTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcRailway : public IfcFacility { public: - IfcRailway() {} - explicit IfcRailway (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v10_PredefinedType); + IfcRailway initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRailwayPart : public IfcFacilityPart { public: - IfcRailwayPart() {} - explicit IfcRailwayPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); + IfcRailwayPart initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -37398,15 +36381,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcRampFlightType : public IfcBuiltElementType { public: - IfcRampFlightType() {} - explicit IfcRampFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp flight element from which the type required may be set. ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v10_PredefinedType); + IfcRampFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -37443,15 +36425,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRampType : public IfcBuiltElementType { public: - IfcRampType() {} - explicit IfcRampType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a ramp element from which the type required may be set. ::Ifc4x3_tc1::IfcRampTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcRampTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampTypeEnum::Value v10_PredefinedType); + IfcRampType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampTypeEnum::Value v10_PredefinedType); }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. /// @@ -37468,27 +36449,25 @@ public: /// HISTORY: New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineSurfaceWithKnots : public IfcBSplineSurfaceWithKnots { public: - IfcRationalBSplineSurfaceWithKnots() {} - explicit IfcRationalBSplineSurfaceWithKnots (const std::weak_ptr& data) : IfcBSplineSurfaceWithKnots(data) {} + using IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots; /// The weights associated with the control points in the rational case. std::vector< std::vector< double > > WeightsData() const; void setWeightsData(const std::vector< std::vector< double > >& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); + IfcRationalBSplineSurfaceWithKnots initialize(int v1_UDegree, int v2_VDegree, std::vector< std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > > v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, ::Ifc4x3_tc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData); }; class IFC_PARSE_API IfcReferent : public IfcPositioningElement { public: - IfcReferent() {} - explicit IfcReferent (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v8_PredefinedType); + IfcReferent initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v8_PredefinedType); }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -37500,26 +36479,24 @@ public: /// Attributes PredefinedType and Role added. class IFC_PARSE_API IfcReinforcingElement : public IfcElementComponent { public: - IfcReinforcingElement() {} - explicit IfcReinforcingElement (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< std::string > SteelGrade() const; void setSteelGrade(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); + IfcReinforcingElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade); }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcReinforcingElementType : public IfcElementComponentType { public: - IfcReinforcingElementType() {} - explicit IfcReinforcingElementType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcReinforcingElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37547,8 +36524,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingMesh : public IfcReinforcingElement { public: - IfcReinforcingMesh() {} - explicit IfcReinforcingMesh (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > MeshLength() const; void setMeshLength(const std::optional< double >& v); @@ -37571,7 +36547,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); + IfcReinforcingMesh initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_MeshLength, std::optional< double > v11_MeshWidth, std::optional< double > v12_LongitudinalBarNominalDiameter, std::optional< double > v13_TransverseBarNominalDiameter, std::optional< double > v14_LongitudinalBarCrossSectionArea, std::optional< double > v15_TransverseBarCrossSectionArea, std::optional< double > v16_LongitudinalBarSpacing, std::optional< double > v17_TransverseBarSpacing, std::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType); }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. /// @@ -37586,8 +36562,7 @@ public: /// The IfcReinforcingMeshType may define the shared geometric representation for all mesh occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations. class IFC_PARSE_API IfcReinforcingMeshType : public IfcReinforcingElementType { public: - IfcReinforcingMeshType() {} - explicit IfcReinforcingMeshType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always MESH. ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value PredefinedType() const; @@ -37622,13 +36597,12 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v20_BendingParameters); + IfcReinforcingMeshType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, std::optional< double > v11_MeshLength, std::optional< double > v12_MeshWidth, std::optional< double > v13_LongitudinalBarNominalDiameter, std::optional< double > v14_TransverseBarNominalDiameter, std::optional< double > v15_LongitudinalBarCrossSectionArea, std::optional< double > v16_TransverseBarCrossSectionArea, std::optional< double > v17_LongitudinalBarSpacing, std::optional< double > v18_TransverseBarSpacing, std::optional< std::string > v19_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v20_BendingParameters); }; class IFC_PARSE_API IfcRelAdheresToElement : public IfcRelDecomposes { public: - IfcRelAdheresToElement() {} - explicit IfcRelAdheresToElement (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; ::Ifc4x3_tc1::IfcElement RelatingElement() const; void setRelatingElement(const ::Ifc4x3_tc1::IfcElement& v); @@ -37636,7 +36610,7 @@ public: void setRelatedSurfaceFeatures(const std::vector< ::Ifc4x3_tc1::IfcSurfaceFeature >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_tc1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); + IfcRelAdheresToElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement v5_RelatingElement, std::vector< ::Ifc4x3_tc1::IfcSurfaceFeature > v6_RelatedSurfaceFeatures); }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -37662,8 +36636,7 @@ public: /// IFC2x4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes. class IFC_PARSE_API IfcRelAggregates : public IfcRelDecomposes { public: - IfcRelAggregates() {} - explicit IfcRelAggregates (const std::weak_ptr& data) : IfcRelDecomposes(data) {} + using IfcRelDecomposes::IfcRelDecomposes; /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// @@ -37677,31 +36650,29 @@ public: void setRelatedObjects(const std::vector< ::Ifc4x3_tc1::IfcObjectDefinition >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects); + IfcRelAggregates initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition v5_RelatingObject, std::vector< ::Ifc4x3_tc1::IfcObjectDefinition > v6_RelatedObjects); }; class IFC_PARSE_API IfcRoad : public IfcFacility { public: - IfcRoad() {} - explicit IfcRoad (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v10_PredefinedType); + IfcRoad initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcRoadPart : public IfcFacilityPart { public: - IfcRoadPart() {} - explicit IfcRoadPart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v11_PredefinedType); + IfcRoadPart initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -37737,15 +36708,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcRoofType : public IfcBuiltElementType { public: - IfcRoofType() {} - explicit IfcRoofType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a roof element from which the type required may be set. ::Ifc4x3_tc1::IfcRoofTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcRoofTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRoofTypeEnum::Value v10_PredefinedType); + IfcRoofType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRoofTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: /// @@ -37786,31 +36756,28 @@ public: /// The distribution ports relating to the IfcSanitaryTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSanitaryTerminal for standard port definitions. class IFC_PARSE_API IfcSanitaryTerminalType : public IfcFlowTerminalType { public: - IfcSanitaryTerminalType() {} - explicit IfcSanitaryTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of sanitary terminal from which the type required may be set. ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); + IfcSanitaryTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSeamCurve : public IfcSurfaceCurve { public: - IfcSeamCurve() {} - explicit IfcSeamCurve (const std::weak_ptr& data) : IfcSurfaceCurve(data) {} + using IfcSurfaceCurve::IfcSurfaceCurve; static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); + IfcSeamCurve initialize(::Ifc4x3_tc1::IfcCurve v1_Curve3D, std::vector< ::Ifc4x3_tc1::IfcPcurve > v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation); }; class IFC_PARSE_API IfcSecondOrderPolynomialSpiral : public IfcSpiral { public: - IfcSecondOrderPolynomialSpiral() {} - explicit IfcSecondOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double QuadraticTerm() const; void setQuadraticTerm(const double& v); @@ -37820,13 +36787,12 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSecondOrderPolynomialSpiral initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_QuadraticTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; class IFC_PARSE_API IfcSegmentedReferenceCurve : public IfcCompositeCurve { public: - IfcSegmentedReferenceCurve() {} - explicit IfcSegmentedReferenceCurve (const std::weak_ptr& data) : IfcCompositeCurve(data) {} + using IfcCompositeCurve::IfcCompositeCurve; ::Ifc4x3_tc1::IfcBoundedCurve BaseCurve() const; void setBaseCurve(const ::Ifc4x3_tc1::IfcBoundedCurve& v); @@ -37834,13 +36800,12 @@ public: void setEndPoint(const ::Ifc4x3_tc1::IfcPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint); + IfcSegmentedReferenceCurve initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement v4_EndPoint); }; class IFC_PARSE_API IfcSeventhOrderPolynomialSpiral : public IfcSpiral { public: - IfcSeventhOrderPolynomialSpiral() {} - explicit IfcSeventhOrderPolynomialSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SepticTerm() const; void setSepticTerm(const double& v); @@ -37860,7 +36825,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); + IfcSeventhOrderPolynomialSpiral initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SepticTerm, std::optional< double > v3_SexticTerm, std::optional< double > v4_QuinticTerm, std::optional< double > v5_QuarticTerm, std::optional< double > v6_CubicTerm, std::optional< double > v7_QuadraticTerm, std::optional< double > v8_LinearTerm, std::optional< double > v9_ConstantTerm); }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -37885,57 +36850,52 @@ public: /// Release IFC2x4. class IFC_PARSE_API IfcShadingDeviceType : public IfcBuiltElementType { public: - IfcShadingDeviceType() {} - explicit IfcShadingDeviceType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a shading device element from which the type required may be set. ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); + IfcShadingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSign : public IfcElementComponent { public: - IfcSign() {} - explicit IfcSign (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v9_PredefinedType); + IfcSign initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignType : public IfcElementComponentType { public: - IfcSignType() {} - explicit IfcSignType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_tc1::IfcSignTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSignTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignTypeEnum::Value v10_PredefinedType); + IfcSignType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSignalType : public IfcFlowTerminalType { public: - IfcSignalType() {} - explicit IfcSignalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_tc1::IfcSignalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSignalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignalTypeEnum::Value v10_PredefinedType); + IfcSignalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignalTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcSineSpiral : public IfcSpiral { public: - IfcSineSpiral() {} - explicit IfcSineSpiral (const std::weak_ptr& data) : IfcSpiral(data) {} + using IfcSpiral::IfcSpiral; double SineTerm() const; void setSineTerm(const double& v); @@ -37945,7 +36905,7 @@ public: void setConstantTerm(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); + IfcSineSpiral initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_SineTerm, std::optional< double > v3_LinearTerm, std::optional< double > v4_ConstantTerm); }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -38138,8 +37098,7 @@ public: /// 'SurfaceModel' class IFC_PARSE_API IfcSite : public IfcSpatialStructureElement { public: - IfcSite() {} - explicit IfcSite (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. @@ -38161,7 +37120,7 @@ public: void setSiteAddress(const ::Ifc4x3_tc1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_tc1::IfcPostalAddress v14_SiteAddress); + IfcSite initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, std::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, std::optional< double > v12_RefElevation, std::optional< std::string > v13_LandTitleNumber, ::Ifc4x3_tc1::IfcPostalAddress v14_SiteAddress); }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -38242,15 +37201,14 @@ public: /// slab types. class IFC_PARSE_API IfcSlabType : public IfcBuiltElementType { public: - IfcSlabType() {} - explicit IfcSlabType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a slab element from which the type required may be set. ::Ifc4x3_tc1::IfcSlabTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSlabTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSlabTypeEnum::Value v10_PredefinedType); + IfcSlabType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSlabTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: /// @@ -38280,14 +37238,13 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IFC_PARSE_API IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceType() {} - explicit IfcSolarDeviceType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); + IfcSolarDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType); }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -38541,8 +37498,7 @@ public: /// 'Brep' class IFC_PARSE_API IfcSpace : public IfcSpatialStructureElement { public: - IfcSpace() {} - explicit IfcSpace (const std::weak_ptr& data) : IfcSpatialStructureElement(data) {} + using IfcSpatialStructureElement::IfcSpatialStructureElement; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -38558,7 +37514,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); + IfcSpace initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_ElevationWithFlooring); }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: /// @@ -38592,15 +37548,14 @@ public: /// The distribution ports relating to the IfcSpaceHeaterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSpaceHeater for standard port definitions. class IFC_PARSE_API IfcSpaceHeaterType : public IfcFlowTerminalType { public: - IfcSpaceHeaterType() {} - explicit IfcSpaceHeaterType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); + IfcSpaceHeaterType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -38685,8 +37640,7 @@ public: /// . class IFC_PARSE_API IfcSpaceType : public IfcSpatialStructureElementType { public: - IfcSpaceType() {} - explicit IfcSpaceType (const std::weak_ptr& data) : IfcSpatialStructureElementType(data) {} + using IfcSpatialStructureElementType::IfcSpatialStructureElementType; /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value PredefinedType() const; @@ -38695,7 +37649,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); + IfcSpaceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v10_PredefinedType, std::optional< std::string > v11_LongName); }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: /// @@ -38725,15 +37679,14 @@ public: /// The distribution ports relating to the IfcStackTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcStackTerminal for standard port definitions. class IFC_PARSE_API IfcStackTerminalType : public IfcFlowTerminalType { public: - IfcStackTerminalType() {} - explicit IfcStackTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of stack terminal from which the type required may be set. ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); + IfcStackTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -38757,15 +37710,14 @@ public: /// Edition 2. class IFC_PARSE_API IfcStairFlightType : public IfcBuiltElementType { public: - IfcStairFlightType() {} - explicit IfcStairFlightType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair flight element from which the type required may be set. ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v10_PredefinedType); + IfcStairFlightType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -38802,15 +37754,14 @@ public: /// IFC2x Edition 4. class IFC_PARSE_API IfcStairType : public IfcBuiltElementType { public: - IfcStairType() {} - explicit IfcStairType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a stair element from which the type required may be set. ::Ifc4x3_tc1::IfcStairTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcStairTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairTypeEnum::Value v10_PredefinedType); + IfcStairType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -38833,23 +37784,21 @@ public: /// IfcStructuralReaction. class IFC_PARSE_API IfcStructuralAction : public IfcStructuralActivity { public: - IfcStructuralAction() {} - explicit IfcStructuralAction (const std::weak_ptr& data) : IfcStructuralActivity(data) {} + using IfcStructuralActivity::IfcStructuralActivity; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. std::optional< bool > DestabilizingLoad() const; void setDestabilizingLoad(const std::optional< bool >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. /// /// HISTORY: New entity in IFC 2x2. class IFC_PARSE_API IfcStructuralConnection : public IfcStructuralItem { public: - IfcStructuralConnection() {} - explicit IfcStructuralConnection (const std::weak_ptr& data) : IfcStructuralItem(data) {} + using IfcStructuralItem::IfcStructuralItem; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. ::Ifc4x3_tc1::IfcBoundaryCondition AppliedCondition() const; @@ -38857,7 +37806,7 @@ public: std::vector< IfcRelConnectsStructuralMember > ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralConnection initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition); }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -38917,8 +37866,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveAction : public IfcStructuralAction { public: - IfcStructuralCurveAction() {} - explicit IfcStructuralCurveAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -38928,7 +37876,7 @@ public: void setPredefinedType(const ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralCurveAction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. /// @@ -38949,14 +37897,13 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve connections's domain. class IFC_PARSE_API IfcStructuralCurveConnection : public IfcStructuralConnection { public: - IfcStructuralCurveConnection() {} - explicit IfcStructuralCurveConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; ::Ifc4x3_tc1::IfcDirection AxisDirection() const; void setAxisDirection(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcDirection v9_AxisDirection); + IfcStructuralCurveConnection initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcDirection v9_AxisDirection); }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. /// @@ -38997,8 +37944,7 @@ public: /// The reference curve must not be parallel with Axis at any point within the curve member's domain. class IFC_PARSE_API IfcStructuralCurveMember : public IfcStructuralMember { public: - IfcStructuralCurveMember() {} - explicit IfcStructuralCurveMember (const std::weak_ptr& data) : IfcStructuralMember(data) {} + using IfcStructuralMember::IfcStructuralMember; /// Type of member with respect to its load carrying behavior in this analysis idealization. ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value PredefinedType() const; @@ -39010,7 +37956,7 @@ public: void setAxis(const ::Ifc4x3_tc1::IfcDirection& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis); + IfcStructuralCurveMember initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis); }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. /// @@ -39034,12 +37980,11 @@ public: /// Instances of IfcStructuralCurveMemberVarying may have a topology representation which contains a single IfcEdgeLoop, based upon the edges of the parts. class IFC_PARSE_API IfcStructuralCurveMemberVarying : public IfcStructuralCurveMember { public: - IfcStructuralCurveMemberVarying() {} - explicit IfcStructuralCurveMemberVarying (const std::weak_ptr& data) : IfcStructuralCurveMember(data) {} + using IfcStructuralCurveMember::IfcStructuralCurveMember; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis); + IfcStructuralCurveMemberVarying initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection v9_Axis); }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -39093,15 +38038,14 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralCurveReaction : public IfcStructuralReaction { public: - IfcStructuralCurveReaction() {} - explicit IfcStructuralCurveReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; /// Type of reaction according to its distribution of load values. ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); + IfcStructuralCurveReaction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -39112,12 +38056,11 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IFC_PARSE_API IfcStructuralLinearAction : public IfcStructuralCurveAction { public: - IfcStructuralLinearAction() {} - explicit IfcStructuralLinearAction (const std::weak_ptr& data) : IfcStructuralCurveAction(data) {} + using IfcStructuralCurveAction::IfcStructuralCurveAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralLinearAction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -39154,8 +38097,7 @@ public: /// Load groups of type LOAD_COMBINATION shall only contain instances of IfcStructuralLoadCase. class IFC_PARSE_API IfcStructuralLoadGroup : public IfcGroup { public: - IfcStructuralLoadGroup() {} - explicit IfcStructuralLoadGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value PredefinedType() const; @@ -39176,7 +38118,7 @@ public: std::vector< IfcStructuralAnalysisModel > LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose); }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -39225,12 +38167,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointAction : public IfcStructuralAction { public: - IfcStructuralPointAction() {} - explicit IfcStructuralPointAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad); }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -39247,15 +38188,14 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralPointConnection : public IfcStructuralConnection { public: - IfcStructuralPointConnection() {} - explicit IfcStructuralPointConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. ::Ifc4x3_tc1::IfcAxis2Placement3D ConditionCoordinateSystem() const; void setConditionCoordinateSystem(const ::Ifc4x3_tc1::IfcAxis2Placement3D& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); + IfcStructuralPointConnection initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition, ::Ifc4x3_tc1::IfcAxis2Placement3D v9_ConditionCoordinateSystem); }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -39302,12 +38242,11 @@ public: /// IfcStructuralLoadSingleDisplacement. class IFC_PARSE_API IfcStructuralPointReaction : public IfcStructuralReaction { public: - IfcStructuralPointReaction() {} - explicit IfcStructuralPointReaction (const std::weak_ptr& data) : IfcStructuralReaction(data) {} + using IfcStructuralReaction::IfcStructuralReaction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); + IfcStructuralPointReaction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal); }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. /// @@ -39315,8 +38254,7 @@ public: /// IFC 2x4 change: WHERE rule added. class IFC_PARSE_API IfcStructuralResultGroup : public IfcGroup { public: - IfcStructuralResultGroup() {} - explicit IfcStructuralResultGroup (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// Specifies the analysis theory used to obtain the respective results. ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value TheoryType() const; @@ -39330,7 +38268,7 @@ public: std::vector< IfcStructuralAnalysisModel > ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_tc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_tc1::IfcStructuralLoadGroup v7_ResultForLoadGroup, bool v8_IsLinear); }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -39386,8 +38324,7 @@ public: /// shall be of the same entity type. class IFC_PARSE_API IfcStructuralSurfaceAction : public IfcStructuralAction { public: - IfcStructuralSurfaceAction() {} - explicit IfcStructuralSurfaceAction (const std::weak_ptr& data) : IfcStructuralAction(data) {} + using IfcStructuralAction::IfcStructuralAction; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > ProjectedOrTrue() const; @@ -39397,7 +38334,7 @@ public: void setPredefinedType(const ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralSurfaceAction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. /// @@ -39413,12 +38350,11 @@ public: /// Instances of IfcStructuralSurfaceConnection shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface connection. See definitions at IfcStructuralItem for further specifications. class IFC_PARSE_API IfcStructuralSurfaceConnection : public IfcStructuralConnection { public: - IfcStructuralSurfaceConnection() {} - explicit IfcStructuralSurfaceConnection (const std::weak_ptr& data) : IfcStructuralConnection(data) {} + using IfcStructuralConnection::IfcStructuralConnection; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition); + IfcStructuralSurfaceConnection initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition v8_AppliedCondition); }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -39446,8 +38382,7 @@ public: /// Figure 195 — Subcontract assignment use class IFC_PARSE_API IfcSubContractResource : public IfcConstructionResource { public: - IfcSubContractResource() {} - explicit IfcSubContractResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of subcontract resources. /// IFC2x4 New attribute @@ -39455,7 +38390,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); + IfcSubContractResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType); }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. /// @@ -39491,8 +38426,7 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcSurfaceFeature : public IfcFeatureElement { public: - IfcSurfaceFeature() {} - explicit IfcSurfaceFeature (const std::weak_ptr& data) : IfcFeatureElement(data) {} + using IfcFeatureElement::IfcFeatureElement; /// Indicates the kind of surface feature. std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > PredefinedType() const; @@ -39500,7 +38434,7 @@ public: std::vector< IfcRelAdheresToElement > AdheresToElement() const; // INVERSE IfcRelAdheresToElement::RelatedSurfaceFeatures static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); + IfcSurfaceFeature initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: /// @@ -39544,15 +38478,14 @@ public: /// The distribution ports relating to the IfcSwitchingDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSwitchingDevice for standard port definitions. class IFC_PARSE_API IfcSwitchingDeviceType : public IfcFlowControllerType { public: - IfcSwitchingDeviceType() {} - explicit IfcSwitchingDeviceType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of switch from which the type required may be set. ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); + IfcSwitchingDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -39573,14 +38506,13 @@ public: /// IFC Release 1.0 class IFC_PARSE_API IfcSystem : public IfcGroup { public: - IfcSystem() {} - explicit IfcSystem (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; std::vector< IfcRelServicesBuildings > ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem std::vector< IfcRelReferencedInSpatialStructure > ServicesFacilities() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); + IfcSystem initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType); }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. /// @@ -39608,14 +38540,13 @@ public: /// 'Panel': Panels such as glass. class IFC_PARSE_API IfcSystemFurnitureElement : public IfcFurnishingElement { public: - IfcSystemFurnitureElement() {} - explicit IfcSystemFurnitureElement (const std::weak_ptr& data) : IfcFurnishingElement(data) {} + using IfcFurnishingElement::IfcFurnishingElement; std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); + IfcSystemFurnitureElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType); }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -39651,21 +38582,19 @@ public: /// The distribution ports relating to the IfcTankType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTank for standard port definitions. class IFC_PARSE_API IfcTankType : public IfcFlowStorageDeviceType { public: - IfcTankType() {} - explicit IfcTankType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Defines the type of tank. ::Ifc4x3_tc1::IfcTankTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTankTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTankTypeEnum::Value v10_PredefinedType); + IfcTankType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTankTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendon : public IfcReinforcingElement { public: - IfcTendon() {} - explicit IfcTendon (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value >& v); @@ -39685,61 +38614,56 @@ public: void setMinCurvatureRadius(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); + IfcTendon initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_TensionForce, std::optional< double > v14_PreStress, std::optional< double > v15_FrictionCoefficient, std::optional< double > v16_AnchorageSlip, std::optional< double > v17_MinCurvatureRadius); }; class IFC_PARSE_API IfcTendonAnchor : public IfcReinforcingElement { public: - IfcTendonAnchor() {} - explicit IfcTendonAnchor (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); + IfcTendonAnchor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorType() {} - explicit IfcTendonAnchorType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); + IfcTendonAnchorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduit : public IfcReinforcingElement { public: - IfcTendonConduit() {} - explicit IfcTendonConduit (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduit initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonConduitType : public IfcReinforcingElementType { public: - IfcTendonConduitType() {} - explicit IfcTendonConduitType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); + IfcTendonConduitType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonType() {} - explicit IfcTendonType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; ::Ifc4x3_tc1::IfcTendonTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTendonTypeEnum::Value& v); @@ -39751,19 +38675,18 @@ public: void setSheathDiameter(const std::optional< double >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); + IfcTendonType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_SheathDiameter); }; class IFC_PARSE_API IfcTrackElementType : public IfcBuiltElementType { public: - IfcTrackElementType() {} - explicit IfcTrackElementType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v10_PredefinedType); + IfcTrackElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -39794,15 +38717,14 @@ public: /// The distribution ports relating to the IfcTransformerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTransformer for standard port definitions. class IFC_PARSE_API IfcTransformerType : public IfcEnergyConversionDeviceType { public: - IfcTransformerType() {} - explicit IfcTransformerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of transformer from which the type required may be set. ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v10_PredefinedType); + IfcTransformerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -39869,25 +38791,23 @@ public: /// those for IfcTransportElementType. class IFC_PARSE_API IfcTransportElementType : public IfcTransportationDeviceType { public: - IfcTransportElementType() {} - explicit IfcTransportElementType (const std::weak_ptr& data) : IfcTransportationDeviceType(data) {} + using IfcTransportationDeviceType::IfcTransportationDeviceType; /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v10_PredefinedType); + IfcTransportElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcTransportationDevice : public IfcElement { public: - IfcTransportationDevice() {} - explicit IfcTransportationDevice (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcTransportationDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -39969,8 +38889,7 @@ public: /// < parameter 2) may not be fulfilled. class IFC_PARSE_API IfcTrimmedCurve : public IfcBoundedCurve { public: - IfcTrimmedCurve() {} - explicit IfcTrimmedCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. ::Ifc4x3_tc1::IfcCurve BasisCurve() const; @@ -39989,7 +38908,7 @@ public: void setMasterRepresentation(const ::Ifc4x3_tc1::IfcTrimmingPreference::Value& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation); + IfcTrimmedCurve initialize(::Ifc4x3_tc1::IfcCurve v1_BasisCurve, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v2_Trim1, std::vector< ::Ifc4x3_tc1::IfcTrimmingSelect > v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation); }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -40022,15 +38941,14 @@ public: /// The distribution ports relating to the IfcTubeBundleType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcTubeBundle for standard port definitions. class IFC_PARSE_API IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: - IfcTubeBundleType() {} - explicit IfcTubeBundleType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of tube bundle. ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); + IfcTubeBundleType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: /// @@ -40062,15 +38980,14 @@ public: /// The distribution ports relating to the IfcUnitaryEquipmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryEquipment for standard port definitions. class IFC_PARSE_API IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: - IfcUnitaryEquipmentType() {} - explicit IfcUnitaryEquipmentType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// The type of unitary equipment. ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); + IfcUnitaryEquipmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -40112,51 +39029,47 @@ public: /// The distribution ports relating to the IfcValveType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcValve for standard port definitions. class IFC_PARSE_API IfcValveType : public IfcFlowControllerType { public: - IfcValveType() {} - explicit IfcValveType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The type of valve. ::Ifc4x3_tc1::IfcValveTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcValveTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcValveTypeEnum::Value v10_PredefinedType); + IfcValveType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcValveTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcVehicle : public IfcTransportationDevice { public: - IfcVehicle() {} - explicit IfcVehicle (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v9_PredefinedType); + IfcVehicle initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamper : public IfcElementComponent { public: - IfcVibrationDamper() {} - explicit IfcVibrationDamper (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); + IfcVibrationDamper initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcVibrationDamperType : public IfcElementComponentType { public: - IfcVibrationDamperType() {} - explicit IfcVibrationDamperType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); + IfcVibrationDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType); }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -40194,14 +39107,13 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolator : public IfcElementComponent { public: - IfcVibrationIsolator() {} - explicit IfcVibrationIsolator (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); + IfcVibrationIsolator initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType); }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: /// @@ -40227,15 +39139,14 @@ public: /// 'Damping': Material from which the damping element of the vibration isolator is constructed. class IFC_PARSE_API IfcVibrationIsolatorType : public IfcElementComponentType { public: - IfcVibrationIsolatorType() {} - explicit IfcVibrationIsolatorType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Defines the type of vibration isolator. ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); + IfcVibrationIsolatorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType); }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -40325,14 +39236,13 @@ public: /// shown above. class IFC_PARSE_API IfcVirtualElement : public IfcElement { public: - IfcVirtualElement() {} - explicit IfcVirtualElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); + IfcVirtualElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. /// @@ -40368,15 +39278,14 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IFC_PARSE_API IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - IfcVoidingFeature() {} - explicit IfcVoidingFeature (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; /// Qualifies the feature regarding its shape and configuration relative to the voided element. std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); + IfcVoidingFeature initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -40464,15 +39373,14 @@ public: /// wall types. class IFC_PARSE_API IfcWallType : public IfcBuiltElementType { public: - IfcWallType() {} - explicit IfcWallType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a wall element from which the type required may be set. ::Ifc4x3_tc1::IfcWallTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcWallTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWallTypeEnum::Value v10_PredefinedType); + IfcWallType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWallTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: /// @@ -40512,15 +39420,14 @@ public: /// The distribution ports relating to the IfcWasteTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcWasteTerminal for standard port definitions. class IFC_PARSE_API IfcWasteTerminalType : public IfcFlowTerminalType { public: - IfcWasteTerminalType() {} - explicit IfcWasteTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of waste terminal from which the type required may be set. ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); + IfcWasteTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -40645,8 +39552,7 @@ public: /// IfcWindowStandardCase class IFC_PARSE_API IfcWindowType : public IfcBuiltElementType { public: - IfcWindowType() {} - explicit IfcWindowType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a window element from which the type required may be set. ::Ifc4x3_tc1::IfcWindowTypeEnum::Value PredefinedType() const; @@ -40660,7 +39566,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, std::optional< bool > v12_ParameterTakesPrecedence, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. /// @@ -40677,8 +39583,7 @@ public: /// Figure 17 — Work calendar instantiation class IFC_PARSE_API IfcWorkCalendar : public IfcControl { public: - IfcWorkCalendar() {} - explicit IfcWorkCalendar (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict @@ -40698,7 +39603,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); + IfcWorkCalendar initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v7_WorkingTimes, std::optional< std::vector< ::Ifc4x3_tc1::IfcWorkTime > > v8_ExceptionTimes, std::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType); }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -40746,8 +39651,7 @@ public: /// property set for work control class IFC_PARSE_API IfcWorkControl : public IfcControl { public: - IfcWorkControl() {} - explicit IfcWorkControl (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// The date that the plan is created. std::string CreationDate() const; @@ -40772,7 +39676,7 @@ public: void setFinishTime(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); + IfcWorkControl initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime); }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -40801,8 +39705,7 @@ public: /// Figure 18 — Work plan relationships class IFC_PARSE_API IfcWorkPlan : public IfcWorkControl { public: - IfcWorkPlan() {} - explicit IfcWorkPlan (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work plan from which /// the type required may be set. @@ -40810,7 +39713,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); + IfcWorkPlan initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType); }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -40854,8 +39757,7 @@ public: /// Figure 19 — Work schedule relationships class IFC_PARSE_API IfcWorkSchedule : public IfcWorkControl { public: - IfcWorkSchedule() {} - explicit IfcWorkSchedule (const std::weak_ptr& data) : IfcWorkControl(data) {} + using IfcWorkControl::IfcWorkControl; /// Identifies the predefined types of a work schedule from which /// the type required may be set. @@ -40863,7 +39765,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); + IfcWorkSchedule initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::string v7_CreationDate, std::optional< std::vector< ::Ifc4x3_tc1::IfcPerson > > v8_Creators, std::optional< std::string > v9_Purpose, std::optional< std::string > v10_Duration, std::optional< std::string > v11_TotalFloat, std::string v12_StartTime, std::optional< std::string > v13_FinishTime, std::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType); }; /// Definition from IAI: A zone isa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -40952,8 +39854,7 @@ public: /// requirements class IFC_PARSE_API IfcZone : public IfcSystem { public: - IfcZone() {} - explicit IfcZone (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -40964,7 +39865,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); + IfcZone initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName); }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -41006,8 +39907,7 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IFC_PARSE_API IfcActionRequest : public IfcControl { public: - IfcActionRequest() {} - explicit IfcActionRequest (const std::weak_ptr& data) : IfcControl(data) {} + using IfcControl::IfcControl; /// Identifies the predefined type of sources through which a request can be made. /// @@ -41030,7 +39930,7 @@ public: void setLongDescription(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); + IfcActionRequest initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, std::optional< std::string > v8_Status, std::optional< std::string > v9_LongDescription); }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: /// @@ -41060,15 +39960,14 @@ public: /// The distribution ports relating to the IfcAirTerminalBoxType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminalBox for standard port definitions. class IFC_PARSE_API IfcAirTerminalBoxType : public IfcFlowControllerType { public: - IfcAirTerminalBoxType() {} - explicit IfcAirTerminalBoxType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// The air terminal box type. ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); + IfcAirTerminalBoxType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: /// @@ -41098,14 +39997,13 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IFC_PARSE_API IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalType() {} - explicit IfcAirTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); + IfcAirTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: /// @@ -41135,59 +40033,54 @@ public: /// The distribution ports relating to the IfcAirToAirHeatRecoveryType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirToAirHeatRecovery for standard port definitions. class IFC_PARSE_API IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: - IfcAirToAirHeatRecoveryType() {} - explicit IfcAirToAirHeatRecoveryType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of air to air heat recovery device. ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); + IfcAirToAirHeatRecoveryType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignmentCant : public IfcLinearElement { public: - IfcAlignmentCant() {} - explicit IfcAlignmentCant (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; double RailHeadDistance() const; void setRailHeadDistance(const double& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); + IfcAlignmentCant initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, double v8_RailHeadDistance); }; class IFC_PARSE_API IfcAlignmentHorizontal : public IfcLinearElement { public: - IfcAlignmentHorizontal() {} - explicit IfcAlignmentHorizontal (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcAlignmentHorizontal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcAlignmentSegment : public IfcLinearElement { public: - IfcAlignmentSegment() {} - explicit IfcAlignmentSegment (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; ::Ifc4x3_tc1::IfcAlignmentParameterSegment DesignParameters() const; void setDesignParameters(const ::Ifc4x3_tc1::IfcAlignmentParameterSegment& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcAlignmentParameterSegment v8_DesignParameters); + IfcAlignmentSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcAlignmentParameterSegment v8_DesignParameters); }; class IFC_PARSE_API IfcAlignmentVertical : public IfcLinearElement { public: - IfcAlignmentVertical() {} - explicit IfcAlignmentVertical (const std::weak_ptr& data) : IfcLinearElement(data) {} + using IfcLinearElement::IfcLinearElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcAlignmentVertical initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -41215,8 +40108,7 @@ public: /// IfcElement: Physical elements that comprise the asset. class IFC_PARSE_API IfcAsset : public IfcGroup { public: - IfcAsset() {} - explicit IfcAsset (const std::weak_ptr& data) : IfcGroup(data) {} + using IfcGroup::IfcGroup; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. @@ -41252,7 +40144,7 @@ public: void setDepreciatedValue(const ::Ifc4x3_tc1::IfcCostValue& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_tc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_tc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_tc1::IfcActorSelect v10_Owner, ::Ifc4x3_tc1::IfcActorSelect v11_User, ::Ifc4x3_tc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_tc1::IfcCostValue v14_DepreciatedValue); + IfcAsset initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, ::Ifc4x3_tc1::IfcCostValue v7_OriginalValue, ::Ifc4x3_tc1::IfcCostValue v8_CurrentValue, ::Ifc4x3_tc1::IfcCostValue v9_TotalReplacementCost, ::Ifc4x3_tc1::IfcActorSelect v10_Owner, ::Ifc4x3_tc1::IfcActorSelect v11_User, ::Ifc4x3_tc1::IfcPerson v12_ResponsiblePerson, std::optional< std::string > v13_IncorporationDate, ::Ifc4x3_tc1::IfcCostValue v14_DepreciatedValue); }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: /// @@ -41298,15 +40190,14 @@ public: /// The distribution ports relating to the IfcAudioVisualApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAudioVisualAppliance for standard port definitions. class IFC_PARSE_API IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: - IfcAudioVisualApplianceType() {} - explicit IfcAudioVisualApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of audio-visual appliance from which the type required may be set. ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); + IfcAudioVisualApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -41359,8 +40250,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IFC_PARSE_API IfcBSplineCurve : public IfcBoundedCurve { public: - IfcBSplineCurve() {} - explicit IfcBSplineCurve (const std::weak_ptr& data) : IfcBoundedCurve(data) {} + using IfcBoundedCurve::IfcBoundedCurve; /// The algebraic degree of the basis functions. int Degree() const; @@ -41379,7 +40269,7 @@ public: void setSelfIntersect(const boost::logic::tribool& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); + IfcBSplineCurve initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect); }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -41400,8 +40290,7 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: - IfcBSplineCurveWithKnots() {} - explicit IfcBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurve(data) {} + using IfcBSplineCurve::IfcBSplineCurve; /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; @@ -41414,7 +40303,7 @@ public: void setKnotSpec(const ::Ifc4x3_tc1::IfcKnotType::Value& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec); + IfcBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec); }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -41516,27 +40405,25 @@ public: /// IfcBeamStandardCase class IFC_PARSE_API IfcBeamType : public IfcBuiltElementType { public: - IfcBeamType() {} - explicit IfcBeamType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Identifies the predefined types of a beam element from which the type required may be set. ::Ifc4x3_tc1::IfcBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBeamTypeEnum::Value v10_PredefinedType); + IfcBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBeamTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcBearingType : public IfcBuiltElementType { public: - IfcBearingType() {} - explicit IfcBearingType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; ::Ifc4x3_tc1::IfcBearingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcBearingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBearingTypeEnum::Value v10_PredefinedType); + IfcBearingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBearingTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -41569,15 +40456,14 @@ public: /// The distribution ports relating to the IfcBoilerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBoiler for standard port definitions. class IFC_PARSE_API IfcBoilerType : public IfcEnergyConversionDeviceType { public: - IfcBoilerType() {} - explicit IfcBoilerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines types of boilers. ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v10_PredefinedType); + IfcBoilerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -41588,36 +40474,33 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcBoundaryCurve : public IfcCompositeCurveOnSurface { public: - IfcBoundaryCurve() {} - explicit IfcBoundaryCurve (const std::weak_ptr& data) : IfcCompositeCurveOnSurface(data) {} + using IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcBoundaryCurve initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; class IFC_PARSE_API IfcBridge : public IfcFacility { public: - IfcBridge() {} - explicit IfcBridge (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v10_PredefinedType); + IfcBridge initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v10_PredefinedType); }; class IFC_PARSE_API IfcBridgePart : public IfcFacilityPart { public: - IfcBridgePart() {} - explicit IfcBridgePart (const std::weak_ptr& data) : IfcFacilityPart(data) {} + using IfcFacilityPart::IfcFacilityPart; std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v11_PredefinedType); + IfcBridgePart initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, std::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v11_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -41795,8 +40678,7 @@ public: /// constituting elements. class IFC_PARSE_API IfcBuilding : public IfcFacility { public: - IfcBuilding() {} - explicit IfcBuilding (const std::weak_ptr& data) : IfcFacility(data) {} + using IfcFacility::IfcFacility; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. std::optional< double > ElevationOfRefHeight() const; @@ -41809,7 +40691,7 @@ public: void setBuildingAddress(const ::Ifc4x3_tc1::IfcPostalAddress& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_tc1::IfcPostalAddress v12_BuildingAddress); + IfcBuilding initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, std::optional< double > v10_ElevationOfRefHeight, std::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_tc1::IfcPostalAddress v12_BuildingAddress); }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -41830,15 +40712,14 @@ public: /// attribute PredefinedType added. class IFC_PARSE_API IfcBuildingElementPart : public IfcElementComponent { public: - IfcBuildingElementPart() {} - explicit IfcBuildingElementPart (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of building element part std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementPart initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -41846,15 +40727,14 @@ public: /// HISTORY New entity in IFC Release 2x4 class IFC_PARSE_API IfcBuildingElementPartType : public IfcElementComponentType { public: - IfcBuildingElementPartType() {} - explicit IfcBuildingElementPartType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of building element part ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); + IfcBuildingElementPartType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: /// TheIfcBuildingElementProxyType defines a list of @@ -41892,15 +40772,14 @@ public: /// Release IFC2x Edition 3. class IFC_PARSE_API IfcBuildingElementProxyType : public IfcBuiltElementType { public: - IfcBuildingElementProxyType() {} - explicit IfcBuildingElementProxyType (const std::weak_ptr& data) : IfcBuiltElementType(data) {} + using IfcBuiltElementType::IfcBuiltElementType; /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); + IfcBuildingElementProxyType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -41940,8 +40819,7 @@ public: /// set for building system occurrences class IFC_PARSE_API IfcBuildingSystem : public IfcSystem { public: - IfcBuildingSystem() {} - explicit IfcBuildingSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Predefined types of distribution systems. std::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > PredefinedType() const; @@ -41950,23 +40828,21 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuildingSystem initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; class IFC_PARSE_API IfcBuiltElement : public IfcElement { public: - IfcBuiltElement() {} - explicit IfcBuiltElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBuiltElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcBuiltSystem : public IfcSystem { public: - IfcBuiltSystem() {} - explicit IfcBuiltSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value >& v); @@ -41974,7 +40850,7 @@ public: void setLongName(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); + IfcBuiltSystem initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, std::optional< std::string > v7_LongName); }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: /// @@ -42005,14 +40881,13 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IFC_PARSE_API IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerType() {} - explicit IfcBurnerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v10_PredefinedType); + IfcBurnerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -42042,15 +40917,14 @@ public: /// The distribution ports relating to the IfcCableCarrierFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierFitting for standard port definitions. class IFC_PARSE_API IfcCableCarrierFittingType : public IfcFlowFittingType { public: - IfcCableCarrierFittingType() {} - explicit IfcCableCarrierFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); + IfcCableCarrierFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: /// @@ -42086,15 +40960,14 @@ public: /// The distribution ports relating to the IfcCableCarrierSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableCarrierSegment for standard port definitions. class IFC_PARSE_API IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: - IfcCableCarrierSegmentType() {} - explicit IfcCableCarrierSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable carrier segment from which the type required may be set. ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); + IfcCableCarrierSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: /// @@ -42126,15 +40999,14 @@ public: /// The distribution ports relating to the IfcCableFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableFitting for standard port definitions. class IFC_PARSE_API IfcCableFittingType : public IfcFlowFittingType { public: - IfcCableFittingType() {} - explicit IfcCableFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// Identifies the predefined types of cable fitting from which the type required may be set. ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v10_PredefinedType); + IfcCableFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -42179,27 +41051,25 @@ public: /// The distribution ports relating to the IfcCableSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCableSegment for standard port definitions. class IFC_PARSE_API IfcCableSegmentType : public IfcFlowSegmentType { public: - IfcCableSegmentType() {} - explicit IfcCableSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// Identifies the predefined types of cable segment from which the type required may be set. ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); + IfcCableSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundationType : public IfcDeepFoundationType { public: - IfcCaissonFoundationType() {} - explicit IfcCaissonFoundationType (const std::weak_ptr& data) : IfcDeepFoundationType(data) {} + using IfcDeepFoundationType::IfcDeepFoundationType; ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); + IfcCaissonFoundationType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: /// @@ -42235,15 +41105,14 @@ public: /// The distribution ports relating to the IfcChillerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcChiller for standard port definitions. class IFC_PARSE_API IfcChillerType : public IfcEnergyConversionDeviceType { public: - IfcChillerType() {} - explicit IfcChillerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). ::Ifc4x3_tc1::IfcChillerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcChillerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChillerTypeEnum::Value v10_PredefinedType); + IfcChillerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChillerTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -42288,8 +41157,7 @@ public: /// for all chimney occurrences. class IFC_PARSE_API IfcChimney : public IfcBuiltElement { public: - IfcChimney() {} - explicit IfcChimney (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. @@ -42297,7 +41165,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v9_PredefinedType); + IfcChimney initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -42328,25 +41196,23 @@ public: /// Figure 278 — Circle geometry class IFC_PARSE_API IfcCircle : public IfcConic { public: - IfcCircle() {} - explicit IfcCircle (const std::weak_ptr& data) : IfcConic(data) {} + using IfcConic::IfcConic; /// The radius of the circle, which shall be greater than zero. double Radius() const; void setRadius(const double& v); static const ifcopenshell::entity& Class(); - void initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_Radius); + IfcCircle initialize(::Ifc4x3_tc1::IfcAxis2Placement v1_Position, double v2_Radius); }; class IFC_PARSE_API IfcCivilElement : public IfcElement { public: - IfcCivilElement() {} - explicit IfcCivilElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcCivilElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -42377,15 +41243,14 @@ public: /// The distribution ports relating to the IfcCoilType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoil for standard port definitions. class IFC_PARSE_API IfcCoilType : public IfcEnergyConversionDeviceType { public: - IfcCoilType() {} - explicit IfcCoilType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines typical types of coils (e.g., Cooling, Heating, etc.) ::Ifc4x3_tc1::IfcCoilTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCoilTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoilTypeEnum::Value v10_PredefinedType); + IfcCoilType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoilTypeEnum::Value v10_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -42660,8 +41525,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcColumn : public IfcBuiltElement { public: - IfcColumn() {} - explicit IfcColumn (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. @@ -42671,7 +41535,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v9_PredefinedType); + IfcColumn initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: /// @@ -42707,15 +41571,14 @@ public: /// The distribution ports relating to the IfcCommunicationsApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCommunicationsAppliance for standard port definitions. class IFC_PARSE_API IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: - IfcCommunicationsApplianceType() {} - explicit IfcCommunicationsApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of communications appliance from which the type required may be set. ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); + IfcCommunicationsApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: /// @@ -42746,15 +41609,14 @@ public: /// The distribution ports relating to the IfcCompressorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCompressor for standard port definitions. class IFC_PARSE_API IfcCompressorType : public IfcFlowMovingDeviceType { public: - IfcCompressorType() {} - explicit IfcCompressorType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v10_PredefinedType); + IfcCompressorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: /// @@ -42785,15 +41647,14 @@ public: /// The distribution ports relating to the IfcCondenserType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCondenser for standard port definitions. class IFC_PARSE_API IfcCondenserType : public IfcEnergyConversionDeviceType { public: - IfcCondenserType() {} - explicit IfcCondenserType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of condenser. ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v10_PredefinedType); + IfcCondenserType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v10_PredefinedType); }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -42819,8 +41680,7 @@ public: /// Figure 183 — Construction equipment resource assignment class IFC_PARSE_API IfcConstructionEquipmentResource : public IfcConstructionResource { public: - IfcConstructionEquipmentResource() {} - explicit IfcConstructionEquipmentResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction equipment resources. /// IFC2x4 New attribute @@ -42828,7 +41688,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionEquipmentResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -42858,8 +41718,7 @@ public: /// Figure 184 — Construction material resource assignment class IFC_PARSE_API IfcConstructionMaterialResource : public IfcConstructionResource { public: - IfcConstructionMaterialResource() {} - explicit IfcConstructionMaterialResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction material resources. /// IFC2x4 New attribute @@ -42867,7 +41726,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionMaterialResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType); }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -42886,8 +41745,7 @@ public: /// Figure 185 — Construction product resource assignment class IFC_PARSE_API IfcConstructionProductResource : public IfcConstructionResource { public: - IfcConstructionProductResource() {} - explicit IfcConstructionProductResource (const std::weak_ptr& data) : IfcConstructionResource(data) {} + using IfcConstructionResource::IfcConstructionResource; /// Defines types of construction product resources. /// IFC2x4 New attribute @@ -42895,19 +41753,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); + IfcConstructionProductResource initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_Identification, std::optional< std::string > v7_LongDescription, ::Ifc4x3_tc1::IfcResourceTime v8_Usage, std::optional< std::vector< ::Ifc4x3_tc1::IfcAppliedValue > > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity v10_BaseQuantity, std::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegmentType : public IfcFlowSegmentType { public: - IfcConveyorSegmentType() {} - explicit IfcConveyorSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); + IfcConveyorSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: /// @@ -42940,15 +41797,14 @@ public: /// The distribution ports relating to the IfcCooledBeamType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCooledBeam for standard port definitions. class IFC_PARSE_API IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: - IfcCooledBeamType() {} - explicit IfcCooledBeamType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the type of cooled beam. ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); + IfcCooledBeamType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: /// @@ -42985,27 +41841,25 @@ public: /// The distribution ports relating to the IfcCoolingTowerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcCoolingTower for standard port definitions. class IFC_PARSE_API IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: - IfcCoolingTowerType() {} - explicit IfcCoolingTowerType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); + IfcCoolingTowerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcCourse : public IfcBuiltElement { public: - IfcCourse() {} - explicit IfcCourse (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v9_PredefinedType); + IfcCourse initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -43233,8 +42087,7 @@ public: /// Figure 95 — Covering body circular class IFC_PARSE_API IfcCovering : public IfcBuiltElement { public: - IfcCovering() {} - explicit IfcCovering (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > PredefinedType() const; @@ -43243,7 +42096,7 @@ public: std::vector< IfcRelCoversBldgElements > CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v9_PredefinedType); + IfcCovering initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -43385,8 +42238,7 @@ public: /// components of the curtain wall are defined. class IFC_PARSE_API IfcCurtainWall : public IfcBuiltElement { public: - IfcCurtainWall() {} - explicit IfcCurtainWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. @@ -43396,7 +42248,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); + IfcCurtainWall initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType); }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -43434,25 +42286,23 @@ public: /// The distribution ports relating to the IfcDamperType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDamper for standard port definitions. class IFC_PARSE_API IfcDamperType : public IfcFlowControllerType { public: - IfcDamperType() {} - explicit IfcDamperType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Type of damper. ::Ifc4x3_tc1::IfcDamperTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDamperTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDamperTypeEnum::Value v10_PredefinedType); + IfcDamperType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDamperTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDeepFoundation : public IfcBuiltElement { public: - IfcDeepFoundation() {} - explicit IfcDeepFoundation (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDeepFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -43629,15 +42479,14 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessory : public IfcElementComponent { public: - IfcDiscreteAccessory() {} - explicit IfcDiscreteAccessory (const std::weak_ptr& data) : IfcElementComponent(data) {} + using IfcElementComponent::IfcElementComponent; /// Subtype of discrete accessory std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); + IfcDiscreteAccessory initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -43829,27 +42678,25 @@ public: /// which multiple brackets can be mounted. class IFC_PARSE_API IfcDiscreteAccessoryType : public IfcElementComponentType { public: - IfcDiscreteAccessoryType() {} - explicit IfcDiscreteAccessoryType (const std::weak_ptr& data) : IfcElementComponentType(data) {} + using IfcElementComponentType::IfcElementComponentType; /// Subtype of discrete accessory ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); + IfcDiscreteAccessoryType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoardType : public IfcFlowControllerType { public: - IfcDistributionBoardType() {} - explicit IfcDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: /// @@ -43890,15 +42737,14 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: - IfcDistributionChamberElementType() {} - explicit IfcDistributionChamberElementType (const std::weak_ptr& data) : IfcDistributionFlowElementType(data) {} + using IfcDistributionFlowElementType::IfcDistributionFlowElementType; /// Predefined types of distribution chambers. ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); + IfcDistributionChamberElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType); }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). /// @@ -43956,12 +42802,11 @@ public: /// NOTE: The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem. class IFC_PARSE_API IfcDistributionControlElementType : public IfcDistributionElementType { public: - IfcDistributionControlElementType() {} - explicit IfcDistributionControlElementType (const std::weak_ptr& data) : IfcDistributionElementType(data) {} + using IfcDistributionElementType::IfcDistributionElementType; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); + IfcDistributionControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType); }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -44127,13 +42972,12 @@ public: /// RepresentationType : 'SectionedSpine' class IFC_PARSE_API IfcDistributionElement : public IfcElement { public: - IfcDistributionElement() {} - explicit IfcDistributionElement (const std::weak_ptr& data) : IfcElement(data) {} + using IfcElement::IfcElement; std::vector< IfcRelConnectsPortToElement > HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. /// @@ -44205,13 +43049,12 @@ public: /// Representations are further defined at subtypes; for example, parametric flow segments align material profiles with the 'Axis' representation. class IFC_PARSE_API IfcDistributionFlowElement : public IfcDistributionElement { public: - IfcDistributionFlowElement() {} - explicit IfcDistributionFlowElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionFlowElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -44297,8 +43140,7 @@ public: /// 'Body': The shape of the port. class IFC_PARSE_API IfcDistributionPort : public IfcPort { public: - IfcDistributionPort() {} - explicit IfcDistributionPort (const std::weak_ptr& data) : IfcPort(data) {} + using IfcPort::IfcPort; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. std::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > FlowDirection() const; @@ -44310,7 +43152,7 @@ public: void setSystemType(const std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v10_SystemType); + IfcDistributionPort initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, std::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v10_SystemType); }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. /// @@ -44354,8 +43196,7 @@ public: /// Figure 150 — Distribution system assignment class IFC_PARSE_API IfcDistributionSystem : public IfcSystem { public: - IfcDistributionSystem() {} - explicit IfcDistributionSystem (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// @@ -44367,7 +43208,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionSystem initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -44727,8 +43568,7 @@ public: /// Figure 97 — Door swing class IFC_PARSE_API IfcDoor : public IfcBuiltElement { public: - IfcDoor() {} - explicit IfcDoor (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// @@ -44757,7 +43597,7 @@ public: void setUserDefinedOperationType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); + IfcDoor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, std::optional< std::string > v13_UserDefinedOperationType); }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: /// @@ -44790,15 +43630,14 @@ public: /// The distribution ports relating to the IfcDuctFittingType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctFitting for standard port definitions. class IFC_PARSE_API IfcDuctFittingType : public IfcFlowFittingType { public: - IfcDuctFittingType() {} - explicit IfcDuctFittingType (const std::weak_ptr& data) : IfcFlowFittingType(data) {} + using IfcFlowFittingType::IfcFlowFittingType; /// The type of duct fitting. ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); + IfcDuctFittingType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType); }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: /// @@ -44831,15 +43670,14 @@ public: /// The distribution ports relating to the IfcDuctSegmentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSegment for standard port definitions. class IFC_PARSE_API IfcDuctSegmentType : public IfcFlowSegmentType { public: - IfcDuctSegmentType() {} - explicit IfcDuctSegmentType (const std::weak_ptr& data) : IfcFlowSegmentType(data) {} + using IfcFlowSegmentType::IfcFlowSegmentType; /// The type of duct segment. ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); + IfcDuctSegmentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: /// @@ -44869,49 +43707,45 @@ public: /// The distribution ports relating to the IfcDuctSilencerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcDuctSilencer for standard port definitions. class IFC_PARSE_API IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: - IfcDuctSilencerType() {} - explicit IfcDuctSilencerType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of duct silencer. ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); + IfcDuctSilencerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcEarthworksCut : public IfcFeatureElementSubtraction { public: - IfcEarthworksCut() {} - explicit IfcEarthworksCut (const std::weak_ptr& data) : IfcFeatureElementSubtraction(data) {} + using IfcFeatureElementSubtraction::IfcFeatureElementSubtraction; std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); + IfcEarthworksCut initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcEarthworksElement : public IfcBuiltElement { public: - IfcEarthworksElement() {} - explicit IfcEarthworksElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEarthworksElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcEarthworksFill : public IfcEarthworksElement { public: - IfcEarthworksFill() {} - explicit IfcEarthworksFill (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); + IfcEarthworksFill initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType); }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: /// @@ -44944,15 +43778,14 @@ public: /// The distribution ports relating to the IfcElectricApplianceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricAppliance for standard port definitions. class IFC_PARSE_API IfcElectricApplianceType : public IfcFlowTerminalType { public: - IfcElectricApplianceType() {} - explicit IfcElectricApplianceType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of electrical appliance from which the type required may be set. ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); + IfcElectricApplianceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: /// @@ -44983,15 +43816,14 @@ public: /// The distribution ports relating to the IfcElectricDistributionBoardType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricDistributionBoard for standard port definitions. class IFC_PARSE_API IfcElectricDistributionBoardType : public IfcFlowControllerType { public: - IfcElectricDistributionBoardType() {} - explicit IfcElectricDistributionBoardType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electric distribution type from which the type required may be set. ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); + IfcElectricDistributionBoardType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType); }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -45022,27 +43854,25 @@ public: /// The distribution ports relating to the IfcElectricFlowStorageDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricFlowStorageDevice for standard port definitions. class IFC_PARSE_API IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: - IfcElectricFlowStorageDeviceType() {} - explicit IfcElectricFlowStorageDeviceType (const std::weak_ptr& data) : IfcFlowStorageDeviceType(data) {} + using IfcFlowStorageDeviceType::IfcFlowStorageDeviceType; /// Identifies the predefined types of electric flow storage devices from which the type required may be set. ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowStorageDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDeviceType : public IfcFlowTreatmentDeviceType { public: - IfcElectricFlowTreatmentDeviceType() {} - explicit IfcElectricFlowTreatmentDeviceType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); + IfcElectricFlowTreatmentDeviceType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: /// @@ -45078,15 +43908,14 @@ public: /// The distribution ports relating to the IfcElectricGeneratorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricGenerator for standard port definitions. class IFC_PARSE_API IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: - IfcElectricGeneratorType() {} - explicit IfcElectricGeneratorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric generators from which the type required may be set. ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); + IfcElectricGeneratorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType); }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -45117,15 +43946,14 @@ public: /// The distribution ports relating to the IfcElectricMotorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricMotor for standard port definitions. class IFC_PARSE_API IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: - IfcElectricMotorType() {} - explicit IfcElectricMotorType (const std::weak_ptr& data) : IfcEnergyConversionDeviceType(data) {} + using IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType; /// Identifies the predefined types of electric motor from which the type required may be set. ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); + IfcElectricMotorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType); }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: /// @@ -45156,15 +43984,14 @@ public: /// The distribution ports relating to the IfcElectricTimeControlType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcElectricTimeControl for standard port definitions. class IFC_PARSE_API IfcElectricTimeControlType : public IfcFlowControllerType { public: - IfcElectricTimeControlType() {} - explicit IfcElectricTimeControlType (const std::weak_ptr& data) : IfcFlowControllerType(data) {} + using IfcFlowControllerType::IfcFlowControllerType; /// Identifies the predefined types of electrical time control from which the type required may be set. ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); + IfcElectricTimeControlType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -45177,12 +44004,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcEnergyConversionDevice : public IfcDistributionFlowElement { public: - IfcEnergyConversionDevice() {} - explicit IfcEnergyConversionDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcEnergyConversionDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -45227,14 +44053,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IFC_PARSE_API IfcEngine : public IfcEnergyConversionDevice { public: - IfcEngine() {} - explicit IfcEngine (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v9_PredefinedType); + IfcEngine initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v9_PredefinedType); }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -45282,14 +44107,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - IfcEvaporativeCooler() {} - explicit IfcEvaporativeCooler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); + IfcEvaporativeCooler initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType); }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -45357,14 +44181,13 @@ public: /// Figure 223 — Evaporator port use class IFC_PARSE_API IfcEvaporator : public IfcEnergyConversionDevice { public: - IfcEvaporator() {} - explicit IfcEvaporator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); + IfcEvaporator initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -45383,8 +44206,7 @@ public: /// IFC2x4. class IFC_PARSE_API IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - IfcExternalSpatialElement() {} - explicit IfcExternalSpatialElement (const std::weak_ptr& data) : IfcExternalSpatialStructureElement(data) {} + using IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > PredefinedType() const; @@ -45392,7 +44214,7 @@ public: std::vector< IfcRelSpaceBoundary > BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); + IfcExternalSpatialElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_LongName, std::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType); }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: /// @@ -45424,15 +44246,14 @@ public: /// The distribution ports relating to the IfcFanType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFan for standard port definitions. class IFC_PARSE_API IfcFanType : public IfcFlowMovingDeviceType { public: - IfcFanType() {} - explicit IfcFanType (const std::weak_ptr& data) : IfcFlowMovingDeviceType(data) {} + using IfcFlowMovingDeviceType::IfcFlowMovingDeviceType; /// Defines the type of fan typically used in building services. ::Ifc4x3_tc1::IfcFanTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFanTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFanTypeEnum::Value v10_PredefinedType); + IfcFanType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFanTypeEnum::Value v10_PredefinedType); }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: /// @@ -45465,15 +44286,14 @@ public: /// The distribution ports relating to the IfcFilterType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFilter for standard port definitions. class IFC_PARSE_API IfcFilterType : public IfcFlowTreatmentDeviceType { public: - IfcFilterType() {} - explicit IfcFilterType (const std::weak_ptr& data) : IfcFlowTreatmentDeviceType(data) {} + using IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType; /// The type of air filter. ::Ifc4x3_tc1::IfcFilterTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFilterTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFilterTypeEnum::Value v10_PredefinedType); + IfcFilterType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFilterTypeEnum::Value v10_PredefinedType); }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: /// @@ -45510,15 +44330,14 @@ public: /// The distribution ports relating to the IfcFireSuppressionTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFireSuppressionTerminal for standard port definitions. class IFC_PARSE_API IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: - IfcFireSuppressionTerminalType() {} - explicit IfcFireSuppressionTerminalType (const std::weak_ptr& data) : IfcFlowTerminalType(data) {} + using IfcFlowTerminalType::IfcFlowTerminalType; /// Identifies the predefined types of fire suppression terminal from which the type required may be set. ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); + IfcFireSuppressionTerminalType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType); }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -45531,12 +44350,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowController : public IfcDistributionFlowElement { public: - IfcFlowController() {} - explicit IfcFlowController (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowController initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. /// @@ -45545,12 +44363,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowFitting : public IfcDistributionFlowElement { public: - IfcFlowFitting() {} - explicit IfcFlowFitting (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowFitting initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: /// @@ -45584,15 +44401,14 @@ public: /// The distribution ports relating to the IfcFlowInstrumentType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcFlowInstrument for standard port definitions. class IFC_PARSE_API IfcFlowInstrumentType : public IfcDistributionControlElementType { public: - IfcFlowInstrumentType() {} - explicit IfcFlowInstrumentType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of flow instrument from which the type required may be set. ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); + IfcFlowInstrumentType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType); }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -45676,14 +44492,13 @@ public: /// Figure 226 — Flow meter port use class IFC_PARSE_API IfcFlowMeter : public IfcFlowController { public: - IfcFlowMeter() {} - explicit IfcFlowMeter (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); + IfcFlowMeter initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType); }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -45692,12 +44507,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowMovingDevice : public IfcDistributionFlowElement { public: - IfcFlowMovingDevice() {} - explicit IfcFlowMovingDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowMovingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -45724,12 +44538,11 @@ public: /// Standard representations are defined at the supertype IfcDistrubutionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis. class IFC_PARSE_API IfcFlowSegment : public IfcDistributionFlowElement { public: - IfcFlowSegment() {} - explicit IfcFlowSegment (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -45742,12 +44555,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowStorageDevice : public IfcDistributionFlowElement { public: - IfcFlowStorageDevice() {} - explicit IfcFlowStorageDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -45762,12 +44574,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTerminal : public IfcDistributionFlowElement { public: - IfcFlowTerminal() {} - explicit IfcFlowTerminal (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. /// @@ -45776,12 +44587,11 @@ public: /// IFC 2x4 NOTE: This entity has been deprecated for instantiation and will become ABSTRACT in a future release; new subtypes should now be used instead. class IFC_PARSE_API IfcFlowTreatmentDevice : public IfcDistributionFlowElement { public: - IfcFlowTreatmentDevice() {} - explicit IfcFlowTreatmentDevice (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. /// @@ -45807,8 +44617,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IFC_PARSE_API IfcFooting : public IfcBuiltElement { public: - IfcFooting() {} - explicit IfcFooting (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// The generic type of the footing. /// @@ -45817,17 +44626,16 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v9_PredefinedType); + IfcFooting initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeotechnicalAssembly : public IfcGeotechnicalElement { public: - IfcGeotechnicalAssembly() {} - explicit IfcGeotechnicalAssembly (const std::weak_ptr& data) : IfcGeotechnicalElement(data) {} + using IfcGeotechnicalElement::IfcGeotechnicalElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeotechnicalAssembly initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -45927,8 +44735,7 @@ public: /// Figure 33 — Grid representation class IFC_PARSE_API IfcGrid : public IfcPositioningElement { public: - IfcGrid() {} - explicit IfcGrid (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; /// List of grid axes defining the first row of grid lines. std::vector< ::Ifc4x3_tc1::IfcGridAxis > UAxes() const; @@ -45943,7 +44750,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_tc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v11_PredefinedType); + IfcGrid initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v8_UAxes, std::vector< ::Ifc4x3_tc1::IfcGridAxis > v9_VAxes, std::optional< std::vector< ::Ifc4x3_tc1::IfcGridAxis > > v10_WAxes, std::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v11_PredefinedType); }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -45997,14 +44804,13 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IFC_PARSE_API IfcHeatExchanger : public IfcEnergyConversionDevice { public: - IfcHeatExchanger() {} - explicit IfcHeatExchanger (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); + IfcHeatExchanger initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType); }; /// A humidifier is a device that adds moisture into the air. /// @@ -46051,14 +44857,13 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IFC_PARSE_API IfcHumidifier : public IfcEnergyConversionDevice { public: - IfcHumidifier() {} - explicit IfcHumidifier (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); + IfcHumidifier initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType); }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. /// @@ -46119,14 +44924,13 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IFC_PARSE_API IfcInterceptor : public IfcFlowTreatmentDevice { public: - IfcInterceptor() {} - explicit IfcInterceptor (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); + IfcInterceptor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType); }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -46196,26 +45000,24 @@ public: /// Figure 201 — Junction box port use class IFC_PARSE_API IfcJunctionBox : public IfcFlowFitting { public: - IfcJunctionBox() {} - explicit IfcJunctionBox (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); + IfcJunctionBox initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcKerb : public IfcBuiltElement { public: - IfcKerb() {} - explicit IfcKerb (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v9_PredefinedType); + IfcKerb initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v9_PredefinedType); }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -46266,14 +45068,13 @@ public: /// Figure 203 — Lamp port use class IFC_PARSE_API IfcLamp : public IfcFlowTerminal { public: - IfcLamp() {} - explicit IfcLamp (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v9_PredefinedType); + IfcLamp initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v9_PredefinedType); }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. /// @@ -46343,36 +45144,33 @@ public: /// Figure 205 — Light fixture port use class IFC_PARSE_API IfcLightFixture : public IfcFlowTerminal { public: - IfcLightFixture() {} - explicit IfcLightFixture (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); + IfcLightFixture initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcLinearPositioningElement : public IfcPositioningElement { public: - IfcLinearPositioningElement() {} - explicit IfcLinearPositioningElement (const std::weak_ptr& data) : IfcPositioningElement(data) {} + using IfcPositioningElement::IfcPositioningElement; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); + IfcLinearPositioningElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation); }; class IFC_PARSE_API IfcLiquidTerminal : public IfcFlowTerminal { public: - IfcLiquidTerminal() {} - explicit IfcLiquidTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); + IfcLiquidTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType); }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -46420,14 +45218,13 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IFC_PARSE_API IfcMedicalDevice : public IfcFlowTerminal { public: - IfcMedicalDevice() {} - explicit IfcMedicalDevice (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); + IfcMedicalDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType); }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -46681,8 +45478,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcMember : public IfcBuiltElement { public: - IfcMember() {} - explicit IfcMember (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. @@ -46692,31 +45488,29 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v9_PredefinedType); + IfcMember initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMobileTelecommunicationsAppliance : public IfcFlowTerminal { public: - IfcMobileTelecommunicationsAppliance() {} - explicit IfcMobileTelecommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcMobileTelecommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcMooringDevice : public IfcBuiltElement { public: - IfcMooringDevice() {} - explicit IfcMooringDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); + IfcMooringDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType); }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -46761,26 +45555,24 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IFC_PARSE_API IfcMotorConnection : public IfcEnergyConversionDevice { public: - IfcMotorConnection() {} - explicit IfcMotorConnection (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); + IfcMotorConnection initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcNavigationElement : public IfcBuiltElement { public: - IfcNavigationElement() {} - explicit IfcNavigationElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); + IfcNavigationElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO/CD 10303-42:1992 This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. /// @@ -46789,12 +45581,11 @@ public: /// HISTORY New entity in IFC2x4. class IFC_PARSE_API IfcOuterBoundaryCurve : public IfcBoundaryCurve { public: - IfcOuterBoundaryCurve() {} - explicit IfcOuterBoundaryCurve (const std::weak_ptr& data) : IfcBoundaryCurve(data) {} + using IfcBoundaryCurve::IfcBoundaryCurve; static const ifcopenshell::entity& Class(); - void initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); + IfcOuterBoundaryCurve initialize(std::vector< ::Ifc4x3_tc1::IfcSegment > v1_Segments, boost::logic::tribool v2_SelfIntersect); }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -46864,26 +45655,24 @@ public: /// Figure 207 — Outlet port use class IFC_PARSE_API IfcOutlet : public IfcFlowTerminal { public: - IfcOutlet() {} - explicit IfcOutlet (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v9_PredefinedType); + IfcOutlet initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcPavement : public IfcBuiltElement { public: - IfcPavement() {} - explicit IfcPavement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v9_PredefinedType); + IfcPavement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v9_PredefinedType); }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. /// @@ -46905,8 +45694,7 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IFC_PARSE_API IfcPile : public IfcDeepFoundation { public: - IfcPile() {} - explicit IfcPile (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; /// The predefined generic type of the pile according to function. /// @@ -46920,7 +45708,7 @@ public: void setConstructionType(const std::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v10_ConstructionType); + IfcPile initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v9_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v10_ConstructionType); }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. /// @@ -47009,14 +45797,13 @@ public: /// Figure 227 — Pipe fitting port use class IFC_PARSE_API IfcPipeFitting : public IfcFlowFitting { public: - IfcPipeFitting() {} - explicit IfcPipeFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); + IfcPipeFitting initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType); }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -47080,14 +45867,13 @@ public: /// Figure 228 — Pipe segment port use class IFC_PARSE_API IfcPipeSegment : public IfcFlowSegment { public: - IfcPipeSegment() {} - explicit IfcPipeSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); + IfcPipeSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -47319,8 +46105,7 @@ public: /// IfcRepresentationMap. class IFC_PARSE_API IfcPlate : public IfcBuiltElement { public: - IfcPlate() {} - explicit IfcPlate (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. @@ -47330,7 +46115,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v9_PredefinedType); + IfcPlate initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v9_PredefinedType); }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -47410,14 +46195,13 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IFC_PARSE_API IfcProtectiveDevice : public IfcFlowController { public: - IfcProtectiveDevice() {} - explicit IfcProtectiveDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: /// @@ -47461,15 +46245,14 @@ public: /// The distribution ports relating to the IfcProtectiveDeviceTrippingUnitType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcProtectiveDeviceTrippingUnit for standard port definitions. class IFC_PARSE_API IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: - IfcProtectiveDeviceTrippingUnitType() {} - explicit IfcProtectiveDeviceTrippingUnitType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType); }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. /// @@ -47522,26 +46305,24 @@ public: /// Figure 229 — Pump port use class IFC_PARSE_API IfcPump : public IfcFlowMovingDevice { public: - IfcPump() {} - explicit IfcPump (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v9_PredefinedType); + IfcPump initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcRail : public IfcBuiltElement { public: - IfcRail() {} - explicit IfcRail (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v9_PredefinedType); + IfcRail initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v9_PredefinedType); }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -47677,8 +46458,7 @@ public: /// 'MappedRepresentation' class IFC_PARSE_API IfcRailing : public IfcBuiltElement { public: - IfcRailing() {} - explicit IfcRailing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. @@ -47687,7 +46467,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v9_PredefinedType); + IfcRailing initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -47824,8 +46604,7 @@ public: /// Figure 111 — Ramp placement class IFC_PARSE_API IfcRamp : public IfcBuiltElement { public: - IfcRamp() {} - explicit IfcRamp (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a ramp that are specified in an enumeration. /// @@ -47836,7 +46615,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v9_PredefinedType); + IfcRamp initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v9_PredefinedType); }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -48028,8 +46807,7 @@ public: /// Figure 114 — Ramp flight body class IFC_PARSE_API IfcRampFlight : public IfcBuiltElement { public: - IfcRampFlight() {} - explicit IfcRampFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. @@ -48039,7 +46817,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); + IfcRampFlight initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType); }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -48079,27 +46857,25 @@ public: /// HISTORY  New entity in IFC2x4. class IFC_PARSE_API IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: - IfcRationalBSplineCurveWithKnots() {} - explicit IfcRationalBSplineCurveWithKnots (const std::weak_ptr& data) : IfcBSplineCurveWithKnots(data) {} + using IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots; /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(const std::vector< double > /*[2:?]*/& v); static const ifcopenshell::entity& Class(); - void initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots initialize(int v1_Degree, std::vector< ::Ifc4x3_tc1::IfcCartesianPoint > v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, ::Ifc4x3_tc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); }; class IFC_PARSE_API IfcReinforcedSoil : public IfcEarthworksElement { public: - IfcReinforcedSoil() {} - explicit IfcReinforcedSoil (const std::weak_ptr& data) : IfcEarthworksElement(data) {} + using IfcEarthworksElement::IfcEarthworksElement; std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); + IfcReinforcedSoil initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -48131,8 +46907,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBar : public IfcReinforcingElement { public: - IfcReinforcingBar() {} - explicit IfcReinforcingBar (const std::weak_ptr& data) : IfcReinforcingElement(data) {} + using IfcReinforcingElement::IfcReinforcingElement; std::optional< double > NominalDiameter() const; void setNominalDiameter(const std::optional< double >& v); @@ -48147,7 +46922,7 @@ public: void setBarSurface(const std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); + IfcReinforcingBar initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< std::string > v9_SteelGrade, std::optional< double > v10_NominalDiameter, std::optional< double > v11_CrossSectionArea, std::optional< double > v12_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface); }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -48167,8 +46942,7 @@ public: /// Simplified geometric representations may be used based on local agreements. class IFC_PARSE_API IfcReinforcingBarType : public IfcReinforcingElementType { public: - IfcReinforcingBarType() {} - explicit IfcReinforcingBarType (const std::weak_ptr& data) : IfcReinforcingElementType(data) {} + using IfcReinforcingElementType::IfcReinforcingElementType; /// The predefined type is always BAR. ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value PredefinedType() const; @@ -48191,7 +46965,7 @@ public: void setBendingParameters(const std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v16_BendingParameters); + IfcReinforcingBarType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, std::optional< double > v11_NominalDiameter, std::optional< double > v12_CrossSectionArea, std::optional< double > v13_BarLength, std::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, std::optional< std::string > v15_BendingShapeCode, std::optional< std::vector< ::Ifc4x3_tc1::IfcBendingParameterSelect > > v16_BendingParameters); }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -48340,8 +47114,7 @@ public: /// Figure 119 — Roof placement class IFC_PARSE_API IfcRoof : public IfcBuiltElement { public: - IfcRoof() {} - explicit IfcRoof (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a roof that are specified in an enumeration. /// @@ -48350,7 +47123,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v9_PredefinedType); + IfcRoof initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v9_PredefinedType); }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. /// @@ -48480,14 +47253,13 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IFC_PARSE_API IfcSanitaryTerminal : public IfcFlowTerminal { public: - IfcSanitaryTerminal() {} - explicit IfcSanitaryTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); + IfcSanitaryTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: /// @@ -48539,15 +47311,14 @@ public: /// The distribution ports relating to the IfcSensorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSensor for standard port definitions. class IFC_PARSE_API IfcSensorType : public IfcDistributionControlElementType { public: - IfcSensorType() {} - explicit IfcSensorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of sensor from which the type required may be set. ::Ifc4x3_tc1::IfcSensorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcSensorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSensorTypeEnum::Value v10_PredefinedType); + IfcSensorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSensorTypeEnum::Value v10_PredefinedType); }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -48565,8 +47336,7 @@ public: /// IFC2x4 class IFC_PARSE_API IfcShadingDevice : public IfcBuiltElement { public: - IfcShadingDevice() {} - explicit IfcShadingDevice (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. @@ -48574,19 +47344,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); + IfcShadingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcSignal : public IfcFlowTerminal { public: - IfcSignal() {} - explicit IfcSignal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v9_PredefinedType); + IfcSignal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v9_PredefinedType); }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -48850,8 +47619,7 @@ public: /// Figure 121 — Slab body clipping class IFC_PARSE_API IfcSlab : public IfcBuiltElement { public: - IfcSlab() {} - explicit IfcSlab (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. @@ -48861,7 +47629,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v9_PredefinedType); + IfcSlab initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v9_PredefinedType); }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -48912,14 +47680,13 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IFC_PARSE_API IfcSolarDevice : public IfcEnergyConversionDevice { public: - IfcSolarDevice() {} - explicit IfcSolarDevice (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); + IfcSolarDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType); }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -48985,14 +47752,13 @@ public: /// Figure 230 — Space heater port use class IFC_PARSE_API IfcSpaceHeater : public IfcFlowTerminal { public: - IfcSpaceHeater() {} - explicit IfcSpaceHeater (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); + IfcSpaceHeater initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType); }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). /// @@ -49046,14 +47812,13 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IFC_PARSE_API IfcStackTerminal : public IfcFlowTerminal { public: - IfcStackTerminal() {} - explicit IfcStackTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); + IfcStackTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -49222,8 +47987,7 @@ public: /// Figure 128 — Stair placement class IFC_PARSE_API IfcStair : public IfcBuiltElement { public: - IfcStair() {} - explicit IfcStair (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined shape types for a stair that are specified in an enumeration. /// @@ -49232,7 +47996,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v9_PredefinedType); + IfcStair initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v9_PredefinedType); }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -49403,8 +48167,7 @@ public: /// Figure 131 — Stair flight body class IFC_PARSE_API IfcStairFlight : public IfcBuiltElement { public: - IfcStairFlight() {} - explicit IfcStairFlight (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< int > NumberOfRisers() const; void setNumberOfRisers(const std::optional< int >& v); @@ -49431,7 +48194,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); + IfcStairFlight initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< int > v9_NumberOfRisers, std::optional< int > v10_NumberOfTreads, std::optional< double > v11_RiserHeight, std::optional< double > v12_TreadLength, std::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType); }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. /// @@ -49458,8 +48221,7 @@ public: /// NOTE  A structural item may be grouped into more than one analysis model. In this case, all these models must use the same instance of IfcObjectPlacement. class IFC_PARSE_API IfcStructuralAnalysisModel : public IfcSystem { public: - IfcStructuralAnalysisModel() {} - explicit IfcStructuralAnalysisModel (const std::weak_ptr& data) : IfcSystem(data) {} + using IfcSystem::IfcSystem; /// Defines the type of the structural analysis model. ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value PredefinedType() const; @@ -49491,15 +48253,14 @@ public: void setSharedPlacement(const ::Ifc4x3_tc1::IfcObjectPlacement& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_tc1::IfcObjectPlacement v10_SharedPlacement); + IfcStructuralAnalysisModel initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcAxis2Placement3D v7_OrientationOf2DPlane, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralLoadGroup > > v8_LoadedBy, std::optional< std::vector< ::Ifc4x3_tc1::IfcStructuralResultGroup > > v9_HasResults, ::Ifc4x3_tc1::IfcObjectPlacement v10_SharedPlacement); }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// /// HISTORY: New entity in IFC 2x4. class IFC_PARSE_API IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - IfcStructuralLoadCase() {} - explicit IfcStructuralLoadCase (const std::weak_ptr& data) : IfcStructuralLoadGroup(data) {} + using IfcStructuralLoadGroup::IfcStructuralLoadGroup; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// @@ -49510,7 +48271,7 @@ public: void setSelfWeightCoefficients(const std::optional< std::vector< double > /*[3:3]*/ >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, std::optional< double > v9_Coefficient, std::optional< std::string > v10_Purpose, std::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -49521,12 +48282,11 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IFC_PARSE_API IfcStructuralPlanarAction : public IfcStructuralSurfaceAction { public: - IfcStructuralPlanarAction() {} - explicit IfcStructuralPlanarAction (const std::weak_ptr& data) : IfcStructuralSurfaceAction(data) {} + using IfcStructuralSurfaceAction::IfcStructuralSurfaceAction; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); + IfcStructuralPlanarAction initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, std::optional< bool > v10_DestabilizingLoad, std::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType); }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -49618,14 +48378,13 @@ public: /// Figure 209 — Switching device port use class IFC_PARSE_API IfcSwitchingDevice : public IfcFlowController { public: - IfcSwitchingDevice() {} - explicit IfcSwitchingDevice (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); + IfcSwitchingDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType); }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -49689,26 +48448,24 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTank : public IfcFlowStorageDevice { public: - IfcTank() {} - explicit IfcTank (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v9_PredefinedType); + IfcTank initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcTrackElement : public IfcBuiltElement { public: - IfcTrackElement() {} - explicit IfcTrackElement (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType); + IfcTrackElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType); }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -49754,14 +48511,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IFC_PARSE_API IfcTransformer : public IfcEnergyConversionDevice { public: - IfcTransformer() {} - explicit IfcTransformer (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v9_PredefinedType); + IfcTransformer initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v9_PredefinedType); }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -49881,8 +48637,7 @@ public: /// RepresentationType : 'MappedRepresentation' class IFC_PARSE_API IfcTransportElement : public IfcTransportationDevice { public: - IfcTransportElement() {} - explicit IfcTransportElement (const std::weak_ptr& data) : IfcTransportationDevice(data) {} + using IfcTransportationDevice::IfcTransportationDevice; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// @@ -49891,7 +48646,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v9_PredefinedType); + IfcTransportElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v9_PredefinedType); }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. /// @@ -49942,14 +48697,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IFC_PARSE_API IfcTubeBundle : public IfcEnergyConversionDevice { public: - IfcTubeBundle() {} - explicit IfcTubeBundle (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); + IfcTubeBundle initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: /// @@ -49979,15 +48733,14 @@ public: /// The distribution ports relating to the IfcUnitaryControlElementType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcUnitaryControlElement for standard port definitions. class IFC_PARSE_API IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: - IfcUnitaryControlElementType() {} - explicit IfcUnitaryControlElementType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of unitary control element from which the type required may be set. ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); + IfcUnitaryControlElementType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType); }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. /// @@ -50063,14 +48816,13 @@ public: /// Figure 232 — Unitary equipment port use class IFC_PARSE_API IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - IfcUnitaryEquipment() {} - explicit IfcUnitaryEquipment (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); + IfcUnitaryEquipment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType); }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -50260,14 +49012,13 @@ public: /// Figure 233 — Valve port use class IFC_PARSE_API IfcValve : public IfcFlowController { public: - IfcValve() {} - explicit IfcValve (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v9_PredefinedType); + IfcValve initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -50513,8 +49264,7 @@ public: /// IfcRelConnectsPathElements. class IFC_PARSE_API IfcWall : public IfcBuiltElement { public: - IfcWall() {} - explicit IfcWall (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. @@ -50524,7 +49274,7 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWall initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -50730,12 +49480,11 @@ public: /// Figure 140 — Wall body clipping curved class IFC_PARSE_API IfcWallStandardCase : public IfcWall { public: - IfcWallStandardCase() {} - explicit IfcWallStandardCase (const std::weak_ptr& data) : IfcWall(data) {} + using IfcWall::IfcWall; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType); + IfcWallStandardCase initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType); }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -50843,14 +49592,13 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IFC_PARSE_API IfcWasteTerminal : public IfcFlowTerminal { public: - IfcWasteTerminal() {} - explicit IfcWasteTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); + IfcWasteTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType); }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -51212,8 +49960,7 @@ public: /// Figure 144 — Window operations class IFC_PARSE_API IfcWindow : public IfcBuiltElement { public: - IfcWindow() {} - explicit IfcWindow (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// @@ -51242,7 +49989,7 @@ public: void setUserDefinedPartitioningType(const std::optional< std::string >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< double > v9_OverallHeight, std::optional< double > v10_OverallWidth, std::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v11_PredefinedType, std::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, std::optional< std::string > v13_UserDefinedPartitioningType); }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: /// @@ -51277,15 +50024,14 @@ public: /// The distribution ports relating to the IfcActuatorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcActuator for standard port definitions. class IFC_PARSE_API IfcActuatorType : public IfcDistributionControlElementType { public: - IfcActuatorType() {} - explicit IfcActuatorType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of actuator from which the type required may be set. ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v10_PredefinedType); + IfcActuatorType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v10_PredefinedType); }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. /// @@ -51346,14 +50092,13 @@ public: /// Figure 211 — Air terminal port use class IFC_PARSE_API IfcAirTerminal : public IfcFlowTerminal { public: - IfcAirTerminal() {} - explicit IfcAirTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); + IfcAirTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType); }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". /// @@ -51399,14 +50144,13 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IFC_PARSE_API IfcAirTerminalBox : public IfcFlowController { public: - IfcAirTerminalBox() {} - explicit IfcAirTerminalBox (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); + IfcAirTerminalBox initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType); }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. /// @@ -51455,14 +50199,13 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IFC_PARSE_API IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - IfcAirToAirHeatRecovery() {} - explicit IfcAirToAirHeatRecovery (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); + IfcAirToAirHeatRecovery initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -51492,27 +50235,25 @@ public: /// The distribution ports relating to the IfcAlarmType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAlarm for standard port definitions. class IFC_PARSE_API IfcAlarmType : public IfcDistributionControlElementType { public: - IfcAlarmType() {} - explicit IfcAlarmType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of alarm from which the type required may be set. ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v10_PredefinedType); + IfcAlarmType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcAlignment : public IfcLinearPositioningElement { public: - IfcAlignment() {} - explicit IfcAlignment (const std::weak_ptr& data) : IfcLinearPositioningElement(data) {} + using IfcLinearPositioningElement::IfcLinearPositioningElement; std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v8_PredefinedType); + IfcAlignment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v8_PredefinedType); }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -51694,14 +50435,13 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IFC_PARSE_API IfcAudioVisualAppliance : public IfcFlowTerminal { public: - IfcAudioVisualAppliance() {} - explicit IfcAudioVisualAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); + IfcAudioVisualAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType); }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -51942,8 +50682,7 @@ public: /// the IfcRepresentationMap. class IFC_PARSE_API IfcBeam : public IfcBuiltElement { public: - IfcBeam() {} - explicit IfcBeam (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. @@ -51953,19 +50692,18 @@ public: void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v9_PredefinedType); + IfcBeam initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBearing : public IfcBuiltElement { public: - IfcBearing() {} - explicit IfcBearing (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v9_PredefinedType); + IfcBearing initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v9_PredefinedType); }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -52038,24 +50776,22 @@ public: /// Figure 213 — Boiler port use class IFC_PARSE_API IfcBoiler : public IfcEnergyConversionDevice { public: - IfcBoiler() {} - explicit IfcBoiler (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v9_PredefinedType); + IfcBoiler initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcBorehole : public IfcGeotechnicalAssembly { public: - IfcBorehole() {} - explicit IfcBorehole (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcBorehole initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -52249,14 +50985,13 @@ public: /// are defined at this level. class IFC_PARSE_API IfcBuildingElementProxy : public IfcBuiltElement { public: - IfcBuildingElementProxy() {} - explicit IfcBuildingElementProxy (const std::weak_ptr& data) : IfcBuiltElement(data) {} + using IfcBuiltElement::IfcBuiltElement; std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); + IfcBuildingElementProxy initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType); }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -52301,14 +51036,13 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IFC_PARSE_API IfcBurner : public IfcEnergyConversionDevice { public: - IfcBurner() {} - explicit IfcBurner (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v9_PredefinedType); + IfcBurner initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -52373,15 +51107,14 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IFC_PARSE_API IfcCableCarrierFitting : public IfcFlowFitting { public: - IfcCableCarrierFitting() {} - explicit IfcCableCarrierFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierFitting initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -52444,15 +51177,14 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IFC_PARSE_API IfcCableCarrierSegment : public IfcFlowSegment { public: - IfcCableCarrierSegment() {} - explicit IfcCableCarrierSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable carrier segment from which the type required may be set. std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableCarrierSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -52530,15 +51262,14 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IFC_PARSE_API IfcCableFitting : public IfcFlowFitting { public: - IfcCableFitting() {} - explicit IfcCableFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; /// Identifies the predefined types of cable fitting from which the type required may be set. std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); + IfcCableFitting initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType); }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -52629,27 +51360,25 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IFC_PARSE_API IfcCableSegment : public IfcFlowSegment { public: - IfcCableSegment() {} - explicit IfcCableSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; /// Identifies the predefined types of cable segment from which the type required may be set. std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); + IfcCableSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcCaissonFoundation : public IfcDeepFoundation { public: - IfcCaissonFoundation() {} - explicit IfcCaissonFoundation (const std::weak_ptr& data) : IfcDeepFoundation(data) {} + using IfcDeepFoundation::IfcDeepFoundation; std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); + IfcCaissonFoundation initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType); }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. /// @@ -52722,14 +51451,13 @@ public: /// Figure 215 — Chiller port use class IFC_PARSE_API IfcChiller : public IfcEnergyConversionDevice { public: - IfcChiller() {} - explicit IfcChiller (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v9_PredefinedType); + IfcChiller initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v9_PredefinedType); }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -52799,14 +51527,13 @@ public: /// Figure 216 — Coil port use class IFC_PARSE_API IfcCoil : public IfcEnergyConversionDevice { public: - IfcCoil() {} - explicit IfcCoil (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v9_PredefinedType); + IfcCoil initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -52912,14 +51639,13 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IFC_PARSE_API IfcCommunicationsAppliance : public IfcFlowTerminal { public: - IfcCommunicationsAppliance() {} - explicit IfcCommunicationsAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); + IfcCommunicationsAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType); }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -52969,14 +51695,13 @@ public: /// Figure 217 — Compressor port use class IFC_PARSE_API IfcCompressor : public IfcFlowMovingDevice { public: - IfcCompressor() {} - explicit IfcCompressor (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v9_PredefinedType); + IfcCompressor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v9_PredefinedType); }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. /// @@ -53046,14 +51771,13 @@ public: /// Figure 218 — Condenser port use class IFC_PARSE_API IfcCondenser : public IfcEnergyConversionDevice { public: - IfcCondenser() {} - explicit IfcCondenser (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v9_PredefinedType); + IfcCondenser initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v9_PredefinedType); }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: /// @@ -53093,27 +51817,25 @@ public: /// The distribution ports relating to the IfcControllerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcController for standard port definitions. class IFC_PARSE_API IfcControllerType : public IfcDistributionControlElementType { public: - IfcControllerType() {} - explicit IfcControllerType (const std::weak_ptr& data) : IfcDistributionControlElementType(data) {} + using IfcDistributionControlElementType::IfcDistributionControlElementType; /// Identifies the predefined types of controller from which the type required may be set. ::Ifc4x3_tc1::IfcControllerTypeEnum::Value PredefinedType() const; void setPredefinedType(const ::Ifc4x3_tc1::IfcControllerTypeEnum::Value& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcControllerTypeEnum::Value v10_PredefinedType); + IfcControllerType initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ApplicableOccurrence, std::optional< std::vector< ::Ifc4x3_tc1::IfcPropertySetDefinition > > v6_HasPropertySets, std::optional< std::vector< ::Ifc4x3_tc1::IfcRepresentationMap > > v7_RepresentationMaps, std::optional< std::string > v8_Tag, std::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcControllerTypeEnum::Value v10_PredefinedType); }; class IFC_PARSE_API IfcConveyorSegment : public IfcFlowSegment { public: - IfcConveyorSegment() {} - explicit IfcConveyorSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); + IfcConveyorSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType); }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. /// @@ -53166,14 +51888,13 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IFC_PARSE_API IfcCooledBeam : public IfcEnergyConversionDevice { public: - IfcCooledBeam() {} - explicit IfcCooledBeam (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); + IfcCooledBeam initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType); }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. /// @@ -53234,14 +51955,13 @@ public: /// Figure 219 — Cooling tower port use class IFC_PARSE_API IfcCoolingTower : public IfcEnergyConversionDevice { public: - IfcCoolingTower() {} - explicit IfcCoolingTower (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); + IfcCoolingTower initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType); }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. /// @@ -53316,26 +52036,24 @@ public: /// Figure 220 — Damper port use class IFC_PARSE_API IfcDamper : public IfcFlowController { public: - IfcDamper() {} - explicit IfcDamper (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v9_PredefinedType); + IfcDamper initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionBoard : public IfcFlowController { public: - IfcDistributionBoard() {} - explicit IfcDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -53370,24 +52088,22 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IFC_PARSE_API IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - IfcDistributionChamberElement() {} - explicit IfcDistributionChamberElement (const std::weak_ptr& data) : IfcDistributionFlowElement(data) {} + using IfcDistributionFlowElement::IfcDistributionFlowElement; std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); + IfcDistributionChamberElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcDistributionCircuit : public IfcDistributionSystem { public: - IfcDistributionCircuit() {} - explicit IfcDistributionCircuit (const std::weak_ptr& data) : IfcDistributionSystem(data) {} + using IfcDistributionSystem::IfcDistributionSystem; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); + IfcDistributionCircuit initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, std::optional< std::string > v6_LongName, std::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType); }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. /// @@ -53469,13 +52185,12 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IFC_PARSE_API IfcDistributionControlElement : public IfcDistributionElement { public: - IfcDistributionControlElement() {} - explicit IfcDistributionControlElement (const std::weak_ptr& data) : IfcDistributionElement(data) {} + using IfcDistributionElement::IfcDistributionElement; std::vector< IfcRelFlowControlElements > AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcDistributionControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. /// @@ -53554,14 +52269,13 @@ public: /// Figure 221 — Duct fitting port use class IFC_PARSE_API IfcDuctFitting : public IfcFlowFitting { public: - IfcDuctFitting() {} - explicit IfcDuctFitting (const std::weak_ptr& data) : IfcFlowFitting(data) {} + using IfcFlowFitting::IfcFlowFitting; std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); + IfcDuctFitting initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType); }; /// A duct segment is used to typically join two sections of duct network. /// @@ -53614,14 +52328,13 @@ public: /// Figure 222 — Duct segment port use class IFC_PARSE_API IfcDuctSegment : public IfcFlowSegment { public: - IfcDuctSegment() {} - explicit IfcDuctSegment (const std::weak_ptr& data) : IfcFlowSegment(data) {} + using IfcFlowSegment::IfcFlowSegment; std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); + IfcDuctSegment initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType); }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. /// @@ -53667,14 +52380,13 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IFC_PARSE_API IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - IfcDuctSilencer() {} - explicit IfcDuctSilencer (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); + IfcDuctSilencer initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType); }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53776,14 +52488,13 @@ public: /// Figure 197 — Electric appliance port use class IFC_PARSE_API IfcElectricAppliance : public IfcFlowTerminal { public: - IfcElectricAppliance() {} - explicit IfcElectricAppliance (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); + IfcElectricAppliance initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType); }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -53844,14 +52555,13 @@ public: /// Figure 199 — Electric distribution board port use class IFC_PARSE_API IfcElectricDistributionBoard : public IfcFlowController { public: - IfcElectricDistributionBoard() {} - explicit IfcElectricDistributionBoard (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); + IfcElectricDistributionBoard initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType); }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. /// @@ -53896,26 +52606,24 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IFC_PARSE_API IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - IfcElectricFlowStorageDevice() {} - explicit IfcElectricFlowStorageDevice (const std::weak_ptr& data) : IfcFlowStorageDevice(data) {} + using IfcFlowStorageDevice::IfcFlowStorageDevice; std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowStorageDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcElectricFlowTreatmentDevice : public IfcFlowTreatmentDevice { public: - IfcElectricFlowTreatmentDevice() {} - explicit IfcElectricFlowTreatmentDevice (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); + IfcElectricFlowTreatmentDevice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType); }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -53966,14 +52674,13 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IFC_PARSE_API IfcElectricGenerator : public IfcEnergyConversionDevice { public: - IfcElectricGenerator() {} - explicit IfcElectricGenerator (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); + IfcElectricGenerator initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType); }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -54018,14 +52725,13 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IFC_PARSE_API IfcElectricMotor : public IfcEnergyConversionDevice { public: - IfcElectricMotor() {} - explicit IfcElectricMotor (const std::weak_ptr& data) : IfcEnergyConversionDevice(data) {} + using IfcEnergyConversionDevice::IfcEnergyConversionDevice; std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); + IfcElectricMotor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType); }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -54070,14 +52776,13 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IFC_PARSE_API IfcElectricTimeControl : public IfcFlowController { public: - IfcElectricTimeControl() {} - explicit IfcElectricTimeControl (const std::weak_ptr& data) : IfcFlowController(data) {} + using IfcFlowController::IfcFlowController; std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); + IfcElectricTimeControl initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType); }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. /// @@ -54135,14 +52840,13 @@ public: /// Figure 224 — Fan port use class IFC_PARSE_API IfcFan : public IfcFlowMovingDevice { public: - IfcFan() {} - explicit IfcFan (const std::weak_ptr& data) : IfcFlowMovingDevice(data) {} + using IfcFlowMovingDevice::IfcFlowMovingDevice; std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v9_PredefinedType); + IfcFan initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v9_PredefinedType); }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -54233,14 +52937,13 @@ public: /// Figure 225 — Filter port use class IFC_PARSE_API IfcFilter : public IfcFlowTreatmentDevice { public: - IfcFilter() {} - explicit IfcFilter (const std::weak_ptr& data) : IfcFlowTreatmentDevice(data) {} + using IfcFlowTreatmentDevice::IfcFlowTreatmentDevice; std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v9_PredefinedType); + IfcFilter initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v9_PredefinedType); }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -54310,14 +53013,13 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IFC_PARSE_API IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - IfcFireSuppressionTerminal() {} - explicit IfcFireSuppressionTerminal (const std::weak_ptr& data) : IfcFlowTerminal(data) {} + using IfcFlowTerminal::IfcFlowTerminal; std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); + IfcFireSuppressionTerminal initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType); }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -54373,34 +53075,31 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcFlowInstrument : public IfcDistributionControlElement { public: - IfcFlowInstrument() {} - explicit IfcFlowInstrument (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); + IfcFlowInstrument initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType); }; class IFC_PARSE_API IfcGeomodel : public IfcGeotechnicalAssembly { public: - IfcGeomodel() {} - explicit IfcGeomodel (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeomodel initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; class IFC_PARSE_API IfcGeoslice : public IfcGeotechnicalAssembly { public: - IfcGeoslice() {} - explicit IfcGeoslice (const std::weak_ptr& data) : IfcGeotechnicalAssembly(data) {} + using IfcGeotechnicalAssembly::IfcGeotechnicalAssembly; static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); + IfcGeoslice initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag); }; /// Entity Definition /// @@ -54456,14 +53155,13 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IFC_PARSE_API IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - IfcProtectiveDeviceTrippingUnit() {} - explicit IfcProtectiveDeviceTrippingUnit (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType); }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. /// @@ -54601,14 +53299,13 @@ public: /// Figure 180 — Sensor port use class IFC_PARSE_API IfcSensor : public IfcDistributionControlElement { public: - IfcSensor() {} - explicit IfcSensor (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v9_PredefinedType); + IfcSensor initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v9_PredefinedType); }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -54667,14 +53364,13 @@ public: /// Figure 182 — Unitary control element port use class IFC_PARSE_API IfcUnitaryControlElement : public IfcDistributionControlElement { public: - IfcUnitaryControlElement() {} - explicit IfcUnitaryControlElement (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); + IfcUnitaryControlElement initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType); }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. /// @@ -54740,14 +53436,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcActuator : public IfcDistributionControlElement { public: - IfcActuator() {} - explicit IfcActuator (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v9_PredefinedType); + IfcActuator initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v9_PredefinedType); }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -54793,14 +53488,13 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IFC_PARSE_API IfcAlarm : public IfcDistributionControlElement { public: - IfcAlarm() {} - explicit IfcAlarm (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v9_PredefinedType); + IfcAlarm initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v9_PredefinedType); }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -54910,14 +53604,13 @@ public: /// Figure 178 — Controller port use class IFC_PARSE_API IfcController : public IfcDistributionControlElement { public: - IfcController() {} - explicit IfcController (const std::weak_ptr& data) : IfcDistributionControlElement(data) {} + using IfcDistributionControlElement::IfcDistributionControlElement; std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > PredefinedType() const; void setPredefinedType(const std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value >& v); static const ifcopenshell::entity& Class(); - void initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v9_PredefinedType); + IfcController initialize(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory v2_OwnerHistory, std::optional< std::string > v3_Name, std::optional< std::string > v4_Description, std::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation v7_Representation, std::optional< std::string > v8_Tag, std::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v9_PredefinedType); }; };